mcpField
F
Funplay Cocos MCP

Funplay Cocos MCP

ローカル
github.com/FunplayAI開発ツール3701 日前に更新

Funplay Cocos MCP について

Funplay MCP for Cocos は、エディターに MCP サーバーを組み込み、AI アシスタントから実行中のプロジェクトを操作・確認できる Cocos Creator 拡張機能です。中心となる JavaScript 実行ツールに加え、クライアント設定と任意の stdio ブリッジを備えています。

主な機能

  1. 01シーンまたはエディター環境で JavaScript を実行
  2. 02プロジェクトの確認とスクリーンショット取得
  3. 03エディターパネルから MCP クライアントを設定
  4. 04カテゴリ別のツール公開管理
  5. 05呼び出し結果とスクリプトログの表示
  6. 06任意の stdio・HTTP ブリッジ

活用シーン

  1. 01AI アシスタントによる Cocos UI 階層の構築
  2. 02アクティブシーンでのスクリプト実行と結果確認
  3. 03対応クライアントからエディターへの接続設定
  4. 04stdio クライアントから HTTP MCP エンドポイントへの接続

MCP 対応

拡張機能は Cocos Creator 内に HTTP MCP サーバーを組み込み、実行中のプロジェクトの操作や確認に使う `execute_javascript` などのツールを公開します。任意の npm パッケージで stdio の MCP 通信をこの HTTP エンドポイントへ中継できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"funplayai-funplay-cocos": {
"command": "npx",
"args": [
"-y",
"funplay-cocos-mcp"
],
"env": {
"FUNPLAY_COCOS_MCP_URL": "<FUNPLAY_COCOS_MCP_URL>",
"FUNPLAY_COCOS_MCP_TIMEOUT_SECONDS": "<FUNPLAY_COCOS_MCP_TIMEOUT_SECONDS>"
}
}
}
}
起動コマンドnpx -y funplay-cocos-mcp
設定が必要な環境変数
FUNPLAY_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmfunplay-cocos-mcp0.6.9

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Funplay MCP for Cocos

Cocos Creator エディター向けの組み込み MCP サーバー

Cocos Creator 3.8 以上 ライセンス:MIT MCP 互換 エディター専用 Cocos Store からインストール

中文 | 英語

このプロジェクトが 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 オーバーレイは別々になります。

### オプション:npm stdio ラッパー

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 CocosFunplay MCP for Unity
エディター統合Cocos Creator 拡張機能Unity Editor パッケージ
組み込みサーバー組み込み HTTP MCP サーバー組み込み HTTP MCP サーバー
主要な実行ツールexecute_javascriptexecute_code
主要言語シーン/エディターコンテキストでの JavaScriptUnity エディター/ランタイムコンテキストでの 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 を返します。
gameViewCocos 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 / localUrlCocos 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
UIcreate_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_HOST
  • COCOS_MCP_PORT
  • COCOS_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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。