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)
- Log in to app.chainabit.com
- Go to Settings → API Keys
- Click Generate new key and copy it — you cannot view it again
Use this key as a Bearer token in the Authorization header.
Option B — OAuth 2.0 + PKCE (recommended for Claude Desktop)
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-serverClaude 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.
- Log in to app.chainabit.com
- Go to Settings → API → MCP OAuth Clients
- Click Generate new client — enter a name and your redirect URI (e.g.
https://claude.ai/callback) - 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:
{
"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:
{
"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:
- Client calls
GET /api/v1/mcp/oauth/authorizewithclient_id,redirect_uri,code_challenge(S256), andscope=mcp:tools - Chainabit redirects to the consent UI at
app.chainabit.com/consent - You approve the request — Chainabit redirects back to
redirect_uri?code=... - Client exchanges the code via
POST /api/v1/mcp/oauth/tokenusingcode_verifier - Client receives
access_token(1 hour TTL) andrefresh_token(30 day TTL) - Client calls
POST /api/v1/mcp/oauth/tokenwithgrant_type=refresh_tokento 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:
| Policy | Behavior |
|---|---|
| allow | Tool runs without any confirmation prompt |
| ask | Tool always requires your approval before running |
| block | Tool 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}
# 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
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:
{"jsonrpc":"2.0","id":1,"result":{}}List available tools
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}'