"Your MCP server's tool list can be refused before the model sees it: the rules three AI APIs applied to 21,812 lists"
We read the tool lists of MCP servers in the official MCP registry. Then we sent each list, once, to three small AI models through their vendors' Batch APIs: Claude Haiku 5.5, GPT-5-nano and Gemini 2.5 Flash. Each model was set to its lowest reasoning level and got one fixed request. That was 21,812 tool lists, one per server, with answers dated 2026-10-25 to 2026-10-26 (UTC). No MCP server was…
Three AI APIs, Claude Haiku 5.5, GPT-5-nano, and Gemini 2.5 Flash, were used to test 21,812 tool lists from MCP servers in the official registry. Each model was set to its lowest reasoning level and received one fixed request per server. The experiment revealed that each API checks the tool list before its model sees it, with each API having its own rules. A refusal by an API means the client never presents the tools to the model, not that there is a fault in the server's code.
Anthropic's API refused 456 lists, citing issues with top-level oneOf, allOf, anyOf, and schema format. OpenAI's API refused 591 lists, primarily due to the tool name length exceeding 128 characters, the tool name not matching the specified regex pattern, and the presence of duplicate tool names. Google's API refused only 7 lists, but 135 more lists were refused due to unexplained reasons, with some lists having tuple-style items or having two tools with the same name. The refused lists ranged from 129 to 1,711 tools.
Based on the findings, a checklist for MCP server authors was devised. To ensure acceptance by all three APIs, the tool names should use only a-z, A-Z, 0-9, _ and -, start with a letter, and be 64 characters or fewer. Every tool name in the list should be unique. The input schema should be type: object at the top level, with no oneOf, anyOf, allOf, enum, const, or not present.
Arrays should use a single schema in the items field, not a tuple. The server should expose 128 tools or fewer. However, these figures describe three small models at their lowest reasoning settings and do not represent the vendors' other models or a real client's experience. They are not a judgment of any server or publisher.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.