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.
- package/README.md +11 -1
- package/dist/setup.js +10 -15
- package/dist/tools/viewport/index.js +652 -7
- package/package.json +1 -1
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/MCPBridgeEditor.Build.cs +6 -1
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPAICommands.cpp +14 -11
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPActorCommands.cpp +2 -2
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPAnimationCommands.cpp +18 -11
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPAudioCommands.cpp +1 -1
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPBlueprintHandlers.cpp +2 -2
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPBlueprintWriteHandlers.cpp +21 -9
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPChaosCommands.cpp +3 -3
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPCollisionPhysicsCommands.cpp +3 -3
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPEditorStateCommands.cpp +1 -0
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPGASCommands.cpp +35 -15
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPImportExportCommands.cpp +13 -8
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPInputHandlers.cpp +14 -7
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPLiveLinkCommands.cpp +6 -6
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPMaterialCommands.cpp +38 -29
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPMotionDesignCommands.cpp +9 -9
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPMovieRenderCommands.cpp +4 -9
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPNetworkingCommands.cpp +4 -4
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPPieCommands.cpp +4 -3
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPSelectionCommands.cpp +1 -1
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPSequencerCommands.cpp +22 -44
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPValidationCommands.cpp +11 -11
- package/unreal-plugin/MCPBridge/Source/MCPBridgeEditor/Private/MCPViewportCommands.cpp +1 -1
- 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
|
|
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
|
|
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
|
-
//
|
|
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
|
-
|
|
123
|
-
|
|
124
|
-
|
|
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}`);
|