godot-mcp — Pure Python FastMCP Server for Godot 4
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:
# 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):
{
"mcpServers": {
"godot_render": {
"command": "uvx",
"args": [
"--from",
"godot-mcp-uvx",
"godot-mcp"
],
"env": {
"GODOT_PATH": "/path/to/godot4",
"DEBUG": "false"
}
}
}
}
Environment Variables
| Variable | Description |
|---|---|
GODOT_PATH |
Path to the Godot 4 executable (auto-detected if unset) |
DEBUG |
"true" enables verbose stderr logging |
Tools (28 total)
Core Runtime (14)
| Tool | Description |
|---|---|
get_godot_version |
Return installed Godot version |
launch_editor |
Open Godot editor for a project |
run_project |
Run project in debug mode, capture output |
get_debug_output |
Read stdout/stderr from running project |
stop_project |
Kill running project, return final output |
list_projects |
Find Godot projects in a directory |
get_project_info |
Metadata, file counts, version |
create_scene |
Create a new .tscn file via GDScript |
add_node |
Add a node to an existing scene |
load_sprite |
Load texture onto Sprite2D/TextureRect |
export_mesh_library |
Export .tscn as MeshLibrary .res |
save_scene |
Save / save-as a scene file |
get_uid |
Get UID for a Godot 4.4+ resource |
update_project_uids |
Resave all resources to regenerate UIDs |
Animation Text Pipeline (4)
| Tool | Description |
|---|---|
quantize_animation_keyframes |
Round timestamps to fixed fps increments (12/24 fps anime look) |
set_animation_interpolation_mode |
Bulk-swap easing: linear, cubic, nearest/stepped |
stitch_animation_library |
Merge external .glb/.tres clips into master AnimationLibrary |
generate_track_filter |
Generate AnimationNodeBlendFilter for upper/lower body isolation |
AnimationTree Blueprinting (3)
| Tool | Description |
|---|---|
generate_state_machine |
Inject AnimationNodeStateMachine into a .tscn file |
compile_state_transitions |
Write transition arrows with conditions |
calculate_blend_space_2d |
Generate 2D blend space for directional locomotion |
Camera & Cinematic (3)
| Tool | Description |
|---|---|
generate_bezier_camera_path |
Catmull-Rom bezier Path3D + PathFollow3D + Camera3D with tension control |
inject_lookat_tracking |
Generate LookAt tracking GDScript for Camera3D |
build_camera_switcher_timeline |
Write Animation that switches Camera3D.current at timestamps |
NPR Materials & Shaders (2)
| Tool | Description |
|---|---|
batch_shader_uniforms |
Bulk-override shader_parameter/* in all .tres files |
remap_texture_channels |
Wire textures into material property slots |
Pipeline Automation (2)
| Tool | Description |
|---|---|
toggle_movie_maker |
Edit project.godot to enable/disable Movie Maker mode |
run_headless_diagnostics |
Validate 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:
- Subprocess bridge — core 14 tools invoke
godot_operations.gdheadlessly viasubprocess.run() - Text manipulation — pro-port 14 tools parse/write
.tscn,.tres,project.godotfiles as plain text using Python stdlibreonly
Requirements
- Python 3.10+
- Godot 4.x installed (set
GODOT_PATHor ensure it is on$PATH) uvorpip
License
MIT
Release files for godot-mcp-uvx 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| godot_mcp_uvx-1.0.3.tar.gz | 30.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| godot_mcp_uvx-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.6 kB
Release files / godot_mcp_uvx-1.0.3.tar.gz
| Download URL | godot_mcp_uvx-1.0.3.tar.gz |
|---|---|
| Size | 30.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6c7f2cadfaebc7e4994e4361936882da56a35b7968bc7e19278aefa957c3f6cf
|
|
BLAKE2b-256 checksum How to use checksums |
b22ba71b603c3e2f149d58e7e426e569a754afefbd4d6f94c1bfa539eae167d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency logRelease files / godot_mcp_uvx-1.0.3-py3-none-any.whl
| Download URL | godot_mcp_uvx-1.0.3-py3-none-any.whl |
|---|---|
| Size | 28.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6aa6f0db105ad32d3fd8a8f162bd735119d6035c67af27d4a8402c333217c9d6
|
|
BLAKE2b-256 checksum How to use checksums |
bf31cd9635a19bd74736086af90482a5f1fb23b6d72cf964f8e3080358be7ae2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency log