isError: true zurück.
HTTP-Level
Diese liegen außerhalb des MCP-Envelopes; eine MCP-Client-Bibliothek wirft sie typischerweise als Transport-Fehler.
Tool-Fehler
Ein fehlgeschlagener Tool-Aufruf ist ein normaler JSON-RPC-Erfolg, dessen ErgebnisisError: true, einen einzelnen Text-Block und kein structuredContent hat:
Nichts anderes vom zugrundeliegenden Fehler wird offengelegt: keine Stack Traces, kein SQL, keine Upstream-Antworten oder interne IDs. Jede Anfrage wird serverseitig mit der
x-request-id protokolliert, die auf der HTTP-Antwort mitgegeben wird; nennen Sie diese, wenn Sie den Support kontaktieren.
Codes
Retrying
Reads (readOnlyHint: true) können nach TIMEOUT, UPSTREAM_UNAVAILABLE oder INTERNAL_ERROR mit Backoff sicher erneut versucht werden.
Writes sind anders. create-discount-code und create-payment-link sind mit idempotentHint: false markiert und haben keinen Idempotenz-Schlüssel. Ein TIMEOUT wird zurückgegeben, wenn das 30-Sekunden-Budget aufgebraucht ist. Das kann nach dem Commit der Zeile passieren — der Code oder Link kann bereits existieren. Bevor Sie einen Write erneut versuchen:
list-discount-codesund nach dem Code suchen, oderlist-payment-linksnach Filiale gefiltert und nach dem Titel/der Referenz suchen.- Den Write nur erneut aufrufen, wenn er fehlt.
retryable heute bei jedem Code false: Der Server weiß nicht, ob Ihr Write angekommen ist, also sagt er Ihnen nicht, dass Sie es erneut versuchen sollen.
Validierungsfehler von Ihrem Client
Da Fehler keinstructuredContent tragen, überspringen spec-konforme Clients (einschließlich des offiziellen TypeScript-SDK) die Output-Schema-Validierung darauf und zeigen den Envelope. Wenn Ihr Client stattdessen einen -32602 oder „structured content does not match schema”-Fehler meldet, validiert er den Text gegen das outputSchema des Tools; lesen Sie den Text-Block direkt.