Use with an AI client
Run godot-mcp as an MCP server so Claude, Cursor, VS Code, or Codex can drive Godot.
godot-mcp serve runs as a Model Context Protocol server over stdio, so MCP clients drive Godot directly. It exposes the same surface as the CLI: every one of the 312 commands.
Two tool modes
By default, serve exposes every command as a first-class MCP tool with a real JSON schema — a tool name like node_add, typed parameters with required flags, and a one-line description. The schemas are built live from the addon’s own param docs on the first tools/list and cached, so the tool surface can never drift from what the editor actually registers (including any project-local commands). Alongside the typed tools sits godot_run, the generic escape hatch: give it { "method": "<group>.<command>", "params": {…} } and it proxies any method to the addon.
For clients that cap the number of tools, run serve --typed=false to expose only godot_run. One tool for 312 commands keeps the model’s context lean: the model discovers the live 4.7 API with engine.search / engine.class_info, then acts, instead of carrying dozens of tool schemas into every session. Both modes are deliberate: typed for schema-guided calls, single-tool for context economy.
Write the config automatically
godot-mcp configure writes an MCP-server entry for a supported client, merging without clobbering your other servers:
godot-mcp configure claude --project /path/to/your/projectgodot-mcp configure cursorgodot-mcp configure vscodegodot-mcp configure codex --globalAdd --print to emit the snippet without writing (the safe path for uncertain global targets).
Or configure by hand
{ "mcpServers": { "godot-mcp": { "command": "godot-mcp", "args": ["serve", "--project", "/path/to/your/project"] } }}The Godot editor must be open with the plugin enabled, exactly as for the CLI. --project sets where the server discovers the addon port, so it survives an editor restart.
Read-only resources
Beyond the tools, the server advertises read-only MCP resources under the godot:// scheme, so a client can pull context without spending a tool turn:
| Resource | Contents |
|---|---|
godot://project/info | project metadata |
godot://project/tree | the project file tree |
godot://scene/tree | the open scene’s node tree |
godot://engine/singletons | registered singletons |
godot://editor/errors | recent editor errors |