Study finds only 3% of MCP server tools enforce output contracts against bad data
A developer tested 31 popular MCP servers covering 265 tools using a custom fault-injection tool called mcp-drill, which corrupts server responses while preserving their structure and type to check whether declared schemas catch the damage. Only 3% of tools had schemas that actually rejected a corrupted payload, while 56% declared no schema at all and 42% had schemas so broad they validated garbage responses without complaint. The scan covered high-profile servers from Microsoft Learn, Hugging Face, Cloudflare, and DeepWiki, and the 3% figure remained consistent as the sample grew from 18 to 31 servers. A key finding was that the widely used FastMCP Python SDK wraps return values in a generic object schema by default, offering no real validation protection. Error handling on bad inputs was largely sound across servers, but the author warns that agents relying on these tools cannot reliably distinguish a valid result from a corrupted one.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.


Discussion (0)
Log in to join the discussion and vote.
Log in