Funplay Godot MCP について
Funplay MCP for Godot は、Godot エディター向けの MCP サーバーです。Claude Code、Cursor、VS Code Copilot などの AI アシスタントから、実行中の Godot プロジェクトを直接操作できます。MIT ライセンスで、Godot 4.2 以降および .NET プロジェクトに対応しています。
主な機能
- 01execute_code によるエディター操作の実行
- 02Godot ダッシュボードからのツール公開設定
- 03core と full の 2 種類のツールプロファイル
- 04プレイモードの確認に使うオプションのランタイムブリッジ
- 05プロジェクトマップ、リソース、プロンプト
活用シーン
- 01AI アシスタントによるシーンや HUD の構築
- 02プロジェクト内でのスクリプト生成とシグナル接続
- 03プレイモードでの入力シミュレーションと動作確認
MCP 対応
HTTP 経由でツール、リソース、プロンプトを公開する MCP サーバーです。stdio を好むクライアント向けに npm の stdio ラッパーも提供されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y funplay-godot-mcpFUNPLAY_GODOT_MCP_URLOptional Godot MCP HTTP endpoint. Defaults to http://127.0.0.1:8765/.GODOT_MCP_URLCompatibility endpoint variable used when FUNPLAY_GODOT_MCP_URL is not set.FUNPLAY_GODOT_MCP_TOKENシークレットGodot MCP local auth token from the Funplay MCP dock or user://funplay_mcp_settings.cfg.GODOT_MCP_TOKENシークレットCompatibility token variable used when FUNPLAY_GODOT_MCP_TOKEN is not set.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Godot 向け Funplay MCP
Godot エディター向けの最先端 MCP サーバー
Godot アセットストア · 中文 | 英語
💖 このプロジェクトが役に立った場合は、ぜひスターを付けてください。より多くの Godot 開発者に知ってもらい、継続的な開発を支える助けになります。
Godot 向け Funplay MCP は、MIT ライセンスの Godot エディター用 MCP サーバーです。Claude Code、Cursor、Windsurf、Codex、VS Code Copilot などの AI アシスタントが、実行中の Godot プロジェクト内で直接操作できるようにします。
このアドオンは標準の Godot 4.2+ プロジェクトで動作し、Godot .NET プロジェクトでも使用できます。現在の実装は GDScript ベースで、エクスポートされるスクリプトツールは言語に対応しています。GDScript プロジェクトでは GDScript のワークフローが、.NET プロジェクトでは C#/.NET のワークフローが表示され、混在プロジェクトでは必要に応じて両方が公開されます。
ゲームやツールの内容を一文で説明するだけで、AI アシスタントが Godot 向け Funplay MCP の組み込みツールを使って作成します。シーンの作成、スクリプトの生成、UI の作成、プレイモードでの検証、入力のシミュレーション、アニメーションの設定、カメラ制御、パフォーマンスの調査、エディターの自動化を行えます。
「体力、弾薬、一時停止メニュー、被弾時のフラッシュ表示を備えた、トップダウンシューティングの HUD を作って」
AI アシスタントが Godot 向け Funplay MCP を通じて処理します。シーン構造の作成、スクリプトの生成、Control ツリーの構築、シグナルの接続、アニメーションの設定、ワークフローの検証まで、すべて一つのプロンプトから行います。
クイックスタート
すぐに接続したい場合は、次の3つを行ってください。
- プロジェクトを開くか、
addons/funplay_mcpを自身の Godot プロジェクトにコピーします - プラグインを有効にして、MCP サーバーを起動します
- 組み込みのワンクリッククライアント設定を使います
1. アドオンをインストールする
次のいずれかの方法でインストールできます。
- Godot アセットストアからインストールする
- 最新の GitHub リリースから
Funplay.GodotMcp.vX.Y.Z.zipをダウンロードし、プロジェクトのルートに展開する - このリポジトリをクローンして、Godot プロジェクトとして直接開く
addons/funplay_mcpを自身の Godot のres://addons/ディレクトリにコピーする
💡 クローンまたはインストールの前に、GitHub で ⭐ を付けていただけると大変うれしいです。
2. MCP サーバーを有効にして起動する
Godot で次の操作を行います。
- Project → Project Settings → Plugins を開きます
- Funplay MCP for Godot を有効にします
- 右側にある Funplay MCP ドックを使います
サーバーはデフォルトで http://127.0.0.1:8765/ で起動します。
このポートがすでに使用されている場合は、空いている別のローカルポートを自動的に選び、そのポートを user://funplay_mcp_settings.cfg に保存します。
ローカル MCP POST リクエストには、user://funplay_mcp_settings.cfg に保存されているプロジェクトごとの認証トークンが必要です。ドックはそのトークンを、生成された stdio クライアント設定に自動的に書き込みます。
認証済みクライアントは execute_code を含む影響の大きいエディターツールを実行できます。信頼できるローカルクライアントを使っている間だけサーバーを有効にし、意図的に無効化する必要がない限り、安全チェックは有効のままにしてください。
ドックにはインストール済みアドオンのバージョンも表示され、新しいバージョンがある場合は最新の GitHub リリースを開く Check Updates アクションもあります。
ドック上部の Language セレクターを使うと、英語と簡体字中国語を切り替えられます。選択内容は user://funplay_mcp_settings.cfg に保存され、次回プロジェクトを開いたときに復元されます。
3. AI クライアントを設定する
まず、Funplay MCP ドックに組み込まれているワンクリック MCP 設定を使用してください。
対象のクライアントを選択して設定をクリックすると、アドオンが推奨される MCP 設定エントリーを書き込みます。
アドオンでプロジェクト内のスキルファイルをres://.funplay/skills/の下に生成し、リポジトリの指示を読み取る AI クライアント用のAGENTS.mdブリッジも作成する場合は、設定+スキルを使用してください。
Godot が別のポートを選んだ場合は、ドックに表示されるエンドポイントを使用してください。 設定ファイルを手動で編集する場合は、以下の例を参考にしてください。
Claude Code / Claude Desktop
{
"mcpServers": {
"funplay": {
"type": "stdio",
"command": "npx",
"args": ["-y", "[email protected]"],
"env": {
"FUNPLAY_GODOT_MCP_URL": "http://127.0.0.1:8765/",
"FUNPLAY_GODOT_MCP_TOKEN": "<token from Funplay MCP dock>"
}
}
}
}
Cursor
{
"mcpServers": {
"funplay": {
"command": "npx",
"args": ["-y", "[email protected]"],
"env": {
"FUNPLAY_GODOT_MCP_URL": "http://127.0.0.1:8765/",
"FUNPLAY_GODOT_MCP_TOKEN": "<token from Funplay MCP dock>"
}
}
}
}
VS Code
{
"servers": {
"funplay": {
"type": "stdio",
"command": "npx",
"args": ["-y", "[email protected]"],
"env": {
"FUNPLAY_GODOT_MCP_URL": "http://127.0.0.1:8765/",
"FUNPLAY_GODOT_MCP_TOKEN": "<token from Funplay MCP dock>"
}
}
}
}
Codex
[mcp_servers.funplay]
url = "http://127.0.0.1:8765/"
オプションの stdio ラッパー
ほとんどのクライアントは、HTTP 経由でアドオンに直接接続できます。Godot の符号付き 64 ビット範囲内の整数形式の JSON-RPC レスポンス ID は整数としてシリアライズされるため、整数と浮動小数点数を区別するクライアントとの互換性が保たれます。その範囲外の ID は、従来の表現が維持されます。stdio パッケージを使用するクライアントやレジストリ向けに、このリポジトリには npm 対応のラッパーもstdio-wrapper/に含まれています。
ラッパーは、レスポンスボディを含む各 HTTP リクエストを 60 秒に制限するため、応答が滞ったリクエストによって後続のメッセージがいつまでもブロックされることはありません。
cd stdio-wrapper
npm link
FUNPLAY_GODOT_MCP_URL=http://127.0.0.1:8765/ funplay-godot-mcp
公開済みのラッパーをインストールするには、npm linkではなくnpm install -g [email protected]を使用してください。
MCP クライアントエントリーの例:
{
"mcpServers": {
"funplay": {
"command": "funplay-godot-mcp",
"env": {
"FUNPLAY_GODOT_MCP_URL": "http://127.0.0.1:8765/"
}
}
}
}
4. 接続を確認する
AI クライアントを開き、まず安全なリクエストをいくつか試してください。
- 「
get_scene_infoを呼び出して、開いているシーンを教えてください。」 - 「
godot://project/contextを読み取り、現在のエディターの状態を要約してください。」 - 「
execute_codeを使って、アクティブなシーン名を返してください。」
これらが機能すれば、MCP サーバー、リソース、主要な実行ツールは正しく接続されています。
5. 作成を始める
AI クライアントを開き、次のように試してください:「体力バー、スコアラベル、一時停止ボタンを備えた 2D HUD を作成して」
始める前に
- このアドオンはエディター専用です。エクスポートしたゲームに実行時コンポーネントを追加することはありません。
- MCP サーバーはデフォルトで
http://127.0.0.1:8765/で起動します。同じプロジェクトがすでにそのポートを使用している場合、ドックはそのポートに接続します。使用されていない場合は、別の空きローカルポートに切り替わります。 - ローカルの MCP サーバー設定は
user://funplay_mcp_settings.cfgに保存されます。 - 言語セレクターでローカライズされるのはドックの UI のみです。互換性を保つため、MCP ツール名、プロトコルフィールド、生成されるクライアント設定識別子は英語のまま変更されません。
- アドオンは、AI クライアントのツールリストを簡潔にするため、デフォルトで
coreMCP ツールプロファイルを使用します。すべてのツールを利用するには、ドックでfullに切り替えてください。 - ドックには、アクティブなプロファイル内の個々のツールを無効にするツール公開パネルがあり、オプションでデバッグログと
execute_codeの安全設定も切り替えられます。 execute_codeの安全性チェックは、一般的なプロセス、ファイルシステム、プロジェクト設定の変更に対してデフォルトで有効です。レビュー済みの呼び出しでは、safety_checks=falseを指定できます。- プレイモードのリクエストは MCP レスポンス送信後まで保留され、繰り返し呼び出しても同じ結果になります。複数の実行インスタンスを許可するよう設定されたプロジェクトでは、
allow_multiple_instances=trueを指定する必要があります。意図的に再起動する場合に限りrestart_if_running=trueを使用し、その後get_play_stateで遷移が確認されたことを調べてください。 - ドックでは GitHub Releases を確認して新しいアドオンのバージョンを調べることができ、リリース zip、manifest、SHA256、
server.jsonの各アーティファクトが存在するかどうかも表示されます。 - 対象を絞った MCP ツールは直接実行されます。アドオン内に追加の承認切り替えはありません。
- 組み込みのドックでは、Codex、Claude Code、Cursor、VS Code 用の推奨 MCP 設定エントリーをコピーまたは書き込めます。
このプロジェクトを選ぶ理由
execute_codeを優先 — 安全性チェックがデフォルトで有効になった、高い柔軟性を備えた GDScript 実行ツールを中心に、エディターや実行環境の高度なオーケストレーションに最適化されています- ツールの公開制御 — アドオンのコードを編集したり、プロジェクトを再起動したりせずに、Godot のドックから個々のツールを切り替えられます
- ドックダッシュボード — Godot 内で、サーバーの状態、ツールの公開状況、実行環境ブリッジのハートビート、リリース準備状況、プロジェクトマップの操作を確認できます
- ドック UI の二言語対応 — プロジェクトごとに設定を保存し、ドックのコントロール、ツールチップ、運用状況の表示を英語と簡体字中国語で切り替えられます
- プロジェクトスキル — 現在のエンドポイント、ツールプロファイル、プロジェクトのコンテキスト、推奨される Funplay ワークフローを記録した、プロジェクト内の AI 向けガイダンスファイルを生成します
- ツールカタログとヘルプ — MCP から、カテゴリ別のツールカタログ、機能の利用条件、ワークフローの対応状況、タスク別のガイダンスを取得できます
- プロジェクトマップとテンプレート — シーン、スクリプト、関数、シグナル、使用箇所へのリンク、検索可能なブラウザーグラフを確認でき、スクリプトのリファクタリング計画をドライランで作成できます
- 実行環境ブリッジ — プレイモードのハートビート、シーンツリーのスナップショット、ノードのクエリ、実行環境のスクリーンショット、入力の注入、イベント履歴に対応する軽量な自動読み込み機能を、必要に応じてインストールできます
- 安全なプレイモード自動化 — 冪等性のある開始・停止の切り替えをキューに追加して確認し、複数インスタンスの実行を明示的に許可したうえで、同じ MCP セッションから入力のシミュレーション、ログの確認、動作の検証を行えます
- プロジェクトコンテキストを標準搭載 — プロジェクトの状態、アクティブなシーン、選択状態、プレイ状態、スクリプトエラー、ログ、MCP のインタラクション履歴をライブリソースとして公開します
- 必要なときだけフル機能 —
coreは必要な情報に絞ったコンパクトなツールセットを公開し、fullはより幅広いエディター自動化機能を公開します - Godot アドオンはこれひとつ — Godot 側のプラグイン自体に、追加の承認 UI や外部の Python デーモンは必要ありません
- 拡張可能 — リポジトリの進化に合わせて、Godot 固有のツール、リソース、プロンプト、ワークフローヘルパーを追加できます
特長
- 組み込みツール 129 個 — シーン編集、PackedScene ワークフロー、言語対応のスクリプトツール、プロジェクトマップ、スクリプトのリファクタリング計画、プロジェクト設定、アセットインポート計画、入力マップ、自動読み込み機能、実行環境ブリッジ、元に戻す/やり直し、ワークフローガイダンス、ファイル、プロジェクトスキル、プレイモード制御、UI コントロール、アニメーション、カメラ、パフォーマンス、リソース、プロンプト、エディター自動化に対応します
- リソースとプロンプト — ライブのプロジェクトコンテキスト、ダッシュボードの状態、JSON および HTML 形式のプロジェクトマップ、リリース準備状況、実行環境のシーンツリースナップショットとイベント履歴、シーン/選択状態/エラーのリソース、言語対応のスクリプト診断、該当する場合は
.NETプロジェクトリソース、テンプレートリソース、再利用可能なワークフロープロンプトを提供します - 構造化された結果 — JSON 形式のツール出力とツールエラーは MCP の
structuredContentにも反映され、ノードやリソースの概要には、後続の呼び出しに使えるセッションのinstance_id値が含まれます - 入力シミュレーションとビューキャプチャ — アクション/キー/マウスのシミュレーションでプレイモードを操作し、キャプチャしたエディター画面で結果を検証できます
- ワンクリックのクライアント設定 — Godot のドックから Codex、Claude Code、Cursor、VS Code 向けの MCP 設定エントリを直接生成できます
- リリースとレジストリに対応 — GitHub Release のアーティファクトにはマニフェストと SHA256 チェックサムが生成され、Godot Asset Library 向けのパッケージ化手順も含まれます。npm stdio ラッパーは
server.jsonで定義され、リリース準備状況は MCP から確認できます - UI/コントロールツール — MCP を通じて CanvasLayer と Control の階層を構築し、レイアウトの設定、テーマのオーバーライドの適用、シグナルの接続、HUD の作成ができます
- ベンダーに依存しない設計 — Claude Code、Cursor、Windsurf、Codex、VS Code Copilot など、MCP に対応するあらゆる AI クライアントで動作します
Unity MCP との比較
以下の表では、このリポジトリと、公開されている FunplayAI/funplay-unity-mcp の動作および位置付けを比較します。
| 項目 | Godot 用 Funplay MCP | Unity 用 Funplay MCP |
|---|---|---|
| エンジン側のアーキテクチャ | HTTP MCP サーバーを内蔵した Godot Editor アドオン | HTTP MCP サーバーを内蔵した Unity Editor パッケージ |
| 追加のローカル前提条件 | コアワークフローには Godot アドオンのみ | コアワークフローには Unity パッケージのみ |
| 主なワークフローのスタイル | まず execute_code を使用し、その後、目的に応じたヘルパーツールを使用 | まず execute_code を使用し、その後、目的に応じたヘルパーツールを使用 |
| デフォルトのツール公開範囲 | コンパクトな core プロファイルと、必要に応じて拡張できる full プロファイル | コンパクトな core プロファイルと、必要に応じて拡張できる full プロファイル |
| 組み込みのコンテキストモデル | プロジェクトリソース、スクリプトエラーの概要、再生状態、実行時のシーンツリー、実行時イベント、ログ、プロンプト、インタラクション履歴 | プロジェクトリソース、コンパイルエラー、再生状態、ログ、プロンプト、インタラクション履歴 |
| UI 自動化 | Godot の Control / CanvasLayer を活用した高度なワークフロー | Unity Canvas / UI ヘルパー |
| 位置付け | AI 主導のエディター制御に対応する、軽量で直接的な MIT ライセンスの Godot MCP サーバー | AI 主導のエディター制御に対応する、軽量で直接的な MIT ライセンスの Unity MCP サーバー |
MCP の機能
現在のオープンソースパッケージでは、価値の高い次の 4 つの機能レイヤーを提供しています。
- ツール — シーン編集、スクリプト、プロジェクトマップ、プロジェクト設定、アセットのインポート計画、入力マップ、オートロード、実行時ブリッジ、元に戻す/やり直し、ワークフローガイダンス、ファイル、プロジェクトスキル、UI、アニメーション、カメラ、診断、自動化に対応する、合計 129 個の登録済みツールです。スクリプト関連ツールは、検出されたプロジェクト言語とドックの「ツール公開範囲」設定に応じてフィルタリングされます。
- 主な実行機能 — エディター/実行時の高度なオーケストレーションに使用する
execute_codeです。安全性チェックはデフォルトで有効で、オプションのオブジェクト形式コンテキストヘルパー、ログ、変更追跡メタデータも利用できます。 - プロンプト —
scene_review、feature_plan、runtime_debug、script_patch、ui_layout_plan、architecture_advice、performance_advice、network_template、template_generateなどのワークフロープロンプトです。 - リソース — プロジェクトコンテキスト、ダッシュボードのステータス、プロジェクトマップの JSON/HTML、シーンの概要、選択状態、ログ、スクリプトエラー、再生状態、実行時のシーンツリー、実行時イベント、リリース準備状況、プロジェクト機能、MCP インタラクション履歴、テンプレートカタログ、ファイルテンプレートです。
組み込みツール
Funplay MCP for Godot には、主要なワークフローグループにわたって、現在 129 個の登録済みツール関数が含まれています。実際にエクスポートされるスクリプトツールは、検出されたプロジェクト言語とツールごとの公開設定によってフィルタリングされます。
| カテゴリ | ツール |
|---|---|
| シーン | get_scene_info, get_scene_tree, list_scenes, open_scene, save_scene, save_scene_as, create_new_scene, instantiate_scene, create_packed_scene_from_node, get_packed_scene_info |
| ノード | get_node_info, find_nodes, select_node, create_node, duplicate_node, rename_node, reparent_node, remove_node, set_node_property, set_node_properties, set_transform_2d, set_transform_3d, set_node_script |
| ノードのリフレクション | list_node_properties, list_node_signals, list_node_methods |
| スクリプト | create_script, list_scripts, edit_script, patch_script, open_script, validate_script, get_script_errors, request_script_reload、.NET プロジェクトでは get_dotnet_project_info も公開されます |
| プロジェクトマップ | map_project, find_usages, plan_script_refactor, apply_script_refactor |
| プロジェクト設定/入力/オートロード | list_project_settings, get_project_setting, set_project_setting, list_input_actions, get_input_action, add_input_action, remove_input_action, add_input_event_to_action, clear_input_events, list_autoloads, set_autoload, remove_autoload |
| ガイダンス/機能 | funplay_help, list_tool_catalog, get_dashboard_status, get_capability_status, get_editor_protocol_status, get_release_readiness, list_workflow_coverage |
| ランタイムブリッジ/取り消し | install_runtime_bridge, remove_runtime_bridge, get_runtime_bridge_status, query_runtime_node, capture_runtime_view, send_runtime_input, get_runtime_events, get_undo_redo_status, editor_undo, editor_redo |
| ファイル | read_file, write_file, search_files, list_files, file_exists, delete_file, move_file, copy_file |
| 再生/入力 | get_play_state, enter_play_mode, play_main_scene, exit_play_mode, simulate_action, simulate_key_event, simulate_mouse_button, simulate_mouse_drag, simulate_input_sequence, get_time_scale, set_time_scale |
| アサーション/診断 | assert_node_exists, assert_node_property, assert_signal_connected, wait_msec, get_performance_snapshot, analyze_scene_complexity, get_console_logs, log_message |
| アニメーション | create_animation_player, create_animation_clip, add_animation_track, list_animations, play_animation |
| カメラ | get_camera_info, set_camera_2d, set_camera_3d |
| マテリアル | create_material, assign_material |
| UI/コントロール | create_ui_root, create_control, create_label, create_button, create_panel, create_texture_rect, create_container, set_control_layout, set_control_size_flags, set_control_text, set_control_theme_override, set_control_texture, connect_node_signal |
| プロジェクト/アドオン | get_project_info, list_project_features, plan_asset_import, get_project_skills_status, generate_project_skills, select_file, list_addons, set_addon_enabled |
| キャプチャ/実行 | capture_editor_view, execute_code |
リポジトリの構成
addons/funplay_mcp/plugin.gd— Godot エディターのプラグインエントリーポイントaddons/funplay_mcp/core/— MCP サーバー、ツール、リソース、プロンプト、設定、設定ファイルの生成処理addons/funplay_mcp/ui/— Godot のドック UIstdio-wrapper/— HTTP 経由で MCP に直接接続できないクライアント向けの npm stdio ブリッジserver.json— stdio ラッパーの MCP Registry メタデータscripts/package_release.py— リリース成果物のビルダーとパッケージのバリデーターscripts/run_godot_smoke.py— ランタイムブリッジコマンドを検証するローカルの Godot スモークテストランナーscripts/godot_runtime_bridge_smoke.gd— ランナーが使用するヘッドレス Godot スモークテストスクリプトASSET_LIBRARY.md— Godot Asset Library のパッケージ化、提出、安全な更新に関する注意事項CHANGELOG.md— ユーザー向けの変更内容CONTRIBUTING.md— コントリビューションのワークフローRELEASE_CHECKLIST.md— リリースプロセス
コントリビューション
CONTRIBUTING.md を参照してください。
ライセンス
このリポジトリは MIT ライセンスです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。