isError: true.
Livello HTTP
Questi sono al di fuori dell’envelope MCP; una libreria client MCP tipicamente li solleva come errori di trasporto.
Errori dello strumento
Una chiamata fallita a uno strumento è un normale successo JSON-RPC il cui risultato haisError: true, un singolo blocco di testo e nessun structuredContent:
Nient’altro del fallimento sottostante viene esposto: nessuna stack trace, SQL, risposte upstream o ID interni. Ogni richiesta viene loggata lato server con l’
x-request-id echeggiato sulla risposta HTTP; citalo quando contatti il supporto.
Codici
Retry
Le letture (readOnlyHint: true) sono sicure da riprovare dopo TIMEOUT, UPSTREAM_UNAVAILABLE o INTERNAL_ERROR, con backoff.
Le scritture sono diverse. create-discount-code e create-payment-link sono marcate idempotentHint: false e non hanno un idempotency key. Un TIMEOUT viene restituito quando il budget di 30 secondi si esaurisce, il che può accadere dopo che la riga è stata committata: il codice o il link potrebbero già esistere. Prima di riprovare una scrittura:
- Chiama
list-discount-codese cerca il codice, oppurelist-payment-linksfiltrato per locale e cerca il titolo/reference. - Richiama la scrittura solo se è assente.
retryable è false su ogni codice oggi: il server non sa se la tua scrittura è andata a buon fine, quindi non ti dice di riprovare.
Errori di validazione dal tuo client
Poiché gli errori non hannostructuredContent, i client conformi alla specifica (incluso l’SDK ufficiale TypeScript) saltano la validazione dell’output schema su di essi e mostrano l’envelope. Se il tuo client segnala invece un -32602 o “structured content does not match schema”, sta validando il testo contro l’outputSchema dello strumento; leggi direttamente il blocco di testo.