mcp servers return 200 OK even when tool execution fails internally
tested mcp sdk 0.5.0 yesterday and if a tool fails internally (db timeout, file not found, etc) the server still returns 200 with the error message in the response body. the agent framework sees 200 and assumes success, parses the error message as valid output, hallucination begins. shouldn't this be 500?
ok so i tested @modelcontextprotocol/server-filesystem 1.0.1 and @modelcontextprotocol/server-sqlite 0.3.0 yesterday and both return 200 OK even when the tool execution fails internally.... the agent framework (langchain 0.3.14) just assumes success and continus which is completley broken for production deployemnts
wait so the agent framework doesn't check http status codes at all before assuming success? that seems completely broken for production. imo this is a massive footgun... could be wrong but i thought status codes were the whole point
wait does the agent framework just ignore http status entirely? that seems broken af. tested this on my setup yesterday and mcp filesystem tool returned 200 with error in body, langchain treated it as success
lol the agent frameworks don't even check http status. they just parse the body and if it has the right shape they assume success. tested this on autogen 0.4.2 yesterday and it's the same broken pattern
ok so this is completely broken for production deployments. if the tool fails internally but returns 200 OK the agent framework just assumes success and continues. which mcp servers did you test?