Check errors at the layer that returned them. HTTP transport success does not establish tool success, and a live deployment can still contain actionable warnings.
Read an MCP result#
A tool failure normally has result.isError: true with structuredContent.error and structuredContent.message. Preserve the exact code and relevant site/deploy identifier when asking for help. JSON-RPC protocol errors instead appear in a top-level error object.
| Transport / protocol observation | Meaning and action |
|---|---|
| HTTP 401 or invalid credential | Reconnect OAuth or replace/recover the appropriate credential. |
| Insufficient scope, JSON-RPC -32003 | Grant the needed read/write permission through the supported connection. |
| HTTP 429 or rate-limit response | Slow requests and honor retry guidance; avoid repeated immediate calls. |
| JSON-RPC -32600 | Invalid request/protocol shape; check headers and send individual JSON requests. |
| JSON-RPC -32601 / -32602 | Unknown method/tool or invalid arguments; rediscover current schemas. |
HTTP 200 with isError: true |
Read the tool's error code and message before proceeding. |
Targeting and plan codes#
| Code | Corrective action |
|---|---|
organization_required |
Choose from list_organizations and supply its ID. |
organization_not_allowed, forbidden |
Recheck account membership and approved connection scope. |
not_found |
Check the selected organization and exact site/deploy identifier. |
card_required, hosting_access_required |
Complete the eligible hosting access path shown by the account; free signup can satisfy access. |
upgrade_required |
Review the intended site's plan and the returned upgrade path. |
rate_limited |
For daily deploy exhaustion, wait for reset or use an agreed higher allowance; do not rotate keys. |
Deploy and release codes#
| Code | Corrective action |
|---|---|
no_artifact |
Upload the ZIP to the saved unexpired URL, then finalize the same deploy. |
too_large |
Reduce the artifact or use the correct upload method; oversized finalized uploads are deleted. |
invalid_state |
Inspect get_deploy; queued/processing/live deploys should not be finalized again. |
invalid_environment |
Supply the supported destination for that operation. |
release_workflow_disabled |
Enable an eligible workflow before staging/both/promotion. |
production_domain_required |
Activate the production custom domain before the requested release. |
deploy_not_ready, not_live |
Use a completed, eligible deployment; inspect failures before promotion/rollback. |
build_session_expired, build_deploy_limit |
Preserve source/reservation and finish account setup for normal access. |
Pipeline values include uploading, queued, extracting, embedding, syncing_cms, generating_aeo, publishing_cms, live, failed, and rolled_back. A status describes pipeline state, while staging/production pointer flags identify which deployment currently serves each destination.
Content and integration codes#
cms_no_live_deploy requires the first live deploy before Answer Cloud CMS publication. cms_collection_not_found and cms_entry_not_found require the correct collection/entry inventory. cms_invalid_field requires fixing the payload. cms_publish_failed can preserve a saved draft; reuse the included entry ID.
cms_path_collision means a static artifact occupies a CMS-owned path. github_not_connected needs installation authorization; github_not_linked needs a site/repository link; github_actions_build means re-run/push the Actions workflow instead of using the static-mode trigger. widget_invalid_config requires supported values; widget_refresh_failed can mean settings saved but live refresh failed.
chat_invalid_date, chat_invalid_cursor, and chat_invalid_roles concern transcript-export filters. search_invalid concerns query/mode. aeo_report_not_found requires an available audit, not repeated reads.
Deployment warnings#
| Warning | Action |
|---|---|
spa_shell |
Put important content in statically generated HTML. |
pages_skipped |
Review the indexing allowance and affected paths. |
social_preview_missing |
Add static social metadata and a packaged raster share image. |
social_preview_invalid |
Use an absolute public HTTPS PNG/JPEG URL and verify its response. |
cms_path_collision |
Remove or intentionally resolve static/CMS path overlap. |
Read warning messages and affected paths, then verify the corrected public result. For a code not listed here, use the returned message and support; do not guess that retrying is safe.