error.code, error.message, and error.retryable. MCP tool errors set isError even when the transport returns HTTP 200.
- 401/403: verify the credential, scope, and IP restrictions.
- 402: the request allowance is exhausted.
- 409: an idempotency conflict; preserve the original input.
- 422: invalid parameters.
- 429: honor Retry-After.
- 502/503/504: upstream or capacity error; retry only when indicated, with the same idempotency key.