Skip to content
MCP serverlive

CorpStacking MCP server,
for any AI agent.

Point Claude Desktop, Claude Code, Cursor, or ChatGPT custom GPTs at corporate BTC, ETH, and SOL treasury data. Eight read-only tools. The same API key as /api/v1.

What you need

  • A paid plan that includes API access. The free plan does not include API access, so it cannot connect to MCP. Any paid plan — Pro, Pro+, API Pro, Team, or Enterprise — includes an API key that works here. For production and heavier usage we recommend API Pro ($499/mo) for its much larger request limits (see Plans & limits below).
  • Your CorpStacking API key. Generate it in Settings → API. It's the same key that powers /api/v1 — there's no separate MCP plan or key. Don't have one yet? Choose a plan.
  • A client that speaks MCP — Claude Desktop, Claude Code, Cursor, ChatGPT custom GPTs, and so on.

Connection

Endpoint

POST https://www.corpstacking.com/api/mcp

Authentication

Authorization: Bearer cs_live_YOUR_KEY

The x-api-keyheader is also accepted — useful if you're reusing curl examples from /api/v1. Either header value resolves to the same plan and quota.

Transport

Streamable HTTP, the current MCP transport (spec 2025-03-26). Request and response share one connection, so the client has no session state to manage.

Quickstart

Pick your client. Replace cs_live_YOUR_KEY with your key from /settings → API.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows), then restart Claude.

{
  "mcpServers": {
    "corpstacking": {
      "type": "http",
      "url": "https://www.corpstacking.com/api/mcp",
      "headers": {
        "Authorization": "Bearer cs_live_YOUR_KEY"
      }
    }
  }
}

Claude Code

Run from any project directory. Once added, "corpstacking" is callable in every Claude Code session on your machine.

claude mcp add --transport http corpstacking https://www.corpstacking.com/api/mcp \
  --header "Authorization: Bearer cs_live_YOUR_KEY"

Cursor

Add to ~/.cursor/mcp.json (or the workspace-scoped .cursor/mcp.json), then restart Cursor.

{
  "mcpServers": {
    "corpstacking": {
      "url": "https://www.corpstacking.com/api/mcp",
      "headers": {
        "Authorization": "Bearer cs_live_YOUR_KEY"
      }
    }
  }
}

Other clients (ChatGPT custom GPTs via the MCP Connector, Continue.dev, Replit Agent, Sourcegraph Cody, etc.) connect the same way: point at https://www.corpstacking.com/api/mcp with the same Authorization: Bearer header.

Tool reference

All tools are read-only. They appear in tools/list once the client connects.

list_treasuriestoken?, limit?, offset?

Public companies, ETFs, and governments holding crypto, ranked by position size.

get_treasuryslug

One entity's full holdings + 10 most-recent disclosed purchases.

list_signalssignal_type?, token?, since?, limit?

Recent signal feed — SEC filings, wire-news, ETF milestones, sales, capital raises.

get_signalslug

Single signal detail with associated company.

list_recent_activitytoken?, since?, min_usd?, limit?

Every disclosed purchase across every tracked entity, most-recent first.

get_market_stats(none)

Aggregate totals: entity count, holdings per token, breakdown by entity type.

list_tokens(none)

BTC, ETH, SOL reference — current spot price, 24h move, market cap.

get_usage(none)

Your current plan, remaining monthly quota, and per-minute rate limit headroom.

Raw JSON-RPC example

If you're wiring up a non-standard client or want to test the wire protocol directly, hit the endpoint with curl. The transport replies in newline-delimited Server-Sent-Events frames (event: message followed by data: …).

# List the top 5 BTC treasuries
curl -s -X POST https://www.corpstacking.com/api/mcp \
  -H "content-type: application/json" \
  -H "accept: application/json, text/event-stream" \
  -H "authorization: Bearer cs_live_YOUR_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "list_treasuries",
      "arguments": { "token": "bitcoin", "limit": 5 }
    }
  }'

Plans & limits

  • API Pro — $499/mo: 500,000 requests/month, 2,000 requests/minute burst.
  • Team — Contact sales: 1,000,000 requests/month, 3,000 requests/minute burst, 5 seats included. Talk to our team.
  • Enterprise — custom: unmetered + custom rate limits. Talk to our team.

One MCP request equals one /api/v1 request against your monthly quota and per-minute rate limit. A tool that runs multiple database queries internally still counts as one request. Call get_usage to read your remaining quota before you hit the cap.

Errors

401 Unauthorized — missing or invalid Authorization header. Check the key starts with cs_live_ and has not been rotated.

403 Forbidden — your plan does not include API access. Upgrade at /upgrade to API Pro or higher.

429 Too Many Requests — you hit the per-minute or monthly limit. Inspect the X-RateLimit-Remaining and X-Quota-Remaining response headers; either wait for the bucket to reset or upgrade.

Tool errors — when a specific tool fails (bad slug, etc.) the request still returns HTTP 200; the result has isError: true and a human-readable text block explaining what went wrong.

FAQ

Why MCP and not just REST?

For backends, dashboards, and ETL jobs, use /api/v1. MCP is for AI agents that pick which tool to call from a natural-language prompt; the protocol hands the model every tool's schema so it can choose.

Does an MCP call cost the same as an /api/v1 call?

Yes. One MCP request equals one /api/v1 request against your monthly quota and per-minute rate limit. No separate billing.

Do you support batched tool calls?

Yes. JSON-RPC batch requests (array of calls in one POST) work as the spec defines; each call in the batch consumes one quota unit.

Can an agent subscribe to alerts or submit new entities via MCP?

Not yet. The current tools are all read-only. Write tools that change account state are on the roadmap, gated behind a customer opt-in toggle so an autonomous agent can't change anything by default. Talk to our team if you have a use case.

Which MCP protocol version is this?

MCP 2025-03-26 over streamable HTTP. The older HTTP+SSE transport (2024-11-05) is deprecated and not exposed.

Connect

Get an API key, add the connection string to your client config, ask the model a question.