Whiteboard exposes an MCP server through Harbor at:

https://app.peisongxiao.com/whiteboard/mcp

Whiteboard MCP is Harbor-routed and Harbor-authenticated.

Before configuring a client:

  1. Sign in to Harbor.
  2. Open Myself.
  3. Create a Harbor API key in API Keys.
  4. Keep that key available for the MCP client you want to configure.

Whiteboard MCP does not use guest access. Use a Harbor API key in an Authorization: Bearer ... header or the client’s equivalent bearer-token setting.

Endpoint and auth

  • MCP endpoint:
    • https://app.peisongxiao.com/whiteboard/mcp
  • Transport:
    • streamable HTTP
  • Auth:
    • Harbor API key as Authorization: Bearer <token>
  • Harbor route:
    • Whiteboard is Harbor-docked only
    • there is no standalone MCP endpoint

Codex GUI

Codex GUI and Codex CLI share the same MCP configuration, so one user-level setup works for both.

  1. Create a Harbor API key.
  2. Set HARBOR_API_KEY in the environment before starting Codex.
  3. Add this to ~/.codex/config.toml:
[mcp_servers.whiteboard]
url = "https://app.peisongxiao.com/whiteboard/mcp"
bearer_token_env_var = "HARBOR_API_KEY"
  1. Restart Codex GUI.

Verify:

  • open Codex and confirm that whiteboard appears in the MCP server list

Codex CLI

  1. Create a Harbor API key.
  2. Export it in the shell you use for Codex:
export HARBOR_API_KEY="your_harbor_api_key"
  1. Add the server:
codex mcp add whiteboard \
  --url https://app.peisongxiao.com/whiteboard/mcp \
  --bearer-token-env-var HARBOR_API_KEY
  1. Verify:
codex mcp list

Claude Desktop

Claude Desktop can use a direct HTTP MCP server entry in claude_desktop_config.json.

Typical config locations:

  • macOS:
    • ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:
    • %APPDATA%\\Claude\\claude_desktop_config.json

Add:

{
  "mcpServers": {
    "whiteboard": {
      "type": "http",
      "url": "https://app.peisongxiao.com/whiteboard/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_HARBOR_API_KEY"
      }
    }
  }
}

Then restart Claude Desktop.

Verify:

  • confirm that whiteboard appears in Claude Desktop’s MCP tool list

Claude CLI

Claude Code supports remote HTTP MCP servers with authentication headers.

  1. Create a Harbor API key.
  2. Add the server:
claude mcp add --transport http --scope user \
  --header "Authorization: Bearer YOUR_HARBOR_API_KEY" \
  whiteboard https://app.peisongxiao.com/whiteboard/mcp
  1. Verify:
claude mcp list

Cursor

Cursor editor and cursor-agent use the same MCP configuration.

Use either:

  • global config:
    • ~/.cursor/mcp.json
  • project config:
    • .cursor/mcp.json

Add:

{
  "mcpServers": {
    "whiteboard": {
      "url": "https://app.peisongxiao.com/whiteboard/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_HARBOR_API_KEY"
      }
    }
  }
}

Restart Cursor.

Verify:

cursor-agent mcp list

What Whiteboard MCP provides

Whiteboard MCP is intended to expose the same core document operations as the Harbor-docked GUI.

Current tools:

  • whiteboard.list_documents
  • whiteboard.create_document
  • whiteboard.get_document
  • whiteboard.apply_operations
  • whiteboard.delete_document
  • whiteboard.export_document
  • whiteboard.validate_document
  • whiteboard.get_history
  • whiteboard.select_history_node

Troubleshooting

401 or unauthenticated errors

  • make sure you are using a Harbor API key, not your Harbor password
  • make sure the request includes:
    • Authorization: Bearer <your_api_key>

The server is listed but tools do not appear

  • verify the URL is exactly:
    • https://app.peisongxiao.com/whiteboard/mcp
  • verify the client is configured for HTTP MCP, not SSE

Desktop or editor changes do not take effect

  • restart the client after changing the MCP configuration

Unsure whether auth is working

  • first verify the same Harbor API key works in the Whiteboard web app
  • then confirm the MCP client is sending the same key as a bearer token