Rate limits
The MCP endpoint sits behind a per-Space throttle, shared across all MCP clients connected to that Space.
That’s enough headroom for typical Ask-AI-style flows where each user message triggers one to a handful of tool calls. If you’re driving the MCP server from an automated agent that fans out across many tool calls per turn, you may hit the limit during a heavy iteration.
Limits are returned in standard response headers:
429 Too Many Requests JSON-RPC error and a Retry-After header. MCP-aware clients (Claude Desktop, Cursor) back off automatically on 429 and retry once the window clears.
Underlying API limits
Each MCP tool delegates to a Public API V1 endpoint, and those endpoints have their own per-Space throttles:
The MCP endpoint throttle (60/minute) is hit first in most cases, but a chatty single tool can still trip its own per-endpoint limit before the MCP throttle catches it.
Error envelope
Every error from an MCP tool returns a structured envelope so the model can recover deterministically without parsing prose:[error_class] prefix is one of:
The
Reference ID: … is the row ID in mcp_audit_log for this call. Include it in support requests so the Cometly team can trace the failure end-to-end.
Validation error detail
Validation errors include the field-by-field reasons, formatted for the model:Best practices for client builders
- Always parse the
[error_class]prefix, not the message text. Messages may evolve; the class won’t. - Honour
Retry-Afteron429. Cometly doesn’t bill for retries, but a hot loop will keep you locked out. - Surface the
Reference IDto end users when an error escapes. It’s the fastest way to get a real diagnosis from support. - Don’t cache
401responses. When OAuth tokens expire, the next call has to walk the flow.