Godot Forge について
Godot ForgeはGodot 4プロジェクト向けのMCPサーバーで、コーディングエージェントにテスト、ドキュメント検索、スクリプトやシーンの分析ツールを提供します。Godot 3から4へのAPI変更にも対応し、非推奨の記述を特定できます。
主な機能
- 01GUTとGdUnit4のテスト実行
- 02Godot 4のドキュメントと移行対応表の検索
- 03GDScriptのよくある問題の検出
- 04シーンの解析と問題の確認
- 05LSP診断とプロジェクト画面のキャプチャ
活用シーン
- 01変更後にテストを実行して結果を確認
- 02古いGodot APIの記述をGodot 4の対応項目に置換
- 03スクリプトとシーンのエラーやアンチパターンを確認
- 04エディター診断やゲーム画面のキャプチャを確認
MCP 対応
Godot Forgeは、テスト、ドキュメント、分析、診断、スクリーンショットを含む8種類のGodotプロジェクト用ツールを、MCP対応IDEやコーディングエージェントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| method | string | いいえ | 特定のテストメソッド名で絞り込みます |
| timeout | number | いいえ | タイムアウト時間(秒)(デフォルト:60) |
| framework | enum | いいえ | 特定のフレームワークを強制的に使用します(省略時は自動検出)gut | gdunit4 |
| inner_class | string | いいえ | 特定の内部テストクラスで絞り込みます |
| script_path | string | いいえ | 特定のテストスクリプトで絞り込みます(例:res://tests/test_inventory.gd) |
詳細
Godot Forge
Godot 4 用の MCP サーバーです。テストランナー、API ドキュメント、スクリプト分析などを提供します。
AI コーディングアシスタントは、構造的に GDScript を苦手としています。Godot 3 に偏ったデータでトレーニングされたモデルは、非推奨 API を誤って生成します(await ではなく yield、CharacterBody3D ではなく KinematicBody、@export var ではなく export var)。Godot Forge がこの問題を解決します。
ツールは 8 個。設定不要。MCP 対応 IDE ならどれでも動作します。
インストール
npx -y godot-forge
以上です。Godot Forge は Godot の実行ファイル(Steam、Homebrew、直接ダウンロード)を自動検出し、project.godot も自動的に見つけます。
IDE への追加
Claude Code
claude mcp add godot-forge -- npx -y godot-forge
Cursor
.cursor/mcp.json に追加します:
{
"mcpServers": {
"godot-forge": {
"command": "npx",
"args": ["-y", "godot-forge"]
}
}
}
VS Code (Copilot)
.vscode/mcp.json に追加します:
{
"servers": {
"godot-forge": {
"command": "npx",
"args": ["-y", "godot-forge"]
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json に追加します:
{
"mcpServers": {
"godot-forge": {
"command": "npx",
"args": ["-y", "godot-forge"]
}
}
}
Zed
settings.json に追加します:
{
"context_servers": {
"godot-forge": {
"command": {
"path": "npx",
"args": ["-y", "godot-forge"]
}
}
}
}
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%/Claude/claude_desktop_config.json(Windows)に追加します:
{
"mcpServers": {
"godot-forge": {
"command": "npx",
"args": ["-y", "godot-forge"]
}
}
}
その他の IDE(Codex、Gemini CLI、JetBrains、Continue、Cline、Roo Code、Neovim、OpenCode、Kiro)
対応するすべての IDE の設定スニペットについては、IDE セットアップガイドをご覧ください。
ツール
| ツール | 説明 | Godot が必要 | エディターが必要 |
|---|---|---|---|
godot_run_tests | GUT/GdUnit4 テストを実行し、構造化された合否結果を取得 | はい | いいえ |
godot_search_docs | 3→4 の移行マッピングを含む Godot 4 API ドキュメントを検索 | いいえ | いいえ |
godot_analyze_script | GDScript の落とし穴を 10 種類検出(非推奨 API、結合、再入可能性) | いいえ | いいえ |
godot_analyze_scene | .tscn/.tres を解析し、アンチパターンと形式エラーを検出 | いいえ | いいえ |
godot_get_project_info | 段階的開示によるプロジェクト構造の概要 | いいえ | いいえ |
godot_get_diagnostics | Godot の言語サーバーから LSP 診断情報を取得 | いいえ | はい |
godot_run_project | プロジェクトを起動・停止し、デバッグ出力を取得 | はい | いいえ |
godot_screenshot | ビューポートのスクリーンショットを base64 PNG として取得 | はい | いいえ |
ヒント
8 個のツールのうち 6 個は、Godot をインストールしていなくても動作します。テストの実行、プロジェクトの起動、スクリーンショットの取得にのみ実行ファイルが必要です。
機能
テストランナー
GUT と GdUnit4 を自動検出します。合否件数と、ファイルパスおよび行番号を含む失敗の詳細を、構造化された JSON で返します。スクリプト、メソッド、内部クラスによる絞り込みに対応しています。
Ask your AI: "Run the water profile tests"
→ { total: 5, passed: 5, failed: 0, duration_ms: 462 }
Godot 3→4 移行マッピング
AI が壊れた GDScript を書く最大の原因です。AI が非推奨 API を照会すると、Godot 4 での正しい代替 API をすぐに取得できます(クラス、メソッド、構文、定数を網羅した 30 以上のマッピング)。
Query: "KinematicBody" → "Renamed to CharacterBody3D in Godot 4"
Query: "yield" → "yield(obj, 'signal') → await obj.signal"
Query: "instance()" → "instance() → instantiate()"
スクリプト解析:10 の落とし穴
実際のゲーム開発で見つかったすべての落とし穴を検出します。
| # | 落とし穴 | 検出対象 |
|---|---|---|
| 1 | Godot 3→4 API | yield、connect("signal")、export var、instance() |
| 2 | 巨大なスクリプト | 300 行超。分割が必要です |
| 3 | Variant に対する := | Dictionary.get() で型推論を行うと解析エラーが発生します |
| 4 | 密結合 | 過剰な get_node("../../...") 参照 |
| 5 | シグナルの再入 | 状態変更の間にシグナルが発行されます |
| 6 | Autoload の誤用 | Autoload の数が多すぎる、Autoload 上の static func |
| 7 | 切断処理の欠落 | _exit_tree() でのクリーンアップを伴わない connect() |
| 8 | _init() のタイミング | ノードがツリーに入る前のノードツリーへのアクセス |
| 9 | Python 由来の記述 | リスト内包表記、len()、Python のインポート |
| 10 | .tres の type フィールド | type="Resource" ではなくカスタムクラス名を使用 |
シーン解析
.tscn と .tres ファイルを解析します。深いネスト(8 レベル超)、大きすぎるシーン(100 ノード超)、スクリプト参照の欠落、.tres 内の preload()、整数のリソース ID などを検出します。
LSP 診断
Godot に組み込まれた言語サーバーに接続します(エディターが開いていると自動的に実行されます)。実際のコンパイラーエラーと警告を返します(推測は不要です)。
メモ
プロジェクトを開いた状態で Godot エディターを実行している必要があります。それ以外のツールはエディターなしで動作します。
スクリーンショットのキャプチャ
ゲームのビューポートを PNG 画像としてキャプチャします。プロジェクトのメインシーン(または指定したシーン)を読み込み、レンダリングを待ってから、AI が確認できるようスクリーンショットを base64 形式で返します。
設定
Godot バイナリ
次の順序で自動検出されます。
GODOT_PATH環境変数- PATH 内の
godot/godot4 - Steam のインストール先(macOS、Windows、Linux)
- プラットフォームの標準パス(
/Applications/Godot.app、Homebrew、Scoop、Flatpak、Snap など)
手動で上書きする場合:
export GODOT_PATH="/path/to/godot"
検索対象パスの一覧は、Godot の検出を参照してください。
プロジェクトディレクトリ
現在のディレクトリから上位へたどり、project.godot を見つけて自動検出します。上書きする場合:
npx godot-forge --project /path/to/godot/project
要件
- Node.js 18+:
npxで実行するために必要です - Godot 4.x:自動検出されます(8 つのツールのうち 6 つでは省略可能です)
- MCP 互換 IDE:Claude Code、Cursor、VS Code、Windsurf、Zed、その他 多数
設計原則
- 操作ではなく成果:各ツールは生の API ラッパーではなく、完全な結果を提供します
- 厳選した 8 つのツール:93 個のツールによるコンテキストの肥大化を避けます(これが重要な理由)
- 段階的な情報開示:まず概要を示し、詳細は要求に応じて提供します
exec()ではなくspawn():コマンドインジェクションや Windows の引用符処理の不具合はありません- 実行可能なエラー:すべてのエラーに、AI が実行できる提案が含まれます
- クロスプラットフォーム:macOS、Windows、Linux に対応。Steam 経由、非 Steam 経由のインストールに対応します。
貢献
貢献を歓迎します!ガイドラインについては CONTRIBUTING.md を参照してください。
- バグ報告:Issue を作成
- 機能リクエスト:ディスカッションを開始
- プルリクエスト:フォークし、ブランチを作成してテストし、PR を送ってください
開発
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
ロードマップ
予定されている機能については ROADMAP.md を参照してください。
フェーズ 2:入力シミュレーション、実行時のシーンツリー検査、パフォーマンスプロファイリング、シェーダー検証、エクスポート/CI パイプライン。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。