MCP server: One MCP server.

Godot MCP

@jxlee007MCP server · External

Pure-Python FastMCP server for Godot 4 — 28 headless & animation tools. Runs via uvx.

Game developmentv1.0.4MITPython
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

PyPIgodot-mcp-uvxv1.0.4

Run

uvx godot-mcp-uvx

MCP client config

{
  "mcpServers": {
    "godot-mcp": {
      "command": "uvx",
      "args": [
        "godot-mcp-uvx"
      ]
    }
  }
}
README3 min read

godot-mcp — Pure Python FastMCP Server for Godot 4

Python FastMCP License: MIT M8ven Verified

A zero Node.js Model Context Protocol server for Godot 4 — translated from Coding-Solo/godot-mcp and youichi-uda/godot-mcp-pro into pure Python using the official FastMCP framework. Runs with ultra-low RAM via uvx.

Quick Start

You can invoke this server over standard I/O (stdio) from anywhere on your machine instantly using uvx without manually cloning files or configuring virtual environments:

bash
# Run globally via uvx from PyPI (Bypasses local setup completely)
GODOT_PATH=/path/to/godot4 uvx --from godot-mcp-uvx godot-mcp

# Local development installation (For active contributors)
git clone https://github.com/jxlee007/godot_mcp
cd godot_mcp
uv tool install --editable .

MCP Client Configuration

Add this structural configuration block straight into your global client matrix environment profile (e.g., ~/.gemini/antigravity-cli/settings.json or Claude / Cline settings):

json
{
  "mcpServers": {
    "godot_render": {
      "command": "uvx",
      "args": [
        "--from",
        "godot-mcp-uvx",
        "godot-mcp"
      ],
      "env": {
        "GODOT_PATH": "/path/to/godot4",
        "DEBUG": "false"
      }
    }
  }
}

Environment Variables

VariableDescription
GODOT_PATHPath to the Godot 4 executable (auto-detected if unset)
DEBUG"true" enables verbose stderr logging

Tools (28 total)

Core Runtime (14)

ToolDescription
get_godot_versionReturn installed Godot version
launch_editorOpen Godot editor for a project
run_projectRun project in debug mode, capture output
get_debug_outputRead stdout/stderr from running project
stop_projectKill running project, return final output
list_projectsFind Godot projects in a directory
get_project_infoMetadata, file counts, version
create_sceneCreate a new .tscn file via GDScript
add_nodeAdd a node to an existing scene
load_spriteLoad texture onto Sprite2D/TextureRect
export_mesh_libraryExport .tscn as MeshLibrary .res
save_sceneSave / save-as a scene file
get_uidGet UID for a Godot 4.4+ resource
update_project_uidsResave all resources to regenerate UIDs

Animation Text Pipeline (4)

ToolDescription
quantize_animation_keyframesRound timestamps to fixed fps increments (12/24 fps anime look)
set_animation_interpolation_modeBulk-swap easing: linear, cubic, nearest/stepped
stitch_animation_libraryMerge external .glb/.tres clips into master AnimationLibrary
generate_track_filterGenerate AnimationNodeBlendFilter for upper/lower body isolation

AnimationTree Blueprinting (3)

ToolDescription
generate_state_machineInject AnimationNodeStateMachine into a .tscn file
compile_state_transitionsWrite transition arrows with conditions
calculate_blend_space_2dGenerate 2D blend space for directional locomotion

Camera & Cinematic (3)

ToolDescription
generate_bezier_camera_pathCatmull-Rom bezier Path3D + PathFollow3D + Camera3D with tension control
inject_lookat_trackingGenerate LookAt tracking GDScript for Camera3D
build_camera_switcher_timelineWrite Animation that switches Camera3D.current at timestamps

NPR Materials & Shaders (2)

ToolDescription
batch_shader_uniformsBulk-override shader_parameter/* in all .tres files
remap_texture_channelsWire textures into material property slots

Pipeline Automation (2)

ToolDescription
toggle_movie_makerEdit project.godot to enable/disable Movie Maker mode
run_headless_diagnosticsValidate imports, UIDs, shader entry points via Godot CLI

Architecture

src/godot_mcp/
├── __init__.py
├── server.py              # FastMCP app — all 28 tools
└── scripts/
    └── godot_operations.gd  # Bundled GDScript engine (preserved untouched)

Two operation modes:

  1. Subprocess bridge — core 14 tools invoke godot_operations.gd headlessly via subprocess.run()
  2. Text manipulation — pro-port 14 tools parse/write .tscn, .tres, project.godot files as plain text using Python stdlib re only

Requirements

  • Python 3.10+
  • Godot 4.x installed (set GODOT_PATH or ensure it is on $PATH)
  • uv or pip

License

MIT

Similar modules

Browse Game development