mcpField
B
Board Mcp

Board Mcp

ローカル
github.com/seeincodes開発ツール129 週間前に更新

Board Mcp について

Board Mcpは、Unity開発者向けにBoard SDKのツールとリソースを提供するMCPサーバーです。UnityのMCPブリッジが稼働中なら、Unity Editorのツールやリソースもプロキシします。

主な機能

  1. 014つのBoard SDK領域にわたる27ツール
  2. 02C#の例、APIシグネチャ、注意事項
  3. 037種類の物理ゲームピースセット一覧
  4. 048つのSDKリファレンスリソース
  5. 05Unity Editorのツールとリソースを任意でプロキシ

活用シーン

  1. 01Board SDKの入力処理コードの生成
  2. 02プレイヤーセッションとAIプレイヤーの設定
  3. 03セーブデータの作成と管理
  4. 04Unity EditorのツールとSDK資料への同時アクセス

MCP 対応

MCPクライアントにBoard SDKのツールとリソースを提供し、コード例やAPI情報を返します。Unity EditorのMCPブリッジが利用可能な場合、同じサーバーを通じてUnityのツールとリソースを検出し、プロキシします。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"BoardMCP": {
"command": "npx",
"args": [
"-y",
"board-sdk-mcp-server"
]
}
}
}
起動コマンドnpx -y board-sdk-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmboard-sdk-mcp-server

ツール

27

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
contactTypesarrayいいえフィルターするコンタクトタイプです。省略するとすべてのタイプが対象になります。

詳細

Board SDK MCP サーバー

Unity ゲーム開発で Board SDK(fun.board v3.3.0)に構造化された形でアクセスできる AI アシスタント向けの MCP サーバーです。SDK API を幻覚で生成する代わりに、AI が適切なプラットフォームガード、非同期パターン、注意事項を含む正確な C# コードを、最初の試行で生成します。

M C P for Unity がインストールされた Unity Editor の実行中、このサーバーは Unity のツールとリソースも自動的に検出してプロキシします。Board SDK の知識と、稼働中の Unity Editor の制御の両方に対応する MCP サーバーが 1 つで済みます。

含まれるもの

  • 27 個のツール(4 つの SDK ドメイン:Input、Session、Save Game、Application)
  • 7 つのピースセット — 物理ゲームピースモデルの完全なカタログ(arcade、chop_chop、mushka、omakase、save_the_bloogs、thrasos_arcade、chop_chop_mushka を組み合わせたセット)
  • 8 つのリソース(型スキーマ、ピースセットのカタログ、変更履歴、エラーカタログ、プラットフォームガードのリファレンスを含む)
  • Unity Editor との統合 — Unity の実行中は Unity MCP のツール/リソースを自動的にプロキシします
  • 各ツールの応答には、API シグネチャ、完全な C# コード例、パラメーターのドキュメント、注意事項、関連ツールが含まれます

インストール

npx board-sdk-mcp-server

ビルドもクローンも不要です。AI エージェントに以下の設定を追加するだけで、自動的に実行されます。

前提条件
  • Node.js 20+

AI エージェントへの追加

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)を編集します。

{
  "mcpServers": {
    "board-sdk": {
      "command": "npx",
      "args": ["-y", "board-sdk-mcp-server"]
    }
  }
}

Claude Desktop を再起動します。ツールピッカー(ハンマーアイコン)に Board SDK のツールが表示されます。

Cursor

プロジェクトのルートに .cursor/mcp.json を作成または編集します。

{
  "mcpServers": {
    "board-sdk": {
      "command": "npx",
      "args": ["-y", "board-sdk-mcp-server"]
    }
  }
}

Cursor を再起動します。Composer でエージェントが Board SDK のツールを利用できるようになります。

Windsurf

~/.codeium/windsurf/mcp_config.json を編集します。

{
  "mcpServers": {
    "board-sdk": {
      "command": "npx",
      "args": ["-y", "board-sdk-mcp-server"]
    }
  }
}
VS Code(Copilot)

VS Code の settings.json または .vscode/mcp.json に追加します。

{
  "mcp": {
    "servers": {
      "board-sdk": {
        "command": "npx",
        "args": ["-y", "board-sdk-mcp-server"]
      }
    }
  }
}
Claude Code(CLI)
claude mcp add board-sdk -- npx -y board-sdk-mcp-server
ソースからの実行(開発用)
git clone <repo-url> && cd BoardMCP
npm install
npm run build

その後、上記のいずれかの設定で "command": "node", "args": ["/path/to/BoardMCP/dist/index.js"] を使用します。


動作確認

エージェントにサーバーを追加したら、次のように質問します。

「Board 上で物理ピースの接触を検出するにはどうすればよいですか?」

エージェントは board_input_get_contacts を呼び出し、完全な C# コード例、プラットフォームガード、注意事項を含む構造化された応答を返します。一般的な推測を返すことはありません。

その他のテストに適したプロンプト:

プロンプト呼び出されるツール(予想)
「カバー画像付きのセーブデータを設定して」board_save_create、board_save_cover_image
「セッションに 2 人目のプレイヤーを追加して」board_session_add_player、board_session_player_types
「接触情報が空で返されるのはなぜ?」board_input_get_contacts、board_input_simulator_setup
「利用可能なピースセットは?」board_input_list_piece_sets
「Chop Chop のピース検出を設定して」board_input_glyph_setup、board_input_list_piece_sets
「ポーズ画面を設定して」board_app_pause_screen、board_app_pause_events
「セーブファイルの最大サイズは?」board_save_storage_info
「Easy AI の対戦相手を追加して」board_session_ai_players、board_session_add_player
「入力モジュールの競合を解決して」board_app_input_module

利用可能なツール

Input(board_input_*)
ツール返される内容
board_input_get_contactsプラットフォームガードを含む GetActiveContacts() のポーリングパターン
board_input_contact_lifecycleBoardContactPhase の状態遷移(Began → Moved → Ended)
board_input_configure_settingsBoardInputSettings のスムージングとピースセットの設定
board_input_simulator_setupハードウェアなしでテストするためのエディターシミュレーターの有効化
board_input_glyph_setupモデルファイルの設定を含む物理ゲームピースの検出
board_input_list_piece_sets利用可能なピースセットモデルと対応ゲームのカタログ
board_input_debug_viewコンタクト位置と境界を表示するビジュアルデバッグオーバーレイ
Session(board_session_*)
ツール返される内容
board_session_get_playersプレイヤーロスターへのアクセスと playersChanged イベントパターン
board_session_add_playerasync/await パターンを使用した PresentAddPlayerSelector()
board_session_replace_playerIL2CPP に関する注記を含む PresentReplacePlayerSelector()
board_session_reset_players初期状態に戻すための ResetPlayers()
board_session_player_typesBoardPlayerType(Profile、Guest、AI)の説明
board_session_active_profileactiveProfile と players[] の違い
board_session_ai_playersAI 対戦相手のタイプを登録する SetAIPlayerTypes()
Save Game(board_save_*)
ツール返される内容
board_save_createプレイヤーの自動関連付けを行う CreateSaveGame()
board_save_updateチェックサムを再生成する UpdateSaveGame()
board_save_loadプレイヤー有効化の副作用に関する警告を含む LoadSaveGame()
board_save_listプレイヤー情報を補完した GetSaveGamesMetadata()
board_save_cover_imageカバー画像の読み込み(432x243 PNG)
board_save_storage_infoストレージ上限(ペイロード 16MB、合計 64MB)
board_save_remove_playersプレイヤーの削除と自動削除の動作
board_save_remove_profileセーブデータからのアクティブプロフィールの削除
Application(board_app_*)
ツール返される内容
board_app_pause_screenSetPauseScreenContext() と UpdatePauseScreenContext() の違い
board_app_profile_switcherプロフィール切り替えオーバーレイの表示制御
board_app_exitプラットフォームごとの動作の違いを考慮した正常な終了
board_app_pause_eventsポーズ画面イベントのサブスクリプションパターン
board_app_input_moduleBoardUIInputModule による入力モジュールの自動管理

ボードのピース

ボードゲームでは、物理的なゲームピース(「glyph」と呼ばれます)を使用します。これらは、Board に内蔵されたカメラによって認識されます。各ゲームには独自のピースセットがあり、物理ピースを一意の glyphId 整数に対応付ける TensorFlow Lite 認識モデルです。

利用可能なピースセット
ピースセットモデルファイルバージョンゲーム
arcadearcade.bytes1.3.7Board Arcade
thrasos_arcadethrasos_arcade.bytes1.0.2Thrasos Arcade
chop_chopchop_chop.bytes1.3.0Chop Chop
mushkamushka.bytes1.3.1Mushka
chop_chop_mushkachop_chop_mushka.bytes1.0.0Chop Chop + Mushka(統合)
omakaseomakase.bytes1.3.2Omakase
save_the_bloogssave_the_bloogs.bytes1.3.2Save the Bloogs
ピースの仕組み
  1. .bytes モデルファイルを Unity プロジェクトの Assets/StreamingAssets/Board/PieceSets/ に配置します
  2. 実行時に BoardInputSettings.pieceSetModelFilename にモデルファイルを設定します
  3. 各フレームで BoardInput.GetActiveContacts(BoardContactType.Glyph) を呼び出してピースを検出します

検出された各ピースには、次の情報が含まれます。

  • glyphId — ピースを識別する一意の整数(同じモデルバージョンではセッションをまたいで一定です)
  • screenPosition — ピースが表面上にある位置
  • orientation — ラジアン単位の回転角度(垂直方向から時計回り)
  • isTouched — 指が同時にピースに触れているかどうか
  • bounds — ヒットテスト用のスクリーン座標系のバウンディングボックス

一度にアクティブにできるピースセットは1つだけです。複数のゲームのピースを同時に認識するには、統合セットを使用します(例:chop_chop_mushka は1つのセッションで Chop Chop と Mushka の両方のピースを認識します)。

関連ツール
ツール用途
board_input_list_piece_setsゲームで絞り込みながら、カタログ全体を参照します
board_input_glyph_setupピースセットを設定し、ピースの検出を開始します
board_input_configure_settingsスムージングとピースセットのモデルファイル名を設定します
board_input_get_contacts検出されたピース(および指のタッチ)を各フレームで取得します

利用可能なリソース

リソース内容
board://sdk/overviewSDK の説明、バージョン、名前空間マップ
board://sdk/types/contactBoardContact 構造体 — 10 個すべてのフィールド
board://sdk/types/playerBoardPlayer と BoardSessionPlayer のスキーマ
board://sdk/types/savegameBoardSaveGameMetadata — 11 個すべてのフィールド
board://sdk/piece-setsモデル、バージョン、ゲームを含むピースセットカタログ
board://sdk/changelogv2.0 から v3.3.0 までの変更履歴
board://sdk/errorsよくあるエラーと解決方法
board://sdk/platform-guards#if UNITY_ANDROID ガードのリファレンス

Unity Editor との連携

このサーバーは MCP ゲートウェイとして動作します。Board SDK ツール(ドキュメントとコード例)は常に提供されます。また、MCP for Unity パッケージを使用して Unity Editor が実行されている場合は、自動的に接続し、Unity のツールとリソースを同じサーバー経由でプロキシします。

追加の設定は不要です。 MCP ブリッジを起動した状態で Unity が実行されている場合、Unity のツールが自動的に表示されます。Unity が実行されていない場合でも、Board SDK ツールは通常どおり動作します。

仕組み
  1. 起動時に、サーバーは http://127.0.0.1:8090/mcp の Unity MCP への接続を試みます
  2. Unity が利用可能な場合、すべての Unity ツールとリソースを検出し、AI エージェントから利用できるようにします
  3. Unity が切断された場合(エディターを閉じた場合、ドメインの再読み込みが発生した場合)、Unity のツールは削除され、サーバーはバックグラウンドで再接続を試みます
  4. Board SDK ツールは Unity の状態に関係なく常に利用できます
要件
  • Unity プロジェクトに MCP for Unity パッケージをインストールします
  • Window > MCP for Unity を開き、Start Bridge をクリックします
  • ブリッジはデフォルトで http://127.0.0.1:8090/mcp で実行されます
Unity 連携を無効にする

UNITY_MCP_ENABLED=false を設定すると、Unity プロキシを完全にスキップできます。Unity ブリッジが別のポートで実行されている場合は、UNITY_MCP_URL で URL を変更してください。

開発

npm run dev          # Run server with tsx (no build step)
npm run build        # Compile TypeScript to dist/
npm run typecheck    # Type-check without emitting
npm test             # Run tests

環境変数

変数デフォルト説明
MCP_TRANSPORTstdioトランスポートモード:stdio または sse
MCP_SSE_PORT3000SSE サーバーのポート(MCP_TRANSPORT=sse の場合のみ)
UNITY_MCP_URLhttp://127.0.0.1:8090/mcpUnity MCP エンドポイントの URL
UNITY_MCP_ENABLEDtruefalse を設定すると、Unity プロキシを完全に無効にします
LOG_LEVELinfoログレベル:debug、info、warn、error

コメント

MCP は初めてですか?

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

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