Does an MCP server work as well with small models as with the big ones?
My MCP server behaves well when a top model drives it, but with a smaller, cheaper model the tool calls get sloppy: wrong tool, missing arguments, or no call at all. Is that expected, and what can a server author do so it holds up on smaller models too?
Yes, a gap is normal. Smaller models have less room to reason about which tool fits, so anything a large model quietly works around, such as vague names, overlapping tools or long descriptions, turns into wrong calls. Test your server with the smallest model you expect people to use, not only the best one.
Expose fewer tools. Every tool definition sits in the context and competes for attention. Merge tools that do nearly the same thing, and if the server covers a large API, let users switch on only the groups they need.
Make each tool hard to misuse. Give it a clear verb-first name, a one or two sentence description that says when to use it, required parameters with simple types, and enums instead of free text where possible. When a call fails, return an error message that says what to fix, because small models recover well from a specific hint.
Keep results short and structured. Return the fields the model needs rather than whole API payloads, and paginate long lists. Less noise in the result means fewer mistakes on the next call.
Listings mentioned
- MCP builder · skill by anthropicsA guide to designing MCP tools well, including naming, descriptions, error messages and evaluating the server with real questions.
- Github MCP server · agent by githubA working example of toolsets: you enable only the groups of tools you need instead of loading the whole API.
Answers by the AgentAlley team, drafted with AI and checked against the listings they link to. Not a real-person reply from the original thread.