Odel
Godot Forge

Godot Forge

Local
@gregario8TypeScriptMITUpdated 4mo ago

Godot 4 MCP server — test runner, API docs, script analysis, scene parsing, LSP.

Godot Forge

The MCP server for Godot 4. Test runner, API docs, script analysis, and more.

npm version npm downloads MIT License Node.js 18+ MCP Compatible godot-forge MCP server


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.

godot-forge MCP server

Install

npx -y godot-forge

That's it. Godot Forge auto-detects your Godot binary (Steam, Homebrew, direct download) and finds your project.godot automatically.

Add to your IDE

Claude Code
claude mcp add godot-forge -- npx -y godot-forge
Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "godot-forge": {
      "command": "npx",
      "args": ["-y", "godot-forge"]
    }
  }
}
VS Code (Copilot)

Add to .vscode/mcp.json:

{
  "servers": {
    "godot-forge": {
      "command": "npx",
      "args": ["-y", "godot-forge"]
    }
  }
}
Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "godot-forge": {
      "command": "npx",
      "args": ["-y", "godot-forge"]
    }
  }
}
Zed

Add to settings.json:

{
  "context_servers": {
    "godot-forge": {
      "command": {
        "path": "npx",
        "args": ["-y", "godot-forge"]
      }
    }
  }
}
Claude Desktop

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"]
    }
  }
}
More IDEs (Codex, Gemini CLI, JetBrains, Continue, Cline, Roo Code, Neovim, OpenCode, Kiro)

See IDE Setup Guide for configuration snippets for all supported IDEs.

Tools

ToolDescriptionNeeds GodotNeeds Editor
godot_run_testsRun GUT/GdUnit4 tests, get structured pass/fail resultsYesNo
godot_search_docsSearch Godot 4 API docs with 3→4 migration mappingNoNo
godot_analyze_scriptDetect 10 GDScript pitfalls (deprecated API, coupling, re-entrancy)NoNo
godot_analyze_sceneParse .tscn/.tres, detect antipatterns and format errorsNoNo
godot_get_project_infoProject structure overview with progressive disclosureNoNo
godot_get_diagnosticsLSP diagnostics from Godot's language serverNoYes
godot_run_projectLaunch/stop project, capture debug outputYesNo
godot_screenshotCapture viewport screenshot as base64 PNGYesNo

[!TIP] 6 of 8 tools work without Godot installed. Only test running, project launching, and screenshots need the binary.

Features

Test Runner

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 }

Godot 3→4 Migration Mapping

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()"

Script Analysis: 10 Pitfalls

Every pitfall detected from real game development:

#PitfallWhat It Catches
1Godot 3→4 APIyield, connect("signal"), export var, instance()
2Giant scriptsOver 300 lines. Should be split
3:= on VariantType inference on Dictionary.get() causes parse errors
4Tight couplingExcessive get_node("../../...") references
5Signal re-entrancySignal emitted between state changes
6Autoload misuseToo many autoloads, static func on autoloads
7Missing disconnectconnect() without _exit_tree() cleanup
8_init() timingNode tree access before node is in tree
9Python-ismsList comprehensions, len(), Python imports
10.tres type fieldCustom class name instead of type="Resource"

Scene Analysis

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.

LSP Diagnostics

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.

Screenshot Capture

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.

Configuration

Godot Binary

Auto-detected in this order:

  1. GODOT_PATH environment variable
  2. godot / godot4 in PATH
  3. Steam installation (macOS, Windows, Linux)
  4. Platform defaults (/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.

Project Directory

Auto-detected by walking up from the current directory to find project.godot. Override:

npx godot-forge --project /path/to/godot/project

Requirements

  • Node.js 18+: for npx execution
  • Godot 4.x: auto-detected (optional for 6 of 8 tools)
  • Any MCP-compatible IDE: Claude Code, Cursor, VS Code, Windsurf, Zed, and more

Design Principles

  • Outcomes, not operations: Each tool delivers a complete result, not raw API wrapping
  • 8 curated tools: No 93-tool context bloat (why this matters)
  • Progressive disclosure: Summaries first, details on demand
  • spawn() not exec(): No command injection, no Windows quoting bugs
  • Actionable errors: Every error includes a suggestion the AI can act on
  • Cross-platform: macOS, Windows, Linux. Steam and non-Steam installs.

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

Development

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

Running locally

# Point your IDE at the local build
claude mcp add godot-forge-dev -- node /path/to/godot-forge/dist/index.js

Roadmap

See ROADMAP.md for planned features.

Phase 2: Input simulation, runtime scene tree inspection, performance profiling, shader validation, export/CI pipeline.

Licence

MIT