Connects your AI to Godot 4 projects with eight focused tools: run GUT or GdUnit4 tests with structured results, query API docs with built-in Godot 3 to 4 migration mappings, analyze GDScript for deprecated syntax and common pitfalls like signal re-entrancy, parse scene files for antipatterns, pull LSP diagnostics from the editor's language server, and capture viewport screenshots. Auto-detects your Godot binary across Steam, Homebrew, and system installs. The script analyzer catches ten specific issues including Python-isms and tight coupling patterns. Six of eight tools work without launching Godot. Solves the core problem that AI models trained on Godot 3 code hallucinate deprecated APIs like yield and KinematicBody.
The MCP server for Godot 4. Test runner, API docs, script analysis, and more.
AI coding assistants are structurally bad at GDScript. Models trained on data skewed towards Godot 3 hallucinate deprecated APIs (yield instead of await, KinematicBody instead of CharacterBody3D, export var instead of @export var). Godot Forge fixes this.
8 tools. Zero config. Works with every MCP-compatible IDE.
npx -y godot-forge
That's it. Godot Forge auto-detects your Godot binary (Steam, Homebrew, direct download) and finds your project.godot automatically.
claude mcp add godot-forge -- npx -y godot-forge
Add to .cursor/mcp.json:
{
"mcpServers": {
"godot-forge": {
"command": "npx",
"args": ["-y", "godot-forge"]
}
}
}
Add to .vscode/mcp.json:
{
"servers": {
"godot-forge": {
"command": "npx",
"args": ["-y", "godot-forge"]
}
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"godot-forge": {
"command": "npx",
"args": ["-y", "godot-forge"]
}
}
}
Add to settings.json:
{
"context_servers": {
"godot-forge": {
"command": {
"path": "npx",
"args": ["-y", "godot-forge"]
}
}
}
}
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):
{
"mcpServers": {
"godot-forge": {
"command": "npx",
"args": ["-y", "godot-forge"]
}
}
}
See IDE Setup Guide for configuration snippets for all supported IDEs.
| Tool | Description | Needs Godot | Needs Editor |
|---|---|---|---|
godot_run_tests | Run GUT/GdUnit4 tests, get structured pass/fail results | Yes | No |
godot_search_docs | Search Godot 4 API docs with 3→4 migration mapping | No | No |
godot_analyze_script | Detect 10 GDScript pitfalls (deprecated API, coupling, re-entrancy) | No | No |
godot_analyze_scene | Parse .tscn/.tres, detect antipatterns and format errors | No | No |
godot_get_project_info | Project structure overview with progressive disclosure | No | No |
godot_get_diagnostics | LSP diagnostics from Godot's language server | No | Yes |
godot_run_project | Launch/stop project, capture debug output | Yes | No |
godot_screenshot | Capture viewport screenshot as base64 PNG | Yes | No |
[!TIP] 6 of 8 tools work without Godot installed. Only test running, project launching, and screenshots need the binary.
Auto-detects GUT and GdUnit4. Returns structured JSON with pass/fail counts, failure details with file paths and line numbers. Supports filtering by script, method, or inner class.
Ask your AI: "Run the water profile tests"
→ { total: 5, passed: 5, failed: 0, duration_ms: 462 }
The #1 reason AI writes broken GDScript. When your AI queries a deprecated API, it gets the correct Godot 4 equivalent instantly (30+ mappings covering classes, methods, syntax, and constants).
Query: "KinematicBody" → "Renamed to CharacterBody3D in Godot 4"
Query: "yield" → "yield(obj, 'signal') → await obj.signal"
Query: "instance()" → "instance() → instantiate()"
Every pitfall detected from real game development:
| # | Pitfall | What It Catches |
|---|---|---|
| 1 | Godot 3→4 API | yield, connect("signal"), export var, instance() |
| 2 | Giant scripts | Over 300 lines. Should be split |
| 3 | := on Variant | Type inference on Dictionary.get() causes parse errors |
| 4 | Tight coupling | Excessive get_node("../../...") references |
| 5 | Signal re-entrancy | Signal emitted between state changes |
| 6 | Autoload misuse | Too many autoloads, static func on autoloads |
| 7 | Missing disconnect | connect() without _exit_tree() cleanup |
| 8 | _init() timing | Node tree access before node is in tree |
| 9 | Python-isms | List comprehensions, len(), Python imports |
| 10 | .tres type field | Custom class name instead of type="Resource" |
Parses .tscn and .tres files. Detects deep nesting (>8 levels), oversized scenes (>100 nodes), missing script references, preload() in .tres, integer resource IDs, and more.
Connects to Godot's built-in language server (runs automatically when the editor is open). Returns real compiler errors and warnings (no guesswork).
[!NOTE] Requires the Godot editor to be running with your project open. All other tools work without the editor.
Captures the game viewport as a PNG image. Loads the project's main scene (or a specified scene), waits for rendering, and returns the screenshot as base64 for the AI to see.
Auto-detected in this order:
GODOT_PATH environment variablegodot / godot4 in PATH/Applications/Godot.app, Homebrew, Scoop, Flatpak, Snap, etc.)Override manually:
export GODOT_PATH="/path/to/godot"
See Godot Detection for the full list of searched paths.
Auto-detected by walking up from the current directory to find project.godot. Override:
npx godot-forge --project /path/to/godot/project
npx executionspawn() not exec(): No command injection, no Windows quoting bugsContributions are welcome! See CONTRIBUTING.md for guidelines.
git clone https://github.com/gregario/godot-forge.git
cd godot-forge
npm install
npm run build
npm test # 74 tests across 12 test files
# Point your IDE at the local build
claude mcp add godot-forge-dev -- node /path/to/godot-forge/dist/index.js
See ROADMAP.md for planned features.
Phase 2: Input simulation, runtime scene tree inspection, performance profiling, shader validation, export/CI pipeline.
GODOT_PATHPath to Godot 4.x binary (auto-detected if not set)
ray0907/git-mcp-server
cyanheads/git-mcp-server
io.github.b1ff/atlassian-dc-mcp-bitbucket
io.github.b1ff/atlassian-dc-mcp-jira
com.mcparmory/atlassian-jira
sirlordt/vscode-terminal-mcp