Quickstart

Connect Claude Code in 60 seconds.

Bcontext speaks the Model Context Protocol over a single HTTP endpoint. One workspace-scoped bearer token is all you need.

1. Generate a token

Sign in, open Settings → Tokens, and create a token. Pick the scopes your agent actually needs — at minimum nodes:read and agents:read for read-only assistants, plus nodes:write and agents:write to let the agent draft new nodes. Tokens are workspace-scoped and start with bctx_live_.

2. Drop the config into Claude Code

Edit ~/.claude/mcp.json (or your project-level .mcp.json) and add the bcontext server. Claude Code reloads MCP servers on restart.

~/.claude/mcp.json
{
  "mcpServers": {
    "bcontext": {
      "transport": "http",
      "url": "https://bcontext.es/mcp",
      "headers": {
        "Authorization": "Bearer bctx_live_..."
      }
    }
  }
}
Streamable HTTP transport. No proxy, no daemon.

3. Or use Claude Desktop

Claude Desktop still expects a stdio command. Bridge it with mcp-remote, which turns any HTTP MCP server into a local stdio process.

Claude Desktop config
{
  "mcpServers": {
    "bcontext": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://bcontext.es/mcp",
        "--header",
        "Authorization: Bearer bctx_live_..."
      ]
    }
  }
}
macOS path: ~/Library/Application Support/Claude/claude_desktop_config.json

4. Verify it works

From Claude Code, ask the agent to search Bcontext for something you know exists. Or hit the REST endpoint directly to confirm the token is wired up correctly:

curl
curl -X POST https://bcontext.es/api/agents/context \
  -H "Authorization: Bearer bctx_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "workspace": "acme", "query": "what is blocking us?", "k": 5 }'

A 200 with a retrievedarray means you're live. A 401 means the token is wrong; a 403means the token doesn't grant access to that workspace.