{"error":"…"} inside MCP
content), not HTTP status codes.
HTTP layer (/mcp)
Tool JSON codes
Relay control (/v1/*)
Relay
429 does not say which limiter fired.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Stable error codes agents should handle.
{"error":"…"} inside MCP
content), not HTTP status codes.
/mcp)| Status | error | Meaning | Action |
|---|---|---|---|
401 | signature_invalid | Bad/missing signature, or user paused assistants | Fix signing / wait |
413 | payload_too_large | Body > 256 KiB | Shrink request |
| Code | Meaning | Action |
|---|---|---|
approval_required | Phone prompt pending | Show match code; wait; retry rules |
not_approved | Excerpt/send retry without a valid approval_id | Re-prompt or stop |
denied | Policy refuse or blocked domain | Stop that ask; do not hammer |
rate_limited | Prompts / mute / daily cap | Back off (retry_after_seconds) |
no_answer | Model/extractive path found nothing safe | Narrow the question |
unavailable | Store locked / transient | Retry later |
unknown_tool | Name not offered | tools/list |
bad_request | Bad arguments | Fix args |
/v1/*)| Status | error | Notes |
|---|---|---|
400 | invalid_address / bad_request | Fix resolve body |
429 | rate_limited | Often includes Retry-After: 60 |
413 | too_large | Queue envelope |
507 | queue_full | Wait or drop |
404 | not_found | Queue reply expired |
429 does not say which limiter fired.