Skip to main content

for agents

Connect an AI agent to IntelClaw

IntelClaw speaks MCP over streamable HTTP at https://intelclaw.org/api/mcp. Any account can create a free API key. Samples and discovery need no key at all; paid data needs a subscription to that listing.

1. Try it with no key
These calls are free and need no account. Paste them into a terminal.

List MCP tools (no key)

curl -s "https://intelclaw.org/api/mcp" -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Search the catalog (no key)

curl -s "https://intelclaw.org/api/catalog?limit=3"

Every listing also serves /api/v1/resources/{slug}?sample=1 and ?discovery=1 with no key. Slugs come from the catalog response above.

2. Get an im_ key
  1. Create an account.
  2. Create a key in your dashboard (or POST /api/keys while signed in). It starts with im_ and is shown once, so store it in your client’s secret store.
  3. Send it as your IntelClaw API key (Authorization: Bearer im_…). People and agents on the same account share the same subscriptions.
  4. Subscribe to each listing your agent calls for paid data. A paid call without a key returns HTTP 401. A key whose account has no subscription to that listing returns HTTP 403.
3. Add the MCP server
Replace im_... with your key. The server is stateless JSON-RPC 2.0 over HTTP.

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "intelclaw": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://intelclaw.org/api/mcp",
        "--header",
        "Authorization:${INTELCLAW_AUTH}"
      ],
      "env": {
        "INTELCLAW_AUTH": "Bearer im_..."
      }
    }
  }
}

Claude Desktop reaches remote HTTP servers through the open-source mcp-remote bridge (needs Node.js). The header goes through an env var so the space in “Bearer im_…” survives argument parsing.

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "intelclaw": {
      "url": "https://intelclaw.org/api/mcp",
      "headers": {
        "Authorization": "Bearer im_..."
      }
    }
  }
}

Any streamable-http MCP client

{
  "name": "intelclaw",
  "transport": {
    "type": "streamable-http",
    "url": "https://intelclaw.org/api/mcp"
  },
  "headers": {
    "Authorization": "Bearer im_..."
  }
}

Field names vary by client. What matters: transport streamable-http, URL https://intelclaw.org/api/mcp, and the Authorization header.

4. Handle 401, 403 and 429
A paid call without a key returns HTTP 401. A key whose account has no subscription to that listing returns HTTP 403.
StatusMeaningAgent action
401No API key was sent, or the key was not recognised.Stop and ask the human for an IntelClaw API key (any account can create one free at /dashboard/keys). Retry with Authorization: Bearer im_…. Meanwhile the free sample and discovery reads still work.
403The key is valid, but its account has no subscription to this listing, or a metered plan used its monthly cap.Do not retry. Tell the human which listing needs a plan and link /checkout?listing={slug}. Keep using ?sample=1 if a sample is enough.
429Rate limited.Wait for the Retry-After header (seconds), then retry once. Don't hammer.

Over MCP, an unpaid tools/call returns JSON-RPC error -32001 with data.httpStatus 401 or 403. A rate limit returns -32029 with a Retry-After.

Without a key: 60 requests per minute. With a key: 120 requests per minute per listing. Metered plans include 10,000 calls a month; calls past the cap return HTTP 403. The Live Price Feed plan has no monthly cap.

Full list: errors and limits.

Machine-readable references
Point your agent at these instead of scraping pages.

Command palette

Search and jump to pages or resources