Connection Details
| Property | Value |
|---|---|
| Protocol | MCP over Streamable HTTP (JSON-RPC 2.0). GET streams use SSE with a : keepalive comment every 15 s |
| MCP endpoint | POST/GET https://mcp.careemapis.com/mcp |
| Auth | Authorization: Bearer <access_token> on every MCP request |
| CORS | Enabled on /mcp — browser-based clients work |
| Sessions | Stateless — no Mcp-Session-Id required |
| Rate limiting | Standard gateway rate limits apply |
Handshake
After obtaining a token (see Authentication):
POST /mcp→initialize— returns server info and capabilities (tools + resources).POST /mcp→notifications/initializedPOST /mcp→tools/list— returns the full 50-tool catalog.POST /mcp→tools/callwith{ name, arguments }per call.
Streaming behavior
Long-running responses stream over SSE. The server emits a : keepalive SSE comment every 15 seconds to keep intermediaries from closing idle connections — clients should silently ignore these comments.
Error handling
- Tool-level errors come back as an
errorstring field in the tool's structured output. - Protocol-level failures surface as MCP tool errors (e.g. a missing
Authorizationheader is rejected). - Retry idempotent reads freely; never blind-retry mutating tools — a retry after a timeout could double-book a ride or double-place an order.