@satelliteoflove/godot-mcp 0.1.6 → 1.1.0

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 CHANGED
@@ -1,34 +1,77 @@
1
1
  # @satelliteoflove/godot-mcp
2
2
 
3
- MCP (Model Context Protocol) server for Godot Engine integration. Enables AI assistants to interact with the Godot editor.
3
+ MCP (Model Context Protocol) server for Godot Engine integration. Enables AI assistants like Claude to interact with the Godot editor in real-time.
4
+
5
+ ## Features
6
+
7
+ - **33 MCP tools** across 8 categories (scene, node, script, editor, project, screenshot, animation, tilemap)
8
+ - **3 MCP resources** for reading scene trees, scripts, and project files
9
+ - Real-time bidirectional communication via WebSocket
10
+ - Debug output and screenshot capture from running games
11
+ - Full TileMapLayer and GridMap editing support
12
+ - Animation query, playback, and editing
4
13
 
5
14
  ## Requirements
6
15
 
7
- - Node.js 18+
8
- - Godot 4.5+
16
+ - Node.js 20+
17
+ - Godot 4.5+ (required for Logger class)
9
18
  - The Godot MCP addon installed in your project
10
19
 
11
20
  ## Installation
12
21
 
22
+ Use directly with npx (recommended):
23
+
13
24
  ```bash
14
- npm install -g @satelliteoflove/godot-mcp
25
+ npx @satelliteoflove/godot-mcp
15
26
  ```
16
27
 
17
- Or use directly with npx:
28
+ Or install globally:
18
29
 
19
30
  ```bash
20
- npx @satelliteoflove/godot-mcp
31
+ npm install -g @satelliteoflove/godot-mcp
21
32
  ```
22
33
 
23
34
  ## Setup
24
35
 
25
- 1. Install the Godot addon from this repository's `godot/addons/godot_mcp` folder into your Godot project
36
+ 1. Copy the Godot addon from `godot/addons/godot_mcp` into your project's `addons` folder
26
37
  2. Enable the addon in Project Settings > Plugins
27
- 3. Configure your MCP client to use this server
38
+ 3. Configure your MCP client (see below)
39
+
40
+ ### Claude Desktop Configuration
41
+
42
+ Add to your config file:
43
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
44
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
45
+
46
+ ```json
47
+ {
48
+ "mcpServers": {
49
+ "godot-mcp": {
50
+ "command": "npx",
51
+ "args": ["-y", "@satelliteoflove/godot-mcp"]
52
+ }
53
+ }
54
+ }
55
+ ```
56
+
57
+ ### Claude Code Configuration
58
+
59
+ Add to your project's `.mcp.json`:
60
+
61
+ ```json
62
+ {
63
+ "mcpServers": {
64
+ "godot-mcp": {
65
+ "command": "npx",
66
+ "args": ["-y", "@satelliteoflove/godot-mcp"]
67
+ }
68
+ }
69
+ }
70
+ ```
28
71
 
29
72
  ## Documentation
30
73
 
31
- For full documentation, setup guides, and the Godot addon, visit the [GitHub repository](https://github.com/satelliteoflove/godot-mcp).
74
+ For full API documentation, setup guides, and the Godot addon source, visit the [GitHub repository](https://github.com/satelliteoflove/godot-mcp).
32
75
 
33
76
  ## License
34
77
 
@@ -7,20 +7,35 @@ export declare const getNodeProperties: import("../core/types.js").ToolDefinitio
7
7
  }, {
8
8
  node_path: string;
9
9
  }>>;
10
- export declare const createNode: import("../core/types.js").ToolDefinition<z.ZodObject<{
10
+ export declare const createNode: import("../core/types.js").ToolDefinition<z.ZodEffects<z.ZodObject<{
11
11
  parent_path: z.ZodString;
12
- node_type: z.ZodString;
12
+ node_type: z.ZodOptional<z.ZodString>;
13
+ scene_path: z.ZodOptional<z.ZodString>;
13
14
  node_name: z.ZodString;
14
15
  properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
15
16
  }, "strip", z.ZodTypeAny, {
16
17
  parent_path: string;
17
- node_type: string;
18
18
  node_name: string;
19
+ scene_path?: string | undefined;
20
+ node_type?: string | undefined;
19
21
  properties?: Record<string, unknown> | undefined;
20
22
  }, {
21
23
  parent_path: string;
22
- node_type: string;
23
24
  node_name: string;
25
+ scene_path?: string | undefined;
26
+ node_type?: string | undefined;
27
+ properties?: Record<string, unknown> | undefined;
28
+ }>, {
29
+ parent_path: string;
30
+ node_name: string;
31
+ scene_path?: string | undefined;
32
+ node_type?: string | undefined;
33
+ properties?: Record<string, unknown> | undefined;
34
+ }, {
35
+ parent_path: string;
36
+ node_name: string;
37
+ scene_path?: string | undefined;
38
+ node_type?: string | undefined;
24
39
  properties?: Record<string, unknown> | undefined;
25
40
  }>>;
26
41
  export declare const updateNode: import("../core/types.js").ToolDefinition<z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/tools/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,iBAAiB;;;;;;GAc5B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;GA0BrB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;GAarB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;GAUrB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;GAWvB,CAAC;AAEH,eAAO,MAAM,SAAS,EAMjB,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/tools/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,iBAAiB;;;;;;GAc5B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CrB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;GAarB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;GAUrB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;GAWvB,CAAC;AAEH,eAAO,MAAM,SAAS,EAMjB,iBAAiB,EAAE,CAAC"}
@@ -15,22 +15,32 @@ export const getNodeProperties = defineTool({
15
15
  });
16
16
  export const createNode = defineTool({
17
17
  name: 'create_node',
18
- description: 'Create a new node as a child of an existing node',
19
- schema: z.object({
18
+ description: 'Create a new node as a child of an existing node, or instantiate a packed scene',
19
+ schema: z
20
+ .object({
20
21
  parent_path: z.string().describe('Path to the parent node'),
21
22
  node_type: z
22
23
  .string()
23
- .describe('Type of node to create (e.g., "Sprite2D", "CharacterBody2D")'),
24
+ .optional()
25
+ .describe('Type of node to create (e.g., "Sprite2D") - use this OR scene_path'),
26
+ scene_path: z
27
+ .string()
28
+ .optional()
29
+ .describe('Path to scene file to instantiate (e.g., "res://enemies/goblin.tscn") - use this OR node_type'),
24
30
  node_name: z.string().describe('Name for the new node'),
25
31
  properties: z
26
32
  .record(z.unknown())
27
33
  .optional()
28
34
  .describe('Optional properties to set on the node'),
35
+ })
36
+ .refine((data) => !!data.node_type !== !!data.scene_path, {
37
+ message: 'Provide either node_type OR scene_path, not both',
29
38
  }),
30
- async execute({ parent_path, node_type, node_name, properties }, { godot }) {
39
+ async execute({ parent_path, node_type, scene_path, node_name, properties }, { godot }) {
31
40
  const result = await godot.sendCommand('create_node', {
32
41
  parent_path,
33
42
  node_type,
43
+ scene_path,
34
44
  node_name,
35
45
  properties: properties ?? {},
36
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/tools/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/tools/node.ts"],"names":[],"mappings":"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"}
@@ -26,10 +26,13 @@ export declare const searchFiles: import("../core/types.js").ToolDefinition<z.Zo
26
26
  }>>;
27
27
  export declare const getProjectSettings: import("../core/types.js").ToolDefinition<z.ZodObject<{
28
28
  category: z.ZodOptional<z.ZodString>;
29
+ include_builtin: z.ZodOptional<z.ZodBoolean>;
29
30
  }, "strip", z.ZodTypeAny, {
30
31
  category?: string | undefined;
32
+ include_builtin?: boolean | undefined;
31
33
  }, {
32
34
  category?: string | undefined;
35
+ include_builtin?: boolean | undefined;
33
36
  }>>;
34
37
  export declare const projectTools: AnyToolDefinition[];
35
38
  //# sourceMappingURL=project.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/tools/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,cAAc,2FAazB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;GAgC3B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;GAmBtB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;GAe7B,CAAC;AAEH,eAAO,MAAM,YAAY,EAKpB,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/tools/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,cAAc,2FAazB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;GAgC3B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;GAmBtB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;GAuB7B,CAAC;AAEH,eAAO,MAAM,YAAY,EAKpB,iBAAiB,EAAE,CAAC"}
@@ -62,10 +62,14 @@ export const getProjectSettings = defineTool({
62
62
  category: z
63
63
  .string()
64
64
  .optional()
65
- .describe('Optional settings category to filter by'),
65
+ .describe('Settings category to filter by (use "input" for input action mappings)'),
66
+ include_builtin: z
67
+ .boolean()
68
+ .optional()
69
+ .describe('When category is "input", include built-in ui_* actions (default: false)'),
66
70
  }),
67
- async execute({ category }, { godot }) {
68
- const result = await godot.sendCommand('get_project_settings', { category });
71
+ async execute({ category, include_builtin }, { godot }) {
72
+ const result = await godot.sendCommand('get_project_settings', { category, include_builtin });
69
73
  return JSON.stringify(result.settings, null, 2);
70
74
  },
71
75
  });
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/tools/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/tools/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,iDAAiD;IAC9D,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACpB,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAKnC,kBAAkB,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC;IACzC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,mCAAmC;IAChD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,CAAC;aACT,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;aAClE,QAAQ,CAAC,uBAAuB,CAAC;QACpC,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,wDAAwD,CAAC;QACrE,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,kDAAkD,CAAC;KAChE,CAAC;IACF,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE;QAC1D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CACpC,oBAAoB,EACpB;YACE,SAAS;YACT,SAAS,EAAE,SAAS,IAAI,QAAQ;YAChC,SAAS,EAAE,SAAS,IAAI,IAAI;SAC7B,CACF,CAAC;QAEF,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,SAAS,cAAc,CAAC;QACvC,CAAC;QAED,OAAO,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,SAAS,cAAc,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACjH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;IACpC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,kCAAkC;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACpE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KAC7E,CAAC;IACF,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE;QAC7C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAsB,cAAc,EAAE;YAC1E,OAAO;YACP,SAAS,EAAE,SAAS,IAAI,QAAQ;SACjC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,sBAAsB,OAAO,SAAS,CAAC;QAChD,CAAC;QAED,OAAO,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,sBAAsB,OAAO,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1H,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;IAC3C,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,sBAAsB;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,wEAAwE,CACzE;QACH,eAAe,EAAE,CAAC;aACf,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,0EAA0E,CAC3E;KACJ,CAAC;IACF,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,EAAE,KAAK,EAAE;QACpD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAEnC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,kBAAkB;CACI,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@satelliteoflove/godot-mcp",
3
- "version": "0.1.6",
3
+ "version": "1.1.0",
4
4
  "description": "MCP server for Godot Engine integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -50,6 +50,6 @@
50
50
  "vitest": "^2.1.0"
51
51
  },
52
52
  "engines": {
53
- "node": ">=18.0.0"
53
+ "node": ">=20.0.0"
54
54
  }
55
55
  }