ultimate-unreal-engine-mcp 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/README.md +11 -1
  2. package/dist/setup.js +10 -15
  3. package/dist/tools/viewport/index.js +652 -7
  4. package/package.json +1 -1
  5. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/MCPBridgeEditor.Build.cs +6 -1
  6. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPAICommands.cpp +14 -11
  7. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPActorCommands.cpp +2 -2
  8. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPAnimationCommands.cpp +18 -11
  9. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPAudioCommands.cpp +1 -1
  10. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPBlueprintHandlers.cpp +2 -2
  11. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPBlueprintWriteHandlers.cpp +21 -9
  12. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPChaosCommands.cpp +3 -3
  13. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPCollisionPhysicsCommands.cpp +3 -3
  14. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPEditorStateCommands.cpp +1 -0
  15. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPGASCommands.cpp +35 -15
  16. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPImportExportCommands.cpp +13 -8
  17. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPInputHandlers.cpp +14 -7
  18. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPLiveLinkCommands.cpp +6 -6
  19. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPMaterialCommands.cpp +38 -29
  20. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPMotionDesignCommands.cpp +9 -9
  21. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPMovieRenderCommands.cpp +4 -9
  22. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPNetworkingCommands.cpp +4 -4
  23. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPPieCommands.cpp +4 -3
  24. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPSelectionCommands.cpp +1 -1
  25. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPSequencerCommands.cpp +22 -44
  26. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPValidationCommands.cpp +11 -11
  27. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPViewportCommands.cpp +1 -1
  28. package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPWorldPartitionCommands.cpp +43 -26
package/README.md CHANGED
@@ -36,10 +36,20 @@ npx ultimate-unreal-engine-mcp setup
36
36
  ## Quick Start
37
37
 
38
38
  ```bash
39
+ # Claude Desktop (default)
39
40
  npx ultimate-unreal-engine-mcp setup
41
+
42
+ # Claude Code CLI
43
+ npx ultimate-unreal-engine-mcp setup --client claude-code
44
+
45
+ # Cursor
46
+ npx ultimate-unreal-engine-mcp setup --client cursor
47
+
48
+ # With a UE project (also installs the C++ plugin)
49
+ npx ultimate-unreal-engine-mcp setup --project "C:/MyGame"
40
50
  ```
41
51
 
42
- This command installs the server and writes the correct config block for your MCP client (Claude Desktop, Cursor, or VS Code). The C++ plugin is optional — file system and code generation tools work without it.
52
+ This command writes the correct config for your client. The C++ plugin is optional — file system and code generation tools work without it.
43
53
 
44
54
  ---
45
55
 
package/dist/setup.js CHANGED
@@ -25,7 +25,7 @@ function getConfigPath(client) {
25
25
  }
26
26
  return join(home, 'Library', 'Application Support', 'Claude', 'claude_desktop_config.json');
27
27
  case 'claude-code':
28
- return join(home, '.claude', 'settings.json');
28
+ return join(home, '.claude.json');
29
29
  case 'cursor':
30
30
  if (platform === 'win32') {
31
31
  return join(env['APPDATA'] || join(home, 'AppData', 'Roaming'), 'Cursor', 'User', 'globalStorage', 'cursor.mcp', 'config.json');
@@ -108,7 +108,11 @@ function configureClient(client, port, projectRoot) {
108
108
  command: 'npx',
109
109
  args: ['-y', 'ultimate-unreal-engine-mcp'],
110
110
  };
111
- // Only add env if project root is specified
111
+ // Claude Code requires "type": "stdio" in each entry
112
+ if (client === 'claude-code') {
113
+ serverEntry['type'] = 'stdio';
114
+ }
115
+ // Only add env if project root is specified or port is non-default
112
116
  const envBlock = {};
113
117
  if (projectRoot) {
114
118
  envBlock['UE_PROJECT_ROOT'] = projectRoot;
@@ -119,20 +123,11 @@ function configureClient(client, port, projectRoot) {
119
123
  if (Object.keys(envBlock).length > 0) {
120
124
  serverEntry['env'] = envBlock;
121
125
  }
122
- if (client === 'claude-code') {
123
- // Claude Code uses settings.json with mcpServers at top level
124
- if (!config['mcpServers'] || typeof config['mcpServers'] !== 'object') {
125
- config['mcpServers'] = {};
126
- }
127
- config['mcpServers']['unreal-engine'] = serverEntry;
128
- }
129
- else {
130
- // Claude Desktop and Cursor use the standard format
131
- if (!config['mcpServers'] || typeof config['mcpServers'] !== 'object') {
132
- config['mcpServers'] = {};
133
- }
134
- config['mcpServers']['unreal-engine'] = serverEntry;
126
+ // All clients use mcpServers at top level
127
+ if (!config['mcpServers'] || typeof config['mcpServers'] !== 'object') {
128
+ config['mcpServers'] = {};
135
129
  }
130
+ config['mcpServers']['unreal-engine'] = serverEntry;
136
131
  mkdirSync(dirname(configPath), { recursive: true });
137
132
  writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
138
133
  log(` Configured ${client} at ${configPath}`);