Citera home
Browse documentation

Connect an MCP client

Connect an MCP client

Configure Claude Code, Cursor, HTTP clients, or a stdio bridge.

Summarize with AIChatGPTClaudePerplexity

Before connecting

Get your full deployed MCP endpoint from the Citera team. Set CITERA_MCP_URL to that HTTPS URL, including /mcp, and use a key enabled for the mcp surface. Shell examples expand environment variables. In JSON configurations, replace YOUR_ASSIGNED_MCP_ENDPOINT with the actual URL and use your client’s supported secret mechanism; environment substitution varies by client.

Claude Code (CLI):

claude mcp add --transport http citera "$CITERA_MCP_URL" \
  --header "Authorization: Bearer $CITERA_API_KEY"
claude mcp add --transport http citera "$CITERA_MCP_URL" \
  --header "Authorization: Bearer $CITERA_API_KEY"
claude mcp add --transport http citera "$CITERA_MCP_URL" \
  --header "Authorization: Bearer $CITERA_API_KEY"
claude mcp add --transport http citera "$CITERA_MCP_URL" \
  --header "Authorization: Bearer $CITERA_API_KEY"

Cursor (.cursor/mcp.json) and other clients that accept a URL with headers:

{
  "mcpServers": {
    "citera": {
      "url": "YOUR_ASSIGNED_MCP_ENDPOINT",
      "headers": { "Authorization": "Bearer rk_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
    }
  }
}
{
  "mcpServers": {
    "citera": {
      "url": "YOUR_ASSIGNED_MCP_ENDPOINT",
      "headers": { "Authorization": "Bearer rk_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
    }
  }
}
{
  "mcpServers": {
    "citera": {
      "url": "YOUR_ASSIGNED_MCP_ENDPOINT",
      "headers": { "Authorization": "Bearer rk_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
    }
  }
}
{
  "mcpServers": {
    "citera": {
      "url": "YOUR_ASSIGNED_MCP_ENDPOINT",
      "headers": { "Authorization": "Bearer rk_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
    }
  }
}

Clients that only support stdio servers (for example older Claude Desktop configurations) can use a stdio-to-HTTP bridge such as mcp-remote:

{
  "mcpServers": {
    "citera": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "YOUR_ASSIGNED_MCP_ENDPOINT",
               "--header", "Authorization: Bearer ${CITERA_API_KEY}"],
      "env": { "CITERA_API_KEY": "rk_live_…" }
    }
  }
}
{
  "mcpServers": {
    "citera": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "YOUR_ASSIGNED_MCP_ENDPOINT",
               "--header", "Authorization: Bearer ${CITERA_API_KEY}"],
      "env": { "CITERA_API_KEY": "rk_live_…" }
    }
  }
}
{
  "mcpServers": {
    "citera": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "YOUR_ASSIGNED_MCP_ENDPOINT",
               "--header", "Authorization: Bearer ${CITERA_API_KEY}"],
      "env": { "CITERA_API_KEY": "rk_live_…" }
    }
  }
}
{
  "mcpServers": {
    "citera": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "YOUR_ASSIGNED_MCP_ENDPOINT",
               "--header", "Authorization: Bearer ${CITERA_API_KEY}"],
      "env": { "CITERA_API_KEY": "rk_live_…" }
    }
  }
}

Raw JSON-RPC (useful for debugging):

curl -s "$CITERA_MCP_URL" \
  -H "Authorization: Bearer $CITERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

curl -s "$CITERA_MCP_URL" \
  -H "Authorization: Bearer $CITERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
       "params":{"name":"rankad_list_brands","arguments":{"limit":10}}}'
curl -s "$CITERA_MCP_URL" \
  -H "Authorization: Bearer $CITERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

curl -s "$CITERA_MCP_URL" \
  -H "Authorization: Bearer $CITERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
       "params":{"name":"rankad_list_brands","arguments":{"limit":10}}}'
curl -s "$CITERA_MCP_URL" \
  -H "Authorization: Bearer $CITERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

curl -s "$CITERA_MCP_URL" \
  -H "Authorization: Bearer $CITERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
       "params":{"name":"rankad_list_brands","arguments":{"limit":10}}}'
curl -s "$CITERA_MCP_URL" \
  -H "Authorization: Bearer $CITERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

curl -s "$CITERA_MCP_URL" \
  -H "Authorization: Bearer $CITERA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
       "params":{"name":"rankad_list_brands","arguments":{"limit":10}}}'