BC Data docs

MCP server

The BC Data MCP server at api.bcmcp.ca/mcp: transport, authentication, and how it relates to the REST API.

Address: https://api.bcmcp.ca/mcp. Transport: Streamable HTTP, stateless, JSON responses. Every request needs your key in Authorization: Bearer <key>, including initialize and tools/list.

The tools are the same registry that the REST API serves. Same names, same arguments, same answers, same citations. Reference lists them all.

Without a key

The server answers HTTP 401 with WWW-Authenticate: Bearer realm="bc-data" and this body:

{
  "jsonrpc": "2.0",
  "id": null,
  "error": {
    "code": -32001,
    "message": "API key required. Sign up free at https://bcmcp.ca/signup and send it as Authorization: Bearer <key>.",
    "data": { "code": "unauthorized" }
  }
}

Try it without a client

curl -X POST https://api.bcmcp.ca/mcp \
  -H "Authorization: Bearer $BCDATA_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Add it to a client

See Connect an MCP client for Claude Code, Cursor, VS Code and Windsurf, and for why claude.ai and ChatGPT cannot use a key yet.

The old address

https://mcp.bcmcp.ca/mcp is kept for now and needs a key too.

On this page