Turning an API into an MCP server sounds straightforward: expose each API operation as an MCP tool and let the agent decide which one to use.
For small APIs, that can work well.
But enterprise APIs can contain hundreds of operations. And as agents connect to more systems, the number of available tools can grow quickly.
That creates four compounding problems.
**Context window tax.** Every tool definition consumes context that could otherwise be used for the user’s request, conversation history, retrieved information, and the model’s reasoning.
**Reasoning degradation.** The agent has to choose among an increasingly large collection of tools, often containing similar or overlapping operations. More choices can make selecting the right tool harder.
**Higher token costs.** Tool definitions consume tokens whenever they’re sent to the model. Unnecessary definitions can become a recurring cost across every agent interaction.
**Higher latency.** More context to process and repeated model-to-tool interactions can translate into slower agent experiences.
The challenge isn’t simply connecting an API to an agent. It’s giving the agent efficient access to the capabilities behind that API.