Board Mcp

by seeincodes

204 downloads Not rated yet
GitHub

About

# Board SDK MCP Server MCP server that gives AI assistants structured access to the [Board SDK](https://board.fun) (`fun.board` v3.2.1) for Unity game development. Instead of hallucinating SDK APIs, your AI generates correct C# code with proper platform guards, async patterns, and caveats — on the first attempt. When…

Explore

- 25 tools across 4 SDK domains (Input, Session, Save Game, Application)
- 7 physical game piece set catalogs with model files and versions
- 8 resources providing type schemas, changelog, error catalog, and platform guard references
- Auto-proxies Unity Editor MCP tools when Unity is running with the MCP bridge
- Every tool response includes API signature, complete C# code example, parameter docs, caveats, and related tools
- Unity integration requires no extra configuration beyond installing the MCP for Unity package

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Board Mcp
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

npx board-sdk-mcp-server

No build step, no cloning. Just add the config below to your AI agent and it runs automatically.

| Variable | Default | Description |
| ------------------- | ------------------------------- | ---------------------------------------------------------- |
| BOARD_SDK_VERSION | 3.2.1 | SDK version to target (affects code examples for v2 vs v3) |
| MCP_TRANSPORT | stdio | Transport mode: stdio or sse |
| MCP_SSE_PORT | 3000 | SSE server port (only when MCP_TRANSPORT=sse) |
| UNITY_MCP_URL | http://127.0.0.1:8090/mcp | Unity MCP endpoint URL |
| UNITY_MCP_ENABLED | true | Set to false to disable Unity proxy entirely |
| LOG_LEVEL | info | Logging: debug, info, warn, error |

board_input_list_piece_sets

Browse the full catalog with optional game filtering

board_input_glyph_setup

Configure a piece set and start detecting pieces

board_input_configure_settings

Set smoothing and piece set model filename

board_input_get_contacts

Poll detected pieces (and finger touches) each frame

| Tool | Use it to... |
|------|-------------|
| board_input_list_piece_sets | Browse the full catalog with optional game filtering |
| board_input_glyph_setup | Configure a piece set and start detecting pieces |
| board_input_configure_settings | Set smoothing and piece set model filename |
| board_input_get_contacts | Poll detected pieces (and finger touches) each frame |

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

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

McpServers

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

Board SDK MCP Server

MCP server that gives AI assistants structured access to the Board SDK (fun.board v3.2.1) for Unity game development. Instead of hallucinating SDK APIs, your AI generates correct C# code with proper platform guards, async patterns, and caveats — on the first attempt.

When Unity Editor is running with MCP for Unity, this server automatically discovers and proxies Unity's tools and resources too — one MCP server for both Board SDK knowledge and live Unity Editor control.

What's included

- 25 tools across 4 SDK domains (Input, Session, Save Game, Application)
- 7 piece sets — full catalog of physical game piece models (arcade, chop_chop, mushka, omakase, save_the_bloogs, thrasos_arcade, and the combined chop_chop_mushka set)
- 8 resources with type schemas, piece set catalog, changelog, error catalog, and platform guard reference
- Unity Editor integration — automatically proxies Unity MCP tools/resources when Unity is running
- Every tool response includes: API signature, complete C# code example, parameter docs, caveats, and related tools

Install

npx board-sdk-mcp-server

No build step, no cloning. Just add the config below to your AI agent and it runs automatically.

Prerequisites

- Node.js 20+

---

Adding to your AI agent

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

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

Restart Claude Desktop. You'll see the Board SDK tools appear in the tool picker (hammer icon).

Cursor

Create or edit .cursor/mcp.json in your project root:

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

Restart Cursor. The Board SDK tools will be available to the agent in Composer.

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

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

VS Code (Copilot)

Add to your VS Code settings.json or .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

From source (development)

git clone <repo-url> && cd BoardMCP
npm install
npm run build

Then use "command": "node", "args": ["/path/to/BoardMCP/dist/index.js"] in any config above.

---

Verifying it works

After adding the server to your agent, ask it something like:

> "How do I detect physical piece contacts on a Board?"

The agent should call board_input_get_contacts and return a structured response with a complete C# code example, platform guards, and caveats — not a generic guess.

Other good test prompts:

| Prompt | Expected tools called |
| -------------------------------------- | --------------------------------------------------------- |
| "Set up save games with cover images" | board_save_create, board_save_cover_image |
| "Add a second player to the session" | board_session_add_player, board_session_player_types |
| "Why are my contacts returning empty?" | board_input_get_contacts, board_input_simulator_setup |
| "What piece sets are available?" | board_input_list_piece_sets |
| "Set up Chop Chop piece detection" | board_input_glyph_setup, board_input_list_piece_sets |
| "Configure the pause screen" | board_app_pause_screen, board_app_pause_events |
| "What's the max save file size?" | board_save_storage_info |

Available tools

Input (board_input_)

| Tool | What it returns |
| -------------------------------- | ---------------------------------------------------------- |
| board_input_get_contacts | GetActiveContacts() polling pattern with platform guards |
| board_input_contact_lifecycle | BoardContactPhase state machine (Began → Moved → Ended) |
| board_input_configure_settings | BoardInputSettings smoothing and piece set configuration |
| board_input_simulator_setup | Editor simulator activation for testing without hardware |
| board_input_glyph_setup | Physical game piece detection with model file setup |
| board_input_list_piece_sets | Catalog of available piece set models and their games |
| board_input_debug_view | Visual debug overlay for contact positions and bounds |

Session (board_session_)

| Tool | What it returns |
| ------------------------------ | ------------------------------------------------------- |
| board_session_get_players | Player roster access and playersChanged event pattern |
| board_session_add_player | PresentAddPlayerSelector() with async/await pattern |
| board_session_replace_player | PresentReplacePlayerSelector() with IL2CPP notes |
| board_session_reset_players | ResetPlayers() for returning to initial state |
| board_session_player_types | BoardPlayerType (Profile vs Guest) explanation |
| board_session_active_profile | activeProfile vs players[] distinction |

Save Game (board_save_)

| Tool | What it returns |
| --------------------------- | ----------------------------------------------------------- |
| board_save_create | CreateSaveGame() with auto player association |
| board_save_update | UpdateSaveGame() with checksum regeneration |
| board_save_load | LoadSaveGame() with player activation side-effect warning |
| board_save_list | GetSaveGamesMetadata() with hydrated player info |
| board_save_cover_image | Cover image loading (432x243 PNG) |
| board_save_storage_info | Storage limits (16MB payload, 64MB total) |
| board_save_remove_players | Player removal with auto-delete behavior |
| board_save_remove_profile | Active profile removal from save |

Application (board_app_)

| Tool | What it returns |
| ---------------------------- | --------------------------------------------------------- |
| board_app_pause_screen | SetPauseScreenContext() vs UpdatePauseScreenContext() |
| board_app_profile_switcher | Profile switcher overlay visibility control |
| board_app_exit | Clean exit with platform behavior differences |
| board_app_pause_events | Pause screen event subscription pattern |

Board pieces

Board games use physical game pieces (called "glyphs") that are recognized by the Board's built-in camera. Each game has its own piece set — a TensorFlow Lite recognition model that maps physical pieces to unique glyphId integers.

Available piece sets

…

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.