Funplay Cocos MCP について
Funplay MCP for Cocos は、エディターに MCP サーバーを組み込み、AI アシスタントから実行中のプロジェクトを操作・確認できる Cocos Creator 拡張機能です。中心となる JavaScript 実行ツールに加え、クライアント設定と任意の stdio ブリッジを備えています。
主な機能
- 01シーンまたはエディター環境で JavaScript を実行
- 02プロジェクトの確認とスクリーンショット取得
- 03エディターパネルから MCP クライアントを設定
- 04カテゴリ別のツール公開管理
- 05呼び出し結果とスクリプトログの表示
- 06任意の stdio・HTTP ブリッジ
活用シーン
- 01AI アシスタントによる Cocos UI 階層の構築
- 02アクティブシーンでのスクリプト実行と結果確認
- 03対応クライアントからエディターへの接続設定
- 04stdio クライアントから HTTP MCP エンドポイントへの接続
MCP 対応
拡張機能は Cocos Creator 内に HTTP MCP サーバーを組み込み、実行中のプロジェクトの操作や確認に使う `execute_javascript` などのツールを公開します。任意の npm パッケージで stdio の MCP 通信をこの HTTP エンドポイントへ中継できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y funplay-cocos-mcpFUNPLAY_COCOS_MCP_URLOptional local Cocos MCP HTTP endpoint. Defaults to http://127.0.0.1:8765/.FUNPLAY_COCOS_MCP_TIMEOUT_SECONDSOptional HTTP timeout per request in seconds. Defaults to 120.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Funplay MCP for Cocos
Cocos Creator エディター向けの組み込み MCP サーバー
中文 | 英語
このプロジェクトが Cocos のワークフローに役立った場合は、ぜひ Star を付けてください。より多くの開発者にこのプロジェクトを知ってもらい、継続的な開発を支援することにつながります。
Funplay MCP for Cocos は、HTTP MCP サーバーをエディター内に直接組み込む、MIT ライセンスの Cocos Creator 拡張機能です。Claude Code、Cursor、Codex、VS Code Copilot、Trae、Kiro、Qoder、Kimi Code、OpenCode、CodeBuddy、DeepSeek Harness(DSH)などの AI アシスタントから、実行中の Cocos プロジェクトを調査、操作できます。
このパッケージは、Funplay MCP for Unity と同じ製品方針に沿っています。標準のツール構成を絞り込み、ワンクリックで設定できるクライアント設定ウィンドウを用意し、柔軟性の高い実行ツールを主要なワークフローとしています。
Cocos で主要となるツールは execute_javascript です。
context: "scene"は、アクティブな Cocos シーン/ランタイムのコンテキストで JavaScript を実行しますcontext: "editor"は、Cocos エディター/ブラウザーのコンテキストで JavaScript を実行します
「アカウント/パスワード欄とメインのログインボタンを備えたログインページの UI を作成してください。」
AI アシスタントは
execute_javascriptを呼び出して、アクティブな Canvas の下に UI 階層を構築し、Cocos コンポーネントをアタッチし、結果を確認して、検証用のスクリーンショットを撮影できます。
クイックスタート
すぐに接続するには、次の 3 つの手順を実行してください。
- このリポジトリを Cocos Creator 拡張機能としてインストールします
Funplay > MCP Serverを開きます- 組み込みのワンクリック MCP クライアント設定を使用します
1. Cocos Creator 拡張機能としてインストールする
推奨されるインストール方法:公式の Cocos Store ページから拡張機能をインストールし、対象の Cocos Creator プロジェクトに追加します。
ローカル開発や未リリースのビルドでは、このリポジトリをクローンするか、Cocos プロジェクトの拡張機能ディレクトリにコピーしてください。
cd /path/to/your-cocos-project
mkdir -p extensions
git clone https://github.com/FunplayAI/funplay-cocos-mcp.git extensions/funplay-cocos-mcp
その後、Cocos Creator を再起動するか、エディターから拡張機能を再読み込みしてください。
Git を使わずにインストールする場合は、GitHub Releases ページから Funplay.CocosMcp.v<version>.zip をダウンロードして解凍し、展開された funplay-cocos-mcp フォルダーをプロジェクトの extensions/ ディレクトリに移動してください。
すべてのプロジェクトにインストール(推奨)
まず、任意のプロジェクトに拡張機能をインストールして開きます。次に、Funplay > MCP Settings を開き、「すべてのプロジェクト」セクションで すべてのプロジェクトにインストール をクリックします。拡張機能は最新の GitHub リリースをダウンロードし、SHA256SUMS.txt を検証して、現在アクティブな Cocos Creator バージョンの管理対象グローバル拡張機能ディレクトリにインストールされます。
- macOS / Linux:
~/.CocosCreator/builtin-extensions/<Creator version>/funplay-cocos-mcp - Windows:
%USERPROFILE%\.CocosCreator\builtin-extensions\<Creator version>\funplay-cocos-mcp
Cocos Creator はインストールされたコピーをすぐにスキャンして登録します。その Creator バージョンで開いたプロジェクトや作成したプロジェクトでは、自動的に拡張機能が読み込まれ、MCP サーバーはデフォルトの自動起動動作を維持します。プロジェクトレベルのコピーが優先される場合は、すでに実行中のプロジェクトを開き直してください。各プロジェクトの extensions/ ディレクトリに拡張機能のファイルがコピーされることはありません。
グローバル拡張機能は Cocos Creator のバージョンごとに分離されています。複数の Creator バージョンを使用する場合は、各バージョンから すべてのプロジェクトにインストール を一度実行してください。
インストーラーは現在のプロジェクトのコピーを削除しないため、開発用ワークツリーが保護されます。両方のコピーが存在する場合、MCP Settings に重複インストールの警告が表示されます。グローバルコピーが正常に動作することを確認したら、拡張機能の競合を避けるため、プロジェクトのコピーを削除するか無効にしてください。
2. MCP サーバーを起動する
エディターメニューを開きます。
Funplay > MCP Server
新しいプロジェクトでは、プロジェクトから導出された 20000–29999 の範囲のポートが安定して割り当てられます。既存の保存済み設定では、固定ポート(8765 を含む)が維持されます。MCP Server に表示されている正確な URL を使用してください。一時的なフォールバックポートが使用中の場合は、クライアントを設定する前に Pin Current Port または Use Per-Project Port をクリックしてください。
設定されたポートがすでに使用中の場合、拡張機能は既存のリスナーが同じ Cocos プロジェクトに属しているかを最初に確認します。同じプロジェクトのリスナーは安全に再利用されます。無関係なリスナーがある場合は、次に利用可能なローカルポートへ自動的に切り替わります。
パネルは意図的にシンプルにしています。
- MCP サーバーを有効または無効にする
- ツール公開設定、MCP 設定、プロジェクトスキルの各ウィンドウを開く
- インストール済みバージョンを最新の GitHub リリースと自動的に照合する
- リリースページを開くか、パネルから検証済みのリリースパッケージをインストールする
- Cocos Creator のグローバル拡張機能ディレクトリに一度インストールすることで、既存および新規プロジェクトで自動的に利用できるようにする
- AI クライアントをワンクリックで設定し、選択したクライアントの設定をプレビューする
- 高度なツールプロファイル編集、トランスポート設定、インストール管理をメインのサーバーウィンドウから分離する
- Cocos Creator のインターフェース言語に自動的に従うか、MCP 設定でプロジェクトごとに中国語/英語を選択する
- 設定の Print MCP logs を切り替えて、最近のアクティビティや内部診断情報を保持したまま、MCP のコンソールメッセージを非表示にする
すべての管理ページで、一貫した見出し、整列したコントロール、軽量なセクションを使用します。ツール公開設定ではカテゴリごとにツールの切り替えをまとめ、プロジェクトスキルでは利用可能なアクションを強調し、ファイルパスとバックアップを折りたたみます。最近のアクティビティには、各呼び出しの概要と実際の結果が、展開可能なオブジェクト/配列ツリーとして表示されます。スクリプトでは、実行ログと戻り値が別々のセクションに表示されます。出力セクションと単独のログ表示パネルは削除されています。短いアクション通知で成功/失敗のフィードバックを維持しながら、診断ログは MCP のツールとリソースから引き続き利用できます。
スクリプトツールは、失敗前のログも含め、呼び出しごとの console.log/info/warn/error/debug 出力を Print MCP logs とは独立して取得します。取得処理は同時実行や入れ子になった呼び出しごとに分離され、スクリプトの処理が完了すると停止します。グローバル/プロジェクトのログや、別途読み込まれたモジュールのログは収集されません。注入された console を使用してください(run/モジュールのエクスポートでは env.console としても利用できます)。MCP のレスポンスでは既存の data の形を維持し、コンテキスト、処理時間、上限付き/秘匿化済みのログ、および省略されたエントリ数を含む任意の execution メタデータを追加します。最近のアクティビティでは、結果の階層構造とスカラー値が維持されます。大きな結果やファイル/スクリプト本文は引き続き制限または省略され、省略時には通知が表示されます。
拡張機能メニューとネイティブパネルのタイトルは、Cocos Creator のインターフェース言語に従います。パネルのコントロール、ツールの説明、ステータスメッセージ、プロンプト、空の状態は英語と中国語に対応しています。Creator の言語に従うか、プロジェクト固有のコンテンツ言語を設定するには、Funplay > MCP Settings を開いてください。クライアントとの連携を安定させるため、MCP のツール ID とスキーマは英語のままです。
3. AI クライアントを設定する
まず、Funplay > MCP Server パネルに組み込まれている MCP Client Config セクションを使用してください。
対象のクライアントを選択して One-Click Configure をクリックすると、拡張機能が推奨される MCP 設定エントリを書き込みます。
クライアントに書き込まれる MCP サーバー名は次のとおりです。
cocos-<project>-<hash>
設定ファイルを手動で編集する場合は、以下の例を参考として使用してください。レガシー名の funplay_cocos とポート 8765 を、パネルに表示されている名前と URL に置き換えてください。Claude Code のワンクリック設定では、以下のグローバルな例ではなく、~/.claude.json 内のプロジェクトの Git ルートスコープが使用されます。プロジェクトの設定と移行を参照してください。
Claude Code / Claude Desktop
{
"mcpServers": {
"funplay_cocos": {
"type": "http",
"url": "http://127.0.0.1:8765/"
}
}
}
Cursor
{
"mcpServers": {
"funplay_cocos": {
"url": "http://127.0.0.1:8765/"
}
}
}
VS Code
{
"servers": {
"funplay_cocos": {
"type": "http",
"url": "http://127.0.0.1:8765/"
}
}
}
Trae
{
"mcpServers": {
"funplay_cocos": {
"url": "http://127.0.0.1:8765/"
}
}
}
Kiro
{
"mcpServers": {
"funplay_cocos": {
"type": "http",
"url": "http://127.0.0.1:8765/"
}
}
}
Qoder
ユーザーレベルの設定は ~/.qoder/settings.json に書き込まれます。環境変数が設定されている場合は、$QODER_CONFIG_DIR/settings.json に書き込まれます。
{
"mcpServers": {
"funplay_cocos": {
"type": "http",
"url": "http://127.0.0.1:8765/"
}
}
}
Kimi Code
ユーザーレベルの設定は ~/.kimi-code/mcp.json に書き込まれます。環境変数が設定されている場合は、$KIMI_CODE_HOME/mcp.json に書き込まれます。
{
"mcpServers": {
"funplay_cocos": {
"url": "http://127.0.0.1:8765/"
}
}
}
Codex
[mcp_servers.funplay_cocos]
url = "http://127.0.0.1:8765/"
OpenCode
グローバル設定は、すべてのプラットフォームで $XDG_CONFIG_HOME/opencode/opencode.json または ~/.config/opencode/opencode.json にあります(opencode.jsonc も使用できます)。
ワンクリック設定では、既存の opencode.jsonc が優先されます。どちらのファイルでもコメントと末尾のカンマをサポートし、無関係な設定やコメントを保持します。また、不正な形式または曖昧な設定は変更しません。
{
"mcp": {
"funplay_cocos": {
"type": "remote",
"url": "http://127.0.0.1:8765/"
}
}
}
CodeBuddy(IDE 4.0+)
ワンクリック設定では、CodeBuddy IDE 4.0+ がサポートするプロジェクト設定 <Cocos project>/.mcp.json に書き込みます。他のサーバー、コメント、末尾のカンマは保持されます。この Cocos プロジェクトフォルダーを CodeBuddy のワークスペースとして開き、必要に応じてクライアントを再読み込みし、プロンプトが表示されたら MCP サーバーを有効化/承認してください。古い IDE バージョンとスタンドアロンの CodeBuddy エディター拡張機能では、設定場所が異なります。このターゲットは、それらのグローバル設定や CLI のグローバルファイルには書き込みません。
設定+スキルでは、不足している組み込みスキルも、公式のスキルディレクトリに従って <Cocos project>/.codebuddy/skills にインストールします。既存のスキルは保持されます。更新内容はプロジェクトスキルで確認してください。
{
"mcpServers": {
"funplay_cocos": {
"type": "http",
"url": "http://127.0.0.1:8765/"
}
}
}
DeepSeek Harness (DSH)
MCP サーバーパネルで DeepSeek Harness (DSH) を選択してください。設定すると、公式 Cordis MCP クライアント用の JSON 形式の YAML オーバーレイである <Cocos project>/.dsh/funplay-cocos-mcp.patch.json が生成されます。$DSH_HOME、グローバル/プロファイル YAML、依存関係、認証情報、承認設定は変更されません。
オーバーレイは自動的に読み込まれません。 パネルに表示される正確なコマンドを使って Cocos プロジェクトディレクトリから DSH を起動するか、既存の DSH 起動コマンドに --patch 引数を追加してください。たとえば、dsh がインストールされている場合は次のようになります。
dsh web --patch '/absolute/path/to/cocos-project/.dsh/funplay-cocos-mcp.patch.json'
npm 経由で起動する場合は、npx @deepseek-ai/dsh web --patch <the same absolute path> を使用してください。他の公式プロファイルでも --patch を使って同じオーバーレイを使用できます。サードパーティ製のデスクトップランチャーでは、独自の起動設定が必要になる場合があります。Cocos とその MCP サーバーは起動したままにしてください。生成されるオーバーレイでは、従来のサンプル名/ポートではなく、プロジェクトの実際のサーバー名と URL が使用されます。
設定+スキルでは、DSH のファイルシステムスキルプロバイダーに従って、不足している組み込みスキルも <nearest Git root>/.dsh/skills にインストールします。Git ルートがない場合は、Cocos プロジェクト内にインストールします。既存のコピーは保護され、プロジェクトスキルで確認できます。1 つの Git リポジトリ内に複数の Cocos プロジェクトがある場合、スキルのルートは共有されますが、MCP オーバーレイは別々になります。
MCP クライアントでローカルの stdio コマンドを使用する場合は、Cocos エディターサーバーの起動後に npm ラッパーをインストールしてください。
npm install -g funplay-cocos-mcp
MCP クライアントの設定例:
{
"mcpServers": {
"funplay_cocos": {
"command": "funplay-cocos-mcp",
"env": {
"FUNPLAY_COCOS_MCP_URL": "http://127.0.0.1:8765/"
}
}
}
}
このラッパーは、stdio 経由の MCP 通信を組み込みの Cocos HTTP エンドポイントに中継します。npx funplay-cocos-mcp --url http://127.0.0.1:8765/ を実行して使用することもできます。
stdio トランスポートは、標準的な改行区切り UTF-8 JSON-RPC メッセージ(NDJSON)に対応しています。また、ラッパーは既存の Content-Length フレーミングも受け付け、受信したメッセージと同じフレーミングで応答を書き込みます。
4. 接続を確認する
AI クライアントを開き、まずは安全なリクエストをいくつか試してください。
- 「
get_project_infoを呼び出し、現在の Cocos プロジェクトの概要をまとめてください。」 - 「
cocos://project/contextを読み取り、エディターの状態を教えてください。」 - 「
context: \"scene\"を指定してexecute_javascriptを使用し、アクティブなシーン名を返してください。」 - 「
context: \"editor\"を指定してexecute_javascriptを使用し、プロジェクトのパスを返してください。」
これらが動作すれば、MCP サーバー、リソース、プロンプト、主要な実行ツールが正しく接続されています。
ローカルのトランスポートをデバッグするには、パネルからこれらのコマンドをコピーするか、直接実行してください。
curl http://127.0.0.1:8765/health
curl http://127.0.0.1:8765/tools
5. 作成を開始する
AI クライアントで、より高度なプロンプトを試してください。
現在の Cocos シーンに、アカウント/パスワード欄、ログインボタン、ゲストログインボタンを備えたログインページの UI を作成してください。まず
execute_javascriptを使用して階層を確認し、その後スクリーンショットを撮影してください。
はじめに
- この拡張機能はエディター専用です。Cocos Creator の操作を自動化するためのものであり、最終的なゲームビルドにランタイム依存関係を追加するものではありません。
- 新しいプロジェクトでは、プロジェクトに基づいたポートが使用されます。MCP サーバーのダッシュボードには正確なエンドポイントが表示され、固定ポートを設定できます。
- 設定されたポートが使用中の場合、サーバーは自動的に次に利用可能なポートに切り替え、パネルとクライアントの設定には実際に稼働しているポートが使用されます。
GET /healthとGET /toolsは、MCP クライアントを使わずにローカルで簡単に確認するための読み取り専用デバッグエンドポイントです。- デフォルトの
coreプロファイルでは、重要度の高い39個のツールが公開されます。すべての106個のツールを使うにはfullに切り替えるか、ツールカテゴリや個別のツールを含める/除外するにはcustomを使用してください。 - パネルは GitHub のリリースを自動で確認し、手動での確認にも対応しています。
- ワンクリック更新では、GitHub Release の zip をダウンロードし、
SHA256SUMS.txtを検証してから、現在の拡張機能をバックアップし、パッケージファイルを置き換えます。Cocos のパッケージ API が対応している場合は、拡張機能を再読み込みします。再読み込みできない場合は、インストール後に Cocos Creator を再起動してください。Git のワークツリーとシンボリックリンクを使ったインストールは、意図的に対象外としており、手動でのgit pullまたはパッケージの置き換えが必要です。 - すべてのプロジェクトにインストールでは、同じリリースと SHA256 検証の手順を使い、現在の Creator バージョンの管理対象グローバルディレクトリにインストールしてから、Creator にパッケージのスキャンと登録を依頼します。設定ウィンドウを開いたままパッケージが切り替わらないよう、アクティブなプロジェクトにあるコピーはそのまま保持されます。プロジェクト側のコピーがアクティブでない場合、グローバル側のコピーはすぐに有効になります。プロジェクト側のコピーがアクティブな場合は、次にプロジェクトを開いたときに有効になります。
- プロジェクトスキルでは、組み込みの
funplay-cocos-mcp-workflowおよびfunplay-cocos-ui-compositionスキルに加え、Codex、Claude Code、Cursor、Qoder、Kimi Code、OpenCode、CodeBuddy、DSH 向けのカスタムスキルを管理します。組み込みの v3 テンプレートでは、コンパクトなエントリーポイントとオンデマンドのリファレンスファイルを使用します。バージョン確認、差分、バックアップ、復元には、これらの管理対象リファレンスも含まれます。既存のユーザー所有のリファレンスファイルは保護されます。従来の Codex 組み込みスキルは、元のファイルを削除せずに.agents/skillsに移行できます。 - ストリーミング可能な HTTP レスポンスは、
Accept、MCP-Protocol-Version、JSON-RPC の通知/レスポンス、および任意のMcp-Session-Idセッションに関する MCP トランスポート要件に準拠しています。 - ツール一覧には MCP の
outputSchemaとannotationsが含まれます。構造化されたツール結果は、ok、tool、callId、summary、data、および後続処理用のrefsを含む標準エンベロープを使用します。 execute_javascriptの安全性チェックはデフォルトで有効です。削除/切り詰め処理の呼び出し、書き込み可能なストリームへの直接アクセス、パストラバーサル、ユーザー/システムの絶対パス、child_processなど、明らかに危険なファイルシステムおよびシェルのパターンをブロックします。これは安全策であり、完全なサンドボックスではありません。リスクを確認したうえで、呼び出し時にsafety_checks: falseを明示的に指定できます。- 公開されているすべての MCP ツールは直接実行されます。Cocos 拡張機能内に追加の承認切り替え機能はありません。
- ファイルツールと
cocos://asset/path/...リソースのアクセス範囲は、アクティブな Cocos プロジェクトのルートに制限されています。 - 推奨ワークフローでは、まず
execute_javascriptを使い、その後、スクリーンショット、診断、アセット、インスペクション用の専用ヘルパーツールを使用します。 - パネルでサーバーポートまたはツールの公開設定を変更すると、拡張機能は設定を保存し、必要に応じてサーバーを再起動します。
このプロジェクトの目的
execute_javascriptを中心に設計 — 柔軟性の高い JavaScript ツール 1 つで、シーン/ランタイムの作業とエディター側の自動化を調整できるため、AI クライアントに細分化されたツール呼び出しを大量に提示せずに済みます- Cocos に拡張機能を組み込み — Cocos 側のプラグインに、別個の Python デーモンや外部ブリッジプロセスは必要ありません
- ワンクリックでクライアントを設定 — Claude Code、Cursor、VS Code、Trae、Kiro、Qoder、Kimi Code、Codex、OpenCode、CodeBuddy(IDE 4.0 以降)を設定するか、明示的な
--patch起動コマンドを含む DSH オーバーレイを生成できます - プロジェクトコンテキストを標準搭載 — ライブのプロジェクト、シーン、選択状態、スクリプト診断、ログ、操作履歴のリソースを公開します
- 標準では必要な機能に絞り、必要に応じてすべてを利用 —
coreはツール一覧のノイズを抑え、fullは利用可能なすべてのツールを公開します。保存済みプロファイルとcustomを使えば、カテゴリまたはツール単位で公開範囲を調整し、復元できます - 視覚的な検証 — シーン/エディター/プレビューのスクリーンショットと入力シミュレーションにより、AI が UI やゲームプレイの変更を検証できます
主な特長
- 組み込みツール 106 個 — シーン階層、エディターの状態、選択ワークフロー、プレハブ、アセット、アセットの依存関係、プロジェクトの指示、UI 作成、コンポーネント、ファイル、ログ、スクリプト診断、スクリーンショット、ランタイム制御、ビルド/プレビューの補助機能、エディター設定、イベントのバインド、入力シミュレーション
- 主要な統合ツール —
execute_javascriptはsceneとeditorの両方のコンテキストに対応します - リソースとプロンプト — ライブのプロジェクト/ログリソースに加え、スクリプト修正、シーン検証、プレイ可能なプロトタイプ作成などの再利用可能なワークフローを提供します
- Cocos パネル UI — コンパクトな
Funplay > MCP Serverダッシュボードに加え、大規模なワークフロー向けの Tool Exposure、MCP Settings、Project Skills の各ウィンドウを備えています - スクリーンショットと入力に対応 — エディター/シーン/ゲーム/プレビューのスクリーンショットを撮影し、Electron レベルのマウス/キーボードイベントを送信できます。マウスのクリック/ドラッグでは、新しいスクリーンショットの
captureIdを使って PNG の正確なピクセル座標を指定できます - ベンダーを問わず利用可能 — HTTP JSON-RPC 経由の MCP に対応するあらゆる AI クライアントで動作します
Funplay MCP for Unity との関係
Funplay MCP for Cocos は、Funplay MCP for Unity と同じ設計原則に基づき、Cocos Creator の JavaScript/TypeScript エディター環境に合わせて調整されています。
| 項目 | Funplay MCP for Cocos | Funplay MCP for Unity |
|---|---|---|
| エディター統合 | Cocos Creator 拡張機能 | Unity Editor パッケージ |
| 組み込みサーバー | 組み込み HTTP MCP サーバー | 組み込み HTTP MCP サーバー |
| 主要な実行ツール | execute_javascript | execute_code |
| 主要言語 | シーン/エディターコンテキストでの JavaScript | Unity エディター/ランタイムコンテキストでの C# |
| デフォルトプロファイル | 39 個のツールを含む core | ツールを厳選した core プロファイル |
| フルプロファイル | 106 個のツールと custom による公開範囲の設定 | 79 個のツール |
| クライアント設定 | ワンクリック設定パネル | ワンクリック設定ウィンドウ |
MCP の機能
現在のパッケージでは、次の4つの機能レイヤーを公開しています。
- ツール —
coreでは39個、fullでは106個のツールに加え、customの包含/除外ルールと保存済みツールプロファイルを利用できます - 主な実行機能 — シーン/ランタイムの操作やエディター/ブラウザーの自動化を行う
execute_javascript - プロンプト —
fix_script_errors、create_playable_prototype、scene_validation、auto_wire_sceneに加え、mcp-prompts/*.mdから読み込むパラメーター化されたプロジェクトワークフロー。詳しくはプロジェクトの分離、Skills、ワークフローの設定をご覧ください。 - リソース — プロジェクトのコンテキスト、シーンの概要、現在の選択項目、スクリプトの診断情報、アセットの選択項目、ログ、MCP の操作履歴
カテゴリ、プロファイル、読み取り/変更のヒントを含む生成済みツールリファレンスについては、docs/TOOLS.mdをご覧ください。
デフォルトの core セットは、意図的に小規模にしています。execute_javascript、execute_scene_script、execute_editor_script、get_editor_state、get_tool_catalog、check_for_updates、get_selection、list_project_instructions、read_project_instruction、set_selection、get_project_info、get_build_status、get_preview_mode、create_scene、get_scene_info、get_hierarchy、list_scenes、open_scene、inspect_prefab、validate_prefab_references、inspect_prefab_instance、list_assets、inspect_asset、inspect_asset_dependencies、validate_asset_dependencies、open_asset、select_asset、run_script_diagnostics、get_recent_logs、search_project_logs、clear_logs、validate_scene、get_performance_snapshot、get_script_diagnostic_context、get_runtime_state、capture_editor_screenshot、capture_scene_screenshot、capture_preview_screenshot、list_editor_windowsが含まれます。
プレビューモード
Creator 3.8.x のプレビュー自動化では、組み込みのプレビューツールバーと同じモードおよびエディター API を使用します。
| モード | 動作 |
|---|---|
browser | シーンをシステムブラウザーで開きます。get_preview_mode と run_project_preview は、利用可能な場合、同一ホスト用とネットワーク用のプレビュー URL を返します。 |
gameView | Cocos Creator の Game View 内でシーンを起動します。 |
simulator | ネイティブシミュレーターでシーンを起動します。 |
get_preview_mode で有効なモードを確認し、set_preview_mode で切り替え、run_project_preview で起動します。run_project_preview では、非推奨のエイリアスとして引き続き platform を mode の代わりに指定できます。
Game View はネイティブのプレビューツールバーから起動するため、手動の一時停止/再開ボタンを引き続き使用できます。繰り返し起動しても、既存のプレビューは(一時停止状態も含めて)そのまま実行されます。pause_runtime と resume_runtime は同じ Game View プレビューを制御し、冪等です。これらの操作には Game View が実行中である必要があり、ブラウザー/シミュレーターのプレビューや編集シーンのディレクターは制御しません。Game View から切り替える際は、まずツールバーを通じて停止します。操作が拒否された場合は、成功したと偽らずエラーを報告します。
これらの制御ツールを full またはカスタムのツールプロファイルで有効にしてください。スクリプトでは、ツールバーとの同期を回避してしまう scene.editor-preview-set-play の直接呼び出しより、これらのツールを優先してください。
get_runtime_state(validate_scene でも使用)は、scope: "gameView"、実際の running/paused の値、busy、および toolbarSynchronized を報告します。編集シーンのフレーム数/タイムスケールのカウンターをプレビュー状態として表示することはなくなりました。これらは引き続き scope: "editScene" の get_performance_snapshot.runtime に表示されます。set_time_scale は引き続き編集シーンのみに作用します。プレビューの制御には、互換性のある準備完了状態の Creator メインウィンドウツールバーが必要です。ツールバーを利用できない場合は、明示的なエラーが返されます。
ブラウザーのプレビュー結果では、同一ホストの自動化と LAN アクセスを区別します。
| フィールド | 意味 |
|---|---|
url / localUrl | Cocos Creator と同じコンピューター上で動作する MCP クライアントまたはブラウザー向けのループバック URL です。 |
networkUrl | 同じネットワーク上の別のデバイス向けの、元の非ループバック URL です。Creator がループバックホストまたはワイルドカードホストを報告した場合は空になります。 |
reportedUrl | 正規化前に Cocos Creator から報告された URL 文字列そのものです。 |
urlWarning | 報告された値を絶対 HTTP(S) URL として正規化できない場合にのみ、空ではない値になります。 |
組み込みリソース
| リソース | 説明 |
|---|---|
cocos://project/context | プロジェクトとエディターの完全なコンテキスト |
cocos://project/summary | プロジェクトの簡単な概要 |
cocos://scene/active | アクティブなシーンのスナップショット |
cocos://scene/current | 現在のシーンのエイリアス |
cocos://selection/current | 現在のエディター選択項目 |
cocos://selection/asset | 現在選択されているアセット |
cocos://errors/scripts | スクリプトの診断情報 |
cocos://logs/editor | 最近の MCP ランタイムログとツールの操作 |
cocos://logs/project | 一般的なプロジェクトログファイルの最近の末尾部分 |
cocos://mcp/interactions | 最近の MCP 操作履歴 |
組み込みツール
Funplay MCP for Cocos には、現在 full プロファイルに 106 個のツール関数が含まれています。
| カテゴリ | ツール |
|---|---|
| スクリプト実行 | execute_javascript, execute_scene_script, execute_editor_script |
| エディターの状態 | get_editor_state, get_tool_catalog, check_for_updates, get_selection, set_selection, get_editor_selection |
| プロジェクトの指示 | list_project_instructions, read_project_instruction, write_project_instruction, create_project_skill, create_cocos_mcp_project_skill |
| プロジェクトとシーン | get_project_info, get_scene_info, get_hierarchy, find_nodes, inspect_node, list_scenes, open_scene, run_scene_asset |
| ノードの編集 | create_node, delete_node, set_node_transform |
| アセットとプレハブ | list_assets, inspect_asset, inspect_asset_dependencies, validate_asset_dependencies, check_asset_ready, open_asset, select_asset, delete_asset, list_prefabs, inspect_prefab, validate_prefab_references, duplicate_prefab, edit_prefab_json, create_prefab_from_node, create_prefab_instance, inspect_prefab_instance, apply_prefab_instance, revert_prefab_instance, instantiate_prefab |
| コンポーネント | list_components, inspect_component, add_component, remove_component, set_component_property, reset_component_property |
| UI | create_canvas, create_label, create_button, create_sprite |
| カメラ | list_cameras, create_camera, set_camera_properties |
| アニメーション | list_animations, add_animation_clip, play_animation, stop_animation |
| ファイル | read_file, get_file_snippet, write_file, replace_in_file, search_files, list_directory, exists, refresh_assets |
| 診断とログ | run_script_diagnostics, get_script_diagnostic_context, get_recent_logs, search_project_logs, clear_logs, validate_scene, get_performance_snapshot |
| ビルドとエディター | get_build_status, get_preview_mode, set_preview_mode, open_build_panel, run_project_preview, save_current_scene, get_editor_preference, set_editor_preference, broadcast_editor_message |
| ランタイム | get_runtime_state, pause_runtime, resume_runtime, set_time_scale |
| インタラクションとイベント | emit_node_event, simulate_button_click, list_button_click_events, bind_button_click_event, invoke_component_method, simulate_mouse_click, simulate_mouse_drag, simulate_key_press, simulate_key_combo, simulate_preview_input |
| スクリーンショットとウィンドウ | capture_desktop_screenshot, capture_editor_screenshot, capture_scene_screenshot, capture_game_screenshot, capture_preview_screenshot, list_editor_windows |
主なツールの使用例
シーンコンテキスト
{
"context": "scene",
"code": "return { sceneName: scene.name, rootCount: scene.children.length };",
"args": {}
}
エディターコンテキスト
{
"context": "editor",
"code": "return { projectPath: context.projectPath, toolCount: helpers.listTools().length };",
"args": {}
}
エディターコンテキストのスクリプトでは、Editor、fs、path、os、require、context、args と、helpers.getStatus()、helpers.listTools()、helpers.readResource(uri)、helpers.callTool(name, args)、helpers.configureClient(targetId) などのヘルパー関数を利用できます。
任意の設定
funplay-cocos-mcp.config.json を Cocos プロジェクトのルートに配置します。
{
"host": "127.0.0.1",
"port": 8765,
"toolProfile": "core",
"enabledToolCategories": [],
"disabledToolCategories": [],
"enabledTools": [],
"disabledTools": [],
"enableSessions": false,
"enableConsoleLogging": true,
"executeJavascriptSafetyChecks": true,
"autostart": true,
"maxInteractionLogEntries": 50,
"activeToolProfileName": "",
"savedToolProfiles": []
}
環境変数にも対応しています。
COCOS_MCP_HOSTCOCOS_MCP_PORTCOCOS_MCP_PROFILE
toolProfile: "custom" は core セットを基に、enabledToolCategories / enabledTools を追加し、disabledToolCategories / disabledTools を除外します。パネルでは、これらの公開設定を名前付きの savedToolProfiles として保存し、すばやく復元したり共有したりできます。通常のエディター自動化ではリクエストをまたいだクライアント状態が不要なため、enableSessions はデフォルトでオフになっています。
enableConsoleLogging はデフォルトで true です。Cocos コンソールへの MCP 情報、警告、エラーの出力を停止するには、MCP Settings > Console Logs > Print MCP logs でオフにします。この設定はすぐに反映され、プロジェクトごとに保存されます。また、MCP の再起動、履歴の消去、プロジェクトスクリプトのログのミュート、stdio プロトコル出力の変更は行いません。
アーキテクチャ
Cocos Creator Extension
├─ browser.js
│ ├─ Embedded HTTP MCP Server
│ ├─ Tool Registry
│ ├─ Resource Provider
│ ├─ Prompt Provider
│ └─ One-Click Client Configuration
├─ scene.js
│ └─ Scene/runtime execution bridge
├─ panel/index.js
│ └─ Minimal MCP Server dashboard
├─ panel/tool-exposure.js, panel/settings.js, panel/project-skills.js
│ └─ Focused maintenance windows
└─ lib/
├─ assets, diagnostics, screenshots, input
├─ tool-profiles, javascript-safety
├─ tools/
│ ├─ files
│ ├─ assets-advanced
│ ├─ cocos-project
│ └─ scene-events
└─ server, resources, prompts, tool registry
サーバーは MCP 形式の HTTP JSON-RPC 2.0 を使用し、ツール、リソース、リソーステンプレート、プロンプト、ヘルスチェック、および読み取り専用の /tools デバッグエンドポイントに対応しています。
開発
変更を公開する前にチェックを実行します。
npm run check
npm test
npm run docs:check
npm run release:check
npm run pack:dry-run
lib/tool-registry.js を変更した後、ツールリファレンスを再生成します。
npm run docs:generate
GitHub Release 用の拡張機能パッケージを生成するには、次を実行します。
npm run release:package
パッケージは releases/<version>/ に zip、マニフェスト、生成されたリリースノート、チェックサムファイル、リリース README とともに書き出されます。公開チェックサムを検証できるよう、5 つのファイルをすべてアップロードしてください。詳しい手順については、RELEASE_WORKFLOW.md および RELEASE_CHECKLIST.md を参照してください。
公開前に MCP Registry のメタデータを検証します。
npm run registry:validate
ライセンス
MIT License です。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。