all scenarios

Tool returns isError

tool-always-errors · Tools — execution

Endpoint (Streamable HTTP)
https://chaos-mcp.thomascdnns.com/s/tool-always-errors/mcp
On the wire — recorded from a real request
your clientchaos-mcp01initializePOST /s/tool-always-errors/mcp200 OK · application/json · 4 ms"jsonrpc""2.0""id"1"result""protocolVersion""2024-11-05""capabilities""tools""serverInfo""name""chaos-mcp/tool-always-errors""version""1.0.0""instructions""chaos-mcp scenario: tool-always-errors — Tool returns isError"02tools/call always_failsPOST /s/tool-always-errors/mcp200 OK · application/json · 2 ms"jsonrpc""2.0""id"2"result""content""type""text""text""Error: upstream returned 403 Forbidden (check the API key)""isError"true

Symptom

what you'll observe

tools/call succeeds at the protocol level but the result is flagged isError every time.

Cause

what this reproduces

The tool's underlying operation always fails (bad credential, missing resource).

Fix

how you'd resolve it

Surface a clear error message and the cause; fix the dependency or input handling.

Try it with curl
bash
curl -sS -X POST \
  https://chaos-mcp.thomascdnns.com/s/tool-always-errors/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d '
"jsonrpc""2.0"
"id"1
"method""initialize"
"params"
"protocolVersion""2024-11-05"
"capabilities"
"clientInfo""name""curl""version""1"

'