MCP
The board backend serves Streamable HTTP at /mcp. It uses the official
Rust MCP SDK and serves the
current protocol, with compatibility for clients that initialize older
protocol versions. There is no separate database connection or MCP process.
Connect your client
- Sign in to the board. In Settings → API tokens, issue a token for the source the client will work on. Choose read access unless it needs edits.
- Configure a Streamable HTTP server at
https://board.example.com/mcp, using your backend’s address. - Set its
Authorizationheader toBearer <token>through the client’s secret or environment setting. The same token works withfolio-board.
Use each client’s documented bearer-token configuration; environment expansion in a JSON header is not supported by every client. This endpoint accepts a preissued bearer token. It does not provide an MCP OAuth authorization server.
Four tools share the board service
| Tool | Input | Result |
|---|---|---|
board_read | {} | Board, columns, cards, warnings and revision |
card_read | {"id":"improve-search"} | Card, Markdown and current hash |
card_create | {"id":"improve-search","markdown":"..."} | Validated card and new revision; existing ids are refused |
card_apply | An operation request | Atomic outcome, card, revision, diff and warnings |
Read tokens advertise only the first two tools. Write permission is checked again when a tool runs. The server assigns the actor from the token’s account; clients cannot replace the actor or supply commit messages.
For a guarded edit, read the card first and send its hash as if_match:
{
"card": "improve-search",
"if_match": "<hash from card_read>",
"ops": [{"op":"move","status":"in-progress"}],
"dry_run": false
}card_apply accepts up to 32 operations for one card. Comments, trail notes,
criteria, fields, descriptions and artifact references use the same operations
as HTTP. Validation or stale-hash failures return a structured tool error.
Review the current card before retrying a conflict.
Each request rechecks token expiry, revocation, stable source identity and provider permissions. Source context comes from the current authorized HTTP request, never from shared MCP client state. Origins and the public host are validated by the server. Revoking the token disables both HTTP and MCP access.
Git boards commit and push through the Git store. SQLite boards write an immutable database revision. Both use the same domain validation and revision checks. Keep token storage, provider credentials and SQLite boards on persistent storage.