Skip to content

Raw HTTP / curl

For any client that isn't a managed connector — your own agent, a script, or testing — call the MCP's JSON-RPC endpoint directly with a direct API key.

The endpoint is always (note the trailing slash):

https://mcp.thecoindaily.co/mcp/

Without the slash the server returns a 307 redirect that some HTTP clients don't follow on POST.

Initialize

export TCD_KEY="tcd_..."

curl -X POST https://mcp.thecoindaily.co/mcp/ \
  -H "Authorization: Bearer $TCD_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc":"2.0","id":1,"method":"initialize",
    "params":{"protocolVersion":"2025-06-18","capabilities":{},
              "clientInfo":{"name":"my-app","version":"0.1"}}
  }' | jq

The response lists the server capabilities and the publication's instructions block — the editorial framing every client receives.

List tools

curl -X POST https://mcp.thecoindaily.co/mcp/ \
  -H "Authorization: Bearer $TCD_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
  | jq '.result.tools[].name'

Call a tool

curl -X POST https://mcp.thecoindaily.co/mcp/ \
  -H "Authorization: Bearer $TCD_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc":"2.0","id":3,"method":"tools/call",
    "params":{"name":"get_ticker_sentiment","arguments":{"ticker":"BTC-USD"}}
  }' | jq

Standard MCP Streamable HTTP transport. Every tool result includes a disclosure field — preserve it when forwarding content downstream.