godot-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
godot-mcp
godot-mcp is a Godot 4.7 editor addon. It runs an MCP server inside the editor, so Claude Code or another MCP client works on the project that is open in front of you. Claude can read and change the live scene tree, scripts and project settings, import assets, and run the game headless or build a .NET project. Node edits go through the editor's undo history, so you can undo them like any other edit.
What you can ask Claude to do
"Add a Sprite2D under Player, set its texture to res://art/player.png, and save the scene."
"Write a script for Enemy that moves toward the player, attach it, and check that it parses."
"Run the main scene headless and tell me about any errors it prints."
"Show me the editor log from the last run."
"Set the physics ticks per second to 120 in project settings."
"This project has no C# yet. Create the .NET project, add a Player.cs script, and build it."
Related MCP server: Godot Universal MCP
Requirements
Godot 4.7. The test suite runs against Godot 4.7.2 (mono build).
For C#: the .NET (mono) build of Godot, and
dotneton your PATH.build_dotnetrunsdotnet build, andcreate_dotnet_projectcreates the project files.A program named
timeouton your PATH forrun_headlessandbuild_dotnet, which run in a separate process. (import_assetsruns inside the editor and does not need it.) The addon looks for that exact name, so it must be GNUtimeout. Without it those two fail withSPAWN_FAILED.Linux or macOS. Setup refuses Windows, because the
.mcp.jsonentry it writes uses a POSIX shell command. macOS does not ship GNUtimeout. Install GNU coreutils, and make its unprefixedtimeout(for Homebrew, thegnubindirectory of the coreutils install) visible to the editor. Agtimeoutname is not enough.Claude Code with HTTP MCP server support, or another MCP client that supports Streamable HTTP and custom headers.
Install the addon
From your Godot project's root, run:
curl -fsSL https://github.com/voidrot/godot-mcp/archive/HEAD.tar.gz \
| tar -xz --strip-components=1 --wildcards '*/addons/godot_mcp/*'This downloads the latest version from the default branch and writes it into addons/godot_mcp/. Files with the same names are overwritten.
GNU tar (Linux) needs --wildcards. macOS's bsdtar rejects that flag, so on macOS leave it out:
curl -fsSL https://github.com/voidrot/godot-mcp/archive/HEAD.tar.gz \
| tar -xz --strip-components=1 '*/addons/godot_mcp/*'Then enable the plugin: Project > Project Settings > Plugins, and turn on Godot MCP. On first load the addon picks the first free port from 6550 to 6649 on 127.0.0.1 and saves it as godot_mcp/server/port in project.godot. It reuses that port from then on. Each time the plugin loads, it:
Writes a new access token to
.godot/godot_mcp/headers.json. The folder gets a.gitignorethat ignores everything in it, so the token stays out of version control.Prints
godot_mcp: serving http://127.0.0.1:<port>/mcpin the editor's Output panel.
To update, run the install command again, then reload the plugin or restart the editor. Run the setup menu item again (see Connect Claude Code, step 1) so the agent skill matches the new version.
Connect Claude Code
Open the project in the editor and choose Project > Tools > MCP: install agent skill / show config. The dialog writes the agent skill to
.claude/skills/godot-mcp/SKILL.mdand shows the MCP entry. The Copy button copies it. Setup never writes.mcp.jsonfor you.Paste the entry into
.mcp.jsonat the project root, creating the file if it does not exist. It looks like this, with the port your project uses:{ "mcpServers": { "godot-editor": { "type": "http", "url": "http://127.0.0.1:6550/mcp", "headersHelper": "cat '/abs/path/to/project/.godot/godot_mcp/headers.json'", "timeout": 600000 } } }The
headersHelperreads the current token fromheaders.jsoneach time the client connects, so you never copy the token by hand.Start Claude Code in the project and approve the
godot-editorserver when it asks. Then run:claude mcp listgodot-editorshould be listed as connected. If it is not, approve the server when Claude Code asks, then check again. The editor must be running for the tools to respond.
Other MCP clients
Any client that speaks Streamable HTTP and can send a custom header can connect. Use:
URL:
http://127.0.0.1:<port>/mcpHeader:
Authorization: Bearer <token>, where the token is the value in.godot/godot_mcp/headers.json
The server accepts protocol versions 2025-11-25, 2025-06-18 and 2025-03-26. It answers with plain JSON and keeps no session between requests.
Tools
Every tool is listed with its arguments and errors in addons/godot_mcp/SKILL.md, which the setup step copies into your project.
Project
get_project_info: Project name, main scene, features, autoloads, the root .csproj, open and unsaved scenes, and whether a job is running (jobActive).get_project_settings: Read settings with their defaults.set_project_setting: Write a setting toproject.godot. Settings undereditor/,editor_plugins/andgodot_mcp/are refused.install_agent_skill: Write the agent skill into the project and return the.mcp.jsonentry.create_dotnet_project: Create the root.csprojand.slnfor a Godot .NET project.
Scenes and nodes
get_scene_tree: List the edited scene's nodes.open_scene: Make a.tscnor.scnthe edited scene.create_scene: Create a new.tscnwith a root node of a given class, and open it.save_scene: Write the edited scene to its file.add_node: Add a node of a class, or an instance of a scene.delete_node: Delete a node and its children.move_node: Move a node under a new parent, or reorder it.get_node_properties: Read a node's editor-visible properties.update_property: Set one editor-visible property as one undoable action.propertycan also bescript(attaches a script) orname(renames the node), androtation_degreessets the rotation in degrees.
Scripts
read_script: Read a.gdor.csfile.create_script: Create a.gdor.csfile.edit_script: Replace one exact snippet, or the whole file, in a.gdor.csfile.validate_script: Check a.gdfile for parse errors.
Running and building
run_headless: Run the project, a scene or a script in a separate headless process, and return its output.import_assets: Rescan the project and import new or changed assets.build_dotnet: Build the project's.csprojwithdotnet build.play_scene: Play a scene in the editor. Output is not captured.stop_scene: Stop the scene that is playing.get_editor_log: Read the editor's errors, warnings and printed output.
How changes land
Node edits change the open scene in the editor. Each one is a single undo step. They reach disk when Claude calls
save_scene.create_scene, script writes, andset_project_settingwrite files immediately.run_headlessreads files on disk, not the editor's state. Save the scene first, or the run uses the old content. Its result includesunsavedSceneswhen the editor has unsaved scenes.
Troubleshooting
Symptom | Cause and fix |
Connection refused | The editor is closed, the plugin is disabled, or the URL port is wrong. Open the project, enable the plugin, and check the port in the editor's Output panel. |
| Another program has the saved port. Stop that program. To pick a new port, remove |
| All 100 ports in the range are taken. Free one, or set |
401 Unauthorized | The token changed. Each plugin load makes a new token, so a restart or reload invalidates the old one. Reconnect the client. Do not paste the token into a file by hand. |
403 Host not allowed, or 403 Origin not allowed | The |
Claude Code does not connect | The server is not approved yet. Approve it when Claude Code asks, then run |
400 | The client asks for a protocol version the server does not accept. The server accepts 2025-11-25, 2025-06-18 and 2025-03-26. |
Requests time out | Ordinary requests get 30 seconds on the server; a request that runs past that gets a 500 |
| A |
| GNU |
| You are on Windows. Setup and |
|
|
| The project path contains |
Security
The server listens only on 127.0.0.1, so other machines on your network cannot reach it. Every request must carry the bearer token from .godot/godot_mcp/headers.json. The token is 32 random bytes, and the plugin makes it owner-readable only.
The token is the only access control, and it is not a sandbox. Anything that can read the token can change your project and run its code. Some tools run project code directly: run_headless and play_scene run the game, build_dotnet runs MSBuild targets and analyzers, and @tool scripts run when the editor loads them. Use this server only with projects you trust, and only with clients you trust on your machine.
The script tools refuse to write or validate files under addons/godot_mcp/ (PROTECTED_PATH). This guards against mistakes, not against a hostile client.
Development
bun install
bun run checkcheck runs Biome, the TypeScript check, and the tests. The editor tests start a real godot-mono --headless --editor with the addon enabled. Set GODOT_BIN to use another binary. The Bun stdio server in src/ is an earlier version kept as a test and conformance harness. Plans and design decisions are in docs/plans/.
License
MIT. See LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Agent-native website builder: create, edit, and host websites via MCP
Make games with AI: one MCP server that connects your agent to Unity, Unreal and Godot editors.
Related MCP Servers
- AlicenseAqualityBmaintenanceConnects MCP clients directly to a live Godot editor, enabling AI assistants to build scenes, edit nodes, and control the editor through over 120 operations.4730,790 PyPI3,482MIT
- AlicenseBqualityCmaintenanceConnects MCP-capable AI clients to a running Godot 4 editor for scene, node, project, and debug runtime operations via a local-first architecture.361MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to inspect, author, debug, simulate, and visually verify Godot 4.x projects through standard MCP tools, including scene editing, runtime control, and viewport capture.185 npm5MIT
- AlicenseBqualityCmaintenanceEnables AI clients to author and inspect Godot 4 projects by editing .tscn scenes and .gd scripts directly on disk, running headless project checks, and optionally driving a live editor bridge for real-time scene editing.2019 npmMIT