Validate with curl
Before wiring up a GUI client, confirm your key reaches the server and tools come back. The Streamable HTTP transport requires an Accept header listing both application/json and text/event-stream.
1. Initialize
curl -i https://mcp.pocketpart.io/mcp \
-H "Authorization: Bearer pp_mcp_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-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": "curl-test", "version": "1.0.0" }
}
}'Healthy: HTTP 200 and a JSON-RPC result with serverInfo and a capabilities object advertising tools.
2. List tools
curl -s https://mcp.pocketpart.io/mcp \
-H "Authorization: Bearer pp_mcp_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'Healthy: a result.tools array. You always see the core tools (echo, ping, _status, web_search, …) plus whatever your packs unlock. Only seeing core tools means your plan/packs aren’t enabling the rest — an entitlement result, not a connection failure.
3. Call a tool
curl -s https://mcp.pocketpart.io/mcp \
-H "Authorization: Bearer pp_mcp_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"ping","arguments":{}}}'Run _status instead of ping to see your org, plan, enabled packs, key prefix, and current-month usage.
401 with a JSON-RPC Unauthorized → key missing, wrong, revoked, expired, or no Bearer prefix. 406 / an Accept transport error → you omitted text/event-stream. A successful connect but near-empty tool list → a plan/pack entitlement issue. More in Troubleshooting.