Skip to content

Chainabit MCP Server

Connect Claude Desktop, Cursor, Windsurf, or any MCP-compatible AI client to your Chainabit workspace. Once connected, the AI client can search your bits, manage chains, run connectors, inspect workspace members, and more — all through natural language.

What the Chainabit MCP server exposes

The server implements the Model Context Protocol over HTTP POST (/api/v1/mcp). After authentication, the AI client auto-discovers all tools available to your workspace, including:

  • Native Chainabit workspace tools (bits, chainies, chains, calendar, etc.)
  • Active connector tools from your workspace (GitHub, Notion, Slack, and others)

The tool list is driven by your workspace configuration — connectors you have enabled appear automatically.

Authentication options

Option A — API key (simplest)

  1. Log in to app.chainabit.com
  2. Go to Settings → API Keys
  3. Click Generate new key and copy it — you cannot view it again

Use this key as a Bearer token in the Authorization header.

Chainabit supports OAuth 2.0 Authorization Code + PKCE. MCP clients that support OAuth (such as newer Claude Desktop versions) can authenticate without a static API key.

The OAuth discovery endpoint is:

GET https://api.chainabit.com/.well-known/oauth-authorization-server

Claude Desktop and other MCP clients that support RFC 8414 will discover the flow automatically. For manual setup, see the OAuth flow section below.

Option C — OAuth client credentials (for Claude.ai and tools with a backend)

Claude.ai's remote MCP connector requires an OAuth Client ID and OAuth Client Secret. Chainabit lets you generate these directly from your account settings.

Available on Chainer and Architect plans.

  1. Log in to app.chainabit.com
  2. Go to Settings → API → MCP OAuth Clients
  3. Click Generate new client — enter a name and your redirect URI (e.g. https://claude.ai/callback)
  4. Copy the Client ID and Client Secret — the secret is shown once

Then in Claude.ai's Add custom connector form:

  • Remote MCP server URL: https://api.chainabit.com/api/v1/mcp
  • OAuth Client ID: (your generated client ID)
  • OAuth Client Secret: (your generated client secret)

Claude.ai will handle the full OAuth flow — redirecting you to Chainabit's consent screen and exchanging tokens automatically.

Connect your AI client

Claude Desktop (API key)

Open ~/Library/Application Support/Claude/claude_desktop_config.json on macOS and add:

json
{
  "mcpServers": {
    "chainabit": {
      "url": "https://api.chainabit.com/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_CHAINABIT_API_KEY"
      }
    }
  }
}

Restart Claude Desktop. A hammer icon indicates tools are available.

Cursor

Go to Cursor Settings → MCP → Add Server and enter:

  • Name: Chainabit
  • URL: https://api.chainabit.com/api/v1/mcp
  • Auth header: Authorization: Bearer YOUR_CHAINABIT_API_KEY

Windsurf

Go to Windsurf Settings → Extensions → MCP Servers and add:

json
{
  "name": "chainabit",
  "url": "https://api.chainabit.com/api/v1/mcp",
  "headers": {
    "Authorization": "Bearer YOUR_CHAINABIT_API_KEY"
  }
}

OAuth 2.0 flow

For clients that support OAuth 2.0 Authorization Code + PKCE natively, Chainabit acts as the authorization server. The flow:

  1. Client calls GET /api/v1/mcp/oauth/authorize with client_id, redirect_uri, code_challenge (S256), and scope=mcp:tools
  2. Chainabit redirects to the consent UI at app.chainabit.com/consent
  3. You approve the request — Chainabit redirects back to redirect_uri?code=...
  4. Client exchanges the code via POST /api/v1/mcp/oauth/token using code_verifier
  5. Client receives access_token (1 hour TTL) and refresh_token (30 day TTL)
  6. Client calls POST /api/v1/mcp/oauth/token with grant_type=refresh_token to rotate tokens

Client ID: chainabit-mcp (no secret required — public client) Allowed scopes: mcp:tools openid profile:read

Workspace tool policies

You can control which tools are available to AI clients per workspace:

PolicyBehavior
allowTool runs without any confirmation prompt
askTool always requires your approval before running
blockTool is disabled — the AI client receives an error

Manage policies at: Settings → Workspace → Tool Permissions

Or via API: PUT /api/v1/workspaces/{workspaceId}/tool-policies/{toolKey}

bash
# Block a destructive tool
curl -X PUT https://api.chainabit.com/api/v1/workspaces/YOUR_WS_ID/tool-policies/bits.delete \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"policy": "block"}'

Example prompts

Once connected, try:

Search my bits for anything related to sprint planning.
List the connector instances in my workspace. Which ones are from GitHub?
What chains do I have? Get details for the one named "Morning Review".
Who are the members of my workspace and what roles do they have?

Health check

bash
curl -X POST https://api.chainabit.com/api/v1/mcp \
  -H "Authorization: Bearer YOUR_CHAINABIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"ping","id":1}'

Expected response:

json
{"jsonrpc":"2.0","id":1,"result":{}}

List available tools

bash
curl -X POST https://api.chainabit.com/api/v1/mcp \
  -H "Authorization: Bearer YOUR_CHAINABIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

Built with purpose.