MCP tool failures hide in HTTP 200, agent retries 6 times billed with no error traces
Thirumalaiboobathi · reddit · 2026-09-09
A production failure pattern in MCP setups: failed tools return HTTP 200 with isError: true inside the JSON-RPC payload, so generic OTel instrumentation marks spans OK and dashboards stay green while every call fails.
Why it burns money: the model sees the error as normal tool output, rephrases and retries; each retry carries the grown context, so six billed calls produce nothing and only surface on the monthly bill.
The fix (opentel-mcp, open source):
- Mark spans ERROR when isError is set despite transport success
- Fingerprint failures (normalize, hash) so the same root cause groups across varying messages
- Detect retry loops: same fingerprint N times becomes one event with loop length and tokens burned
- Per-tool-call cost attribution, sortable by spend
- Flag silent inputSchema drift
- Works on both MCP SDK generations including the stateless spec
More from coding & agent
- DaVinci Resolve 21.1 Called a Huge Update for Agentic Video Editing — gabrielchua · 2026-09-09
- Frost agent autonomously runs cross-GPU benchmarks with onchain reasoning — Michael_Moroz_ · 2026-09-09
- Jitsu launches MCP server so agents can build, test and fix event pipelines — Aiden_Tech_Ai · 2026-09-09
- MCP tools can silently change schema after approval — an open-source proxy now catches it — jgarg27 · 2026-09-09
- KVMem pages agent context overflow to KV state, beating compaction on DeepSWE — omarsar0 · 2026-09-09
- Coding agents are the first product to compete with themselves — samgoodwin89 · 2026-09-09