DEV Community

Cover image for Godot MCP Setup for Claude Code and Codex (Tested)
Ziva
Ziva

Posted on Originally published at ziva.sh

Godot MCP Setup for Claude Code and Codex (Tested)

To use Claude Code with Godot, add a Godot MCP server to Claude Code, open your project in Godot and start Claude Code from the project folder. MCP is the bridge that gives the agent tools for your project, such as running the game and reading its errors. With Ziva's MCP server, after installing Ziva and signing in, the Claude Code setup is one button: Install for Claude Code in Ziva's settings (steps in section 1).

Ziva.sh makes Ziva, a proprietary Godot plugin, publishes this page and ran the tests below.

What we tested. On November 11, 2026 we connected Claude Code 2.1.318, with its default model claude-opus-5-5, to Ziva's MCP server using the exact command that Ziva's Install for Claude Code button runs. We opened the Star Catcher sample, whose score never goes up, in Godot 4.7.2 with a development build of Ziva signed in to a free Hobby account, and asked:

This Godot game's score never goes up when I collect a star. Use the ziva-godot MCP tools to run the game, find the bug, fix it, then run the game again holding the right arrow key to confirm the score changes.

Claude Code ran the game with Ziva's run_scene while holding the right arrow key. The result held a screenshot still showing "Score: 0" and two script errors, Node not found: "%ScoreLabel" at main.gd:5 and a null-instance error at main.gd:15. Claude Code then read the project's scripts and scenes with Ziva's read, found that ScoreLabel is a unique name inside hud.tscn, which main.gd cannot reach with %ScoreLabel, and changed one line with Ziva's edit_file:

-@onready var score_label: Label = %ScoreLabel
+@onready var score_label: Label = $HUD/%ScoreLabel
Enter fullscreen mode Exit fullscreen mode

Its second run_scene screenshot showed "Score: 1", and neither script error came back. The run took 37.6 seconds and 12 turns, and Claude Code reported a list-price cost of $0.22 (we used a Claude subscription login). Claude Code's own Read and Edit tools were allowed but unused: every read and the edit went through Ziva.

Before the fix: the frame Ziva's run_scene returned to Claude Code after it held the right arrow key in the Star Catcher sample. The first star is gone, two yellow stars remain, the player has moved off screen and the label still reads Score: 0

After Claude Code's one-line fix in main.gd: the frame from Claude Code's second run_scene call, with the teal player square stopped next to where the first star was and the label reading Score: 1

Other results and limits.

  • With the Ziva dock signed out, Ziva's run_scene still ran the game but returned only "The Run Scene tool failed: Not signed in (no API key on init payload)". Claude Code then told us "The tool failed before the game started", which is wrong: the game ran and logged both errors. This is an open Ziva bug. Sign in to Ziva in its dock before using run_scene; the free Hobby plan works.
  • With Godot closed, Claude Code saw only Ziva's start_godot, called it and had the editor running 4.1 seconds later. Its first run_scene after that worked; in an earlier run on November 7, the first one hit a one-off upload error and worked on retry.
  • Cursor: on November 10, 2026 we clicked Ziva's Install for Cursor, which wrote ziva-godot to the project's .cursor/mcp.json, and ran that file's exact command with our own MCP client. It listed 42 tools, and run_scene returned a screenshot and the same errors. We did not run Cursor or its agent.
  • We ran each Claude Code test once, on Linux, with Claude Code in headless mode (claude -p). To capture the command, we clicked Install for Claude Code with the claude command replaced by a logger, then gave Claude Code that command as its only MCP server.

Other routes. Coding-Solo's Godot MCP server (free, MIT) works through Godot's command line and project files, with Godot closed. tomyud1's and hi-godot's servers (free, MIT) are live-editor addons that inspect the open editor. You do not need MCP just to edit files or run Godot's command-line checks: Claude Code and Codex can do that from the folder containing project.godot. For advice only, paste code and scene context into Claude or ChatGPT. To use your existing account inside Ziva instead, see https://ziva.sh/docs/existing-subscriptions.

Verify a tool call, not just a saved configuration. After setup, ask a live-editor bridge to inspect the current scene and compare its answer with Godot. With Coding-Solo, ask it to run the project and return debug output. A server appearing in a client's list does not by itself prove access to your open editor.

Other prices and versions checked September 19, 2026. Earlier, on Linux with Godot 4.7.2, we ran Godot without a window, called MCP tools from scripts and tested both clients' add and list commands. We did not run Claude Desktop, the other servers' AssetLib installs and dock clicks, a Codex session, a Claude Code session with the other servers, the Ziva installer or the account sign-in in section 4; those steps follow documentation. We measured neither productivity nor game quality.

TL;DR

MCP costs below cover the bridge; AI-account costs are separate.

Route Setup What the AI sees Runs the game and reads errors Cost floor
1a. Ziva MCP Ziva MCP: Settings > Models & Providers > Ziva as an MCP server > Install for your app Ziva MCP: open editor, scene tree, files Ziva MCP: yes, with input and a game screenshot (dock signed in); tested with Claude Code Ziva MCP: free Hobby plan works; AI-provider usage is separate
1b. Coding-Solo MCP Coding-Solo MCP: add the server; Node.js 18+ Coding-Solo MCP: project files Coding-Solo MCP: yes, through Godot's command line Coding-Solo MCP: Free, MIT
1c. Live-editor MCP hi-godot/tomyud1 MCP: hi-godot addon or tomyud1 addon, then add the server hi-godot/tomyud1 MCP: open editor hi-godot/tomyud1 MCP: yes hi-godot/tomyud1 MCP: Free, MIT
2a. Claude Code without MCP Claude Code: session in the project folder Claude Code: project files Claude Code: via Godot CLI Claude Code: Claude Pro $20/month or $17/month billed annually; pay-as-you-go Console API credits
2b. Codex CLI without MCP Codex CLI: session in the project folder Codex CLI: project files Codex CLI: via Godot CLI Codex CLI: ChatGPT Free $0, small usage limits
3. Claude or ChatGPT chat tab Claude or ChatGPT chat: paste context Claude or ChatGPT chat: what you supply Claude or ChatGPT chat: no Claude Free, ChatGPT Free: $0
4. Ziva editor agent with your Claude or ChatGPT account Ziva agent: Settings > Models & Providers > Use Existing Subscriptions Ziva agent: editor and running game Ziva agent: yes Ziva agent: available on Hobby; requests use your provider allowance

The Godot Community Poll 2026 (11,195 respondents, multiple answers allowed) asked which tasks AI helps with. Chat help (route 3) drew 42.6%, agentic coding (route 2) 17.9%, and MCP (route 1) 4.9%. The option "I don't use AI, and I'm against it" drew 33.6%.

1. Godot MCP for Claude Code and Codex

Ziva's MCP server is bundled in the proprietary Ziva plugin and works through the open editor. Coding-Solo, tomyud1 and hi-godot are the GitHub owners of free, MIT servers: Coding-Solo's works with Godot closed, and live-editor bridges inspect the open editor and run scenes there. Claude Code started all three of those servers in our test; Codex only saved configuration.

For Ziva, install the plugin, open your project and sign in. Installation instructions: https://ziva.sh/docs/installation.

  1. Open the project and wait for Ziva to finish starting.
  2. Open Ziva Settings > Models & Providers > Ziva as an MCP server.
  3. Confirm Running and a tool count.
  4. Choose your AI application and select Install for that application. For Claude Code, this runs claude mcp add --scope user ziva-godot -- ... with Ziva's generated command.
  5. Restart or reload the client so it discovers ziva-godot.
  6. Open the same project in your client. Ask it to use ziva-godot to inspect the current scene, then compare the result with Godot before allowing edits.

For manual setup, select Copy beside your application's generated configuration. It is specific to your computer; do not reuse someone else's command or local URL. These steps follow https://ziva.sh/docs/ziva-mcp-server.

If a client configured with Ziva's generated command only shows start_godot, open the target project in Godot or launch your command-line client from the project folder and ask it to start Godot. Start a new client session if the full tool list does not refresh.

Coding-Solo's and tomyud1's READMEs name their Claude server godot; the Codex commands below are ours. Use distinct names: adding godot twice failed in Claude Code and silently overwrote it in Codex.

For Coding-Solo:

  1. Install Node.js 18+ and npm. Put Godot on PATH or set GODOT_PATH below.
  2. For Claude Code, run:
   claude mcp add godot -- npx @coding-solo/godot-mcp
Enter fullscreen mode Exit fullscreen mode

Or substitute your executable path:

   claude mcp add godot -e GODOT_PATH=/path/to/godot -e DEBUG=true -- npx @coding-solo/godot-mcp
Enter fullscreen mode Exit fullscreen mode
  1. For Codex, run:
   codex mcp add godot -- npx @coding-solo/godot-mcp
Enter fullscreen mode Exit fullscreen mode

Or substitute your executable path:

   codex mcp add godot --env GODOT_PATH=/path/to/godot --env DEBUG=true -- npx @coding-solo/godot-mcp
Enter fullscreen mode Exit fullscreen mode

A wrong GODOT_PATH silently uses Godot on PATH; DEBUG exposes this.

For tomyud1:

  1. Install Node.js and Godot AI Assistant tools MCP, asset 4767, from AssetLib (Godot's addon browser). The author is tomyud (tomyud1 on GitHub).
  2. Enable Godot MCP under Project > Project Settings > Plugins.
  3. For Claude Code, run:
   claude mcp add godot-live -- npx -y godot-mcp-server
Enter fullscreen mode Exit fullscreen mode

For Codex:

   codex mcp add godot-live -- npx -y godot-mcp-server
Enter fullscreen mode Exit fullscreen mode
  1. Restart the client, then choose Project > Reload Current Project. Green MCP: Agent Active confirms connection to Godot; two clients show MCP: Agents (2). The README says "MCP Connected".

Per tomyud1's README, ask the agent to undo with mcp_undo; Ctrl+Z cannot undo AI edits. After run_scene, its get_errors tool returned a runtime error with file and line.

For hi-godot:

  1. Install uv for uvx, the Python tool runner its README requires.
  2. Install Godot AI, asset 5050, by dlight. Choose AssetLib's 3.2.1 for Godot 4.5+; its connection and client settings passed on 4.7.2. GitHub's version 4 needs 4.7+.
  3. Enable it under Project > Project Settings > Plugins; click Configure beside your client in its dock.

From the project folder:

claude mcp list
codex mcp list
Enter fullscreen mode Exit fullscreen mode

claude mcp list starts servers added above; ✔ Connected proves startup, not a connection to the open editor. codex mcp list only lists configuration.

Check Ziva's Running and tool count or tomyud1's green MCP label. Ask your agent to run hi-godot's project_run, then logs_read. For Coding-Solo, request get_debug_output seconds after run_project: immediate calls returned nothing; waiting gave errors with file and line.

For Claude Desktop, use Ziva's Install or hi-godot's Configure. Otherwise, open Settings > Developer > Edit Config and merge your chosen entry:

{
  "mcpServers": {
    "godot": {
      "command": "npx",
      "args": ["@coding-solo/godot-mcp"]
    },
    "godot-live": {
      "command": "npx",
      "args": ["-y", "godot-mcp-server"]
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

On Windows, replace tomyud1's entry with:

"godot-live": {
  "command": "cmd",
  "args": ["/c", "npx", "-y", "godot-mcp-server"]
}
Enter fullscreen mode Exit fullscreen mode

Save, quit completely, then restart.

2. Claude Code or Codex in the project folder

  1. Install Claude Code or Codex CLI. Claude Code needs a paid plan, Console account or supported cloud provider; Codex accepts a ChatGPT Free account.
  2. Create AGENTS.md, a project-folder instruction file, with your Godot executable location and script-check commands. Ziva reads AGENTS.md too.
  3. Check claude --version: AGENTS.md support starts at 2.1.277. CLAUDE.md, CLAUDE.local.md or .claude/CLAUDE.md here or above stops automatic AGENTS.md loading. Import it with @AGENTS.md in CLAUDE.md instead. That import also works on older versions, with Bedrock or other cloud providers, or with telemetry disabled.
  4. Add these checks to AGENTS.md, replacing res://player.gd with your script. The second runs the main scene, your project's starting scene. Replace godot with its executable path if needed.

Only timeout 60, the 60-second limit, is Linux-specific; remove it elsewhere. Godot's --quit-after 60 counts game-loop iterations, not seconds.

   timeout 60 godot --headless --path . --check-only --script res://player.gd
   timeout 60 godot --headless --path . --quit-after 60
Enter fullscreen mode Exit fullscreen mode
  1. Start Claude Code or Codex where project.godot lives; see project workflow tips. TSCN scene files are mostly human-readable text, so these tools can read scene context.
  2. Auto Reload Scripts on External Change defaults on from 4.5. In 4.2 to 4.4.1 it defaults off: enable it under Editor > Editor Settings > Text Editor > Behavior > Files to see agent edits.

A parse check does not exercise gameplay. Our test scene printed a null-access error at res://runtime_error.gd:5 but returned exit code 0, so read the output too. The trailing scene path selects our test scene. We trimmed the banner and backtrace; [exit=0] is the exit code we printed:

$ timeout 60 godot --headless --path . --quit-after 60 res://runtime_error.tscn
SCRIPT ERROR: Invalid access to property or key 'name' on a base object of type 'null instance'.
          at: _ready (res://runtime_error.gd:5)
[exit=0]
Enter fullscreen mode Exit fullscreen mode

Claude Code starts in auto mode on Pro, Max and Team, where another model reviews actions. Use claude --permission-mode manual for prompts before most actions, including edits and commands. To plan, use claude --permission-mode plan. Codex approvals are not covered here.

Summer Engine's Claude guide, from a competing game-making AI, says Claude Code, Cursor with Claude and the API "cannot press play, watch the running game, and read a live debugger error." Our command runs a game and reads its errors, and through Ziva's MCP server, Claude Code also sent key presses to the running game and read its screenshot in our test above. Inspecting the live debugger remains outside these tests.

Rabah Shihab ported his 1993 Amiga game to Godot with Claude Code. His account describes Claude Code launching games and reading output.

From Godot 4.4, move companion .uid files too when moving scripts outside Godot. They preserve resource references. Leaving one behind produced "invalid UID" and "referenced non-existent resource" in our test.

3. Claude or ChatGPT in a chat tab

  1. Paste scripts and a screenshot of your node tree (the scene's object hierarchy), as u/Maximum-Touch-9294 suggests. They warn you will need to paste scripts repeatedly.
  2. State your Godot version. u/OhEvolve reported drift toward Godot 3 syntax; see which model knows current Godot.

For editor access, see section 1. ChatGPT in the browser does not read local Codex configuration files. On the same computer, the ChatGPT desktop app, Codex CLI and Codex IDE extension share MCP settings in ~/.codex/config.toml; trusted projects can also use .codex/config.toml. See https://developers.openai.com/codex/mcp.

4. Your Claude or ChatGPT account inside Godot

Sign in to Ziva; connect your account:

  1. Open Ziva Settings > Models & Providers > Use Existing Subscriptions.
  2. Select Connect beside Codex (ChatGPT account) or Claude Code (Anthropic account), then finish browser sign-in.

This connection has worked on Hobby since 3.1.2. Requests use your provider allowance, with its limits.

Since 3.1.2, agents receive Godot errors with file/line; since 3.2.5, tool results include errors caused by their edits.

PurpleJelly's GodotAI, asset 4916, is proprietary and separate from hi-godot. Its listing offers Claude, ChatGPT, OpenRouter, Ollama and a built-in proxy for Claude Pro or Max subscriptions. Its dock inserts code at your cursor with active-script and scene-tree context.

Limits to know

Ziva ships closed-source compiled releases. GitHub's automatic source archives contain the README and support files. Ziva's terms forbid decompiling. Coding-Solo, hi-godot and tomyud1 are MIT-licensed: you can audit or modify their source.

Ziva needs Godot 4.2 or later and has no inline autocomplete. Your own Claude Code or Codex account works on Hobby, with requests counted against that provider's usage. For Ziva-hosted model allowances and paid features, check the current offer in your account and https://ziva.sh/#pricing.

Ziva never uses your code to train AI models, and backs up your chats to your account unless you turn that off. Cloud providers process task context under their own retention terms.

Only connect trusted servers: MCP tools can read or change data. The npx command uses Coding-Solo's only npm release, 0.1.1, published February 3, 2026. It fixes command injection through projectPath (CVE-2026-25546) in pre-0.1.1 versions, never published to npm.

Review scene and resource edits. u/TripsOverWords warns that agents can make a mess of these editor-managed files.

Related reading

FAQ

How do I use Claude Code or ChatGPT with Godot?

Add a Godot MCP server to Claude Code or Codex so the agent can run your game and read its errors, run Claude Code or Codex CLI from your Godot project folder without MCP, paste code into Claude or ChatGPT, or connect your ChatGPT or Claude account inside Ziva. On November 11, 2026, Claude Code connected to Ziva's MCP server ran a sample game, found and fixed its score bug, and confirmed the fix from a screenshot. Choose based on whether you want advice, file edits or access to the open editor.

Can ChatGPT connect to the Godot editor?

The ChatGPT desktop app, Codex CLI and Codex IDE extension share local MCP configuration on the same computer. Add a live-editor Godot MCP server through Codex's settings or ~/.codex/config.toml. ChatGPT in the browser does not read that local file.

Can Claude Code or Codex run my Godot game and read the errors?

Yes. In our November 11, 2026 test, Claude Code connected to Ziva's MCP server ran a sample game while holding the right arrow key, got a screenshot and both script errors from Ziva's run_scene, fixed the bug with Ziva's edit_file and confirmed Score: 1 in a second run. Ziva's run_scene needs the Ziva dock signed in; signed out, it ran the game but returned only Not signed in. Without MCP, Claude Code and Codex can run Godot's command line from the project folder, but a scene with a runtime script error can still exit with code 0, so read the printed output as well as the exit code.

Is there an official Godot AI plugin?

No: Godot AI from hi-godot, asset 5050, is a community submission by dlight under the MIT licence, with Community support rather than Official. Its Asset Library listing serves version 3.2.1 for Godot 4.5 and later, while its GitHub README requires Godot 4.7 or later for version 4.

Can I use my Claude or ChatGPT subscription inside the Godot editor?

Yes: in Ziva Settings, open Models & Providers, then Use Existing Subscriptions. Connect Codex for your ChatGPT account or Claude Code for your Anthropic account, then finish browser sign-in. This works on Hobby, Ziva's free plan; requests count toward your provider usage.

Top comments (0)