Skip to content

Troubleshooting

  • Confirm the URL is exactly https://elicitra.eigen.rest/api/mcp and the transport is Streamable HTTP, not SSE.
  • Confirm ELICITRA_MCP_TOKEN exists in the environment of the agent process.
  • Restart the client after changing user-level MCP configuration.
  • Do not test the endpoint with browser navigation: GET is intentionally unsupported.

The token is absent, malformed, expired, revoked, or no longer belongs to a current owner/admin membership. Create a replacement PAT and update the client secret store.

Tool discovery is scope-filtered. A read-only PAT lists only read tools. A Scale-to-Growth downgrade keeps the five oldest active PATs and suspends excess credentials; a downgrade from Growth or Scale to Free or Pro suspends every PAT. A Developer Access kill switch can also suspend the whole surface.

For REVISION_CONFLICT, get the scenario or campaign again and reconcile against the new revision. For SCENARIO_LOCKED, an active campaign prevents public MCP scenario edits; use the returned Studio URL. For CAMPAIGN_LOCKED, the campaign is not DRAFT or a scenario/channel routing change conflicts with an open non-test interaction; use the returned editor URL.

Product knowledge search is unavailable or empty

Section titled “Product knowledge search is unavailable or empty”

SERVICE_UNAVAILABLE means Elicitra could not verify the requested product-reference bundle. Retry with bounded backoff; the server deliberately avoids stale, partial, or cross-language results. An empty result is different: the verified documents contain no match in the requested locale and topics, so simplify the query or broaden topics.

elicitra_knowledge_search does not search a scenario’s Knowledge Base. Continue in Studio for organization document upload, publication, attachment, or retrieval testing.

Return 2xx quickly, verify the signature over the raw application/json body, read its sole challenge field, then enter that exact value in Elicitra. The control body is not a CloudEvent, and a 2xx response alone does not prove endpoint possession.

At-least-once delivery permits duplicates. Persist CloudEvent id before processing and return 2xx for ids already accepted. Do not use request timestamp or delivery attempt as the business id.

Verify against the raw body bytes, not re-serialized JSON. Parse every v1 value during the 24-hour rotation overlap, keep clocks synchronized, and use constant-time comparison.