MCP

このページは自動翻訳されており、誤りが含まれる場合があります。誤りを見つけた場合は「このページを編集」リンクからご協力ください。

Model Context Protocol(MCP) 統合により、Claude Code や Cursor などの AI アシスタントが、実行中の Turian ゲームをリアルタイムで検査し、操作できるようになります。LLM は状態を推測する代わりに、実際のシーン、エンティティ、コンポーネント、パフォーマンスメトリクスを直接クエリできます。


仕組み

Claude Code / Cursor
      │  MCP(stdio、JSON-RPC 2.0)
      ▼
turian-cli mcp
      │  リモートデバッグプロトコル(TCP、ポート 7777)
      ▼
  実行中のゲーム(デバッグサーバー有効)

turian-cli mcp は 2 つのプロトコルを橋渡しします。stdin から MCP リクエストを読み取り、TCP 経由でゲームのデバッグサーバーに転送し、構造化された結果を返します。


クイックスタート

1 — ゲームでデバッグサーバーを有効にする

ゲームのエントリポイントで、メインループの前にデバッグサーバーを起動します:

const debug = @import("debug");

var srv = debug.Server.init(allocator, .{});
defer srv.deinit(io);
try srv.start(io, .{ .ctx = &world, .getFn = myWorldProvider });

サーバーはデフォルトで 127.0.0.1:7777 をリッスンします。

2 — MCP クライアントを設定する

Claude Code~/.claude/mcp.json またはプロジェクトの .mcp.json):

{
  "mcpServers": {
    "turian": {
      "command": "turian-cli",
      "args": ["mcp"]
    }
  }
}

認証トークンを使用(デバッグサーバーが --token で起動された場合):

{
  "mcpServers": {
    "turian": {
      "command": "turian-cli",
      "args": ["mcp", "--token", "my-secret"]
    }
  }
}

カスタムホスト/ポート:

{
  "mcpServers": {
    "turian": {
      "command": "turian-cli",
      "args": ["mcp", "--host", "192.168.1.10", "--port", "7778"]
    }
  }
}

3 — ゲームを起動して質問する

ゲームが実行され、Claude Code が接続されたら、次のように質問できます:

"どのシーンが読み込まれていますか?" "Player エンティティを検査してください。" "現在の FPS とメモリ使用量は?" "Camera コンポーネントを持つすべてのエンティティを一覧表示してください。"


利用可能なツール

読み取りツール

ツール 説明
list_scenes 現在読み込まれているすべてのシーンとその状態
inspect_scene シーン内のすべてのエンティティとコンポーネント概要
find_entities 名前の部分文字列またはコンポーネントタイプでエンティティをフィルタリング
scene_summary LLM の方向付けのためのコンパクトな完全スナップショット
inspect_entity 1 つのエンティティの Transform + 全コンポーネントフィールド
get_component エンティティ上の特定コンポーネントのフィールド値
get_metrics FPS、フレーム時間、メモリ、ドローコール、ECS カウント
get_schema すべての組み込みコンポーネントタイプのスキーマ
list_assets プロジェクトアセット(guid、パス、タイプ)
inspect_material GUID で 1 つのアセットを検査
capture_profiler 最新のプロファイラフレーム(カウンター + ゾーン)
inspect_memory アロケータのメモリ使用量
list_errors 最近のエンジン警告/エラー

書き込みツール(読み書きサーバー + confirm: true

ツール 説明
modify_component コンポーネントフィールドを設定
set_transform 位置/回転/スケールを設定
spawn_entity 新しいエンティティを作成
destroy_entity エンティティを削除
reload_asset アセットをホットリロード

書き込みツールは確認ゲートを使用します。最初の呼び出しはプレビューを返し、confirm: true を渡すと実際に変更が適用されます。


CLI リファレンス

turian-cli mcp [--host <addr>] [--port <n>] [--token <secret>]
フラグ デフォルト 説明
--host 127.0.0.1 デバッグサーバーのホスト名または IP
--port 7777 デバッグサーバーのポート
--token (空) 認証トークン(サーバーの --token と一致する必要があります)

turian-cli mcp は stdin が閉じられると終了します。MCP クライアントがそのライフタイムを制御します。


プロトコル詳細

  • トランスポート:stdio 上の JSON-RPC 2.0、改行区切り
  • MCP バージョン:2024-11-05
  • 機能tools(一覧表示 + 呼び出し)
  • デフォルトで読み取り専用:デバッグサーバーが読み書きモードで起動されていない場合、変更ツールはエラーを返します

関連情報


← すべてのドキュメント このページを編集