Godot Forge
FreeMaintainedGodot 4 MCP server with: Test running (GUT/GdUnit4) with structured pass/fail results API docs search with 30+ Godot 3→4 migration mappings Script analysis dete
About
Godot 4 MCP server with: Test running (GUT/GdUnit4) with structured pass/fail results API docs search with 30+ Godot 3→4 migration mappings Script analysis detecting 10 common GDScript pitfalls Scene/resource file parsing with antipattern detection Viewport screenshot capture LSP diagnostics from Godot's language server TypeScript, cross-platform (macOS/Windows/Linux), published on npm
README
Godot Forge
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.
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
| 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.
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:
| # | 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" |
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:
GODOT_PATHenvironment variablegodot/godot4in PATH- Steam installation (macOS, Windows, Linux)
- 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
npxexecution - 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()notexec(): 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.
- Bug reports: Open an issue
- Feature requests: Start a discussion
- Pull requests: Fork, branch, test, PR
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
Install Godot Forge in Claude Desktop, Claude Code & Cursor
unyly install godot-forgeInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add godot-forge --env GODOT_PATH="" -- npx -y godot-forgeStep-by-step: how to install Godot Forge
FAQ
Is Godot Forge MCP free?
Yes, Godot Forge MCP is free — one-click install via Unyly at no cost.
Does Godot Forge need an API key?
Yes, it requires environment variables: GODOT_PATH. Unyly injects them into the config during install.
Is Godot Forge hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Godot Forge in Claude Desktop, Claude Code or Cursor?
Open Godot Forge on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Changes
Versions and requested access over time.
- New version published
- New version published
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Godot Forge with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
