Turning Point Academy · MCP Engineering

Many tools vs code — Guided reading

Curso MCP Engineering · M4


This reading accompanies a real and open controversy in the MCP community (2025): is it better to expose many tools (one per endpoint) or few tools + code? You'll read it from scratch, with both positions quoted fairly. The goal is not for you to memorize "the right answer" —there isn't one yet—, but for you to come out knowing how to reason about the trade-off for your own case. That, precisely, is capstone-level thinking.

Why this matters

Up to here you learned to build MCP servers that expose tools. The natural reflex is: "I have 30 endpoints in my API → I expose 30 tools". And it works. But in 2025 an honest debate opened about whether that reflex is the best way to work. It's not a matter of style: it touches how much it costs (in tokens and money), how well the model chooses, and how secure and debuggable your system ends up.

Position A — "Many tools, one per endpoint" (the ecosystem default)

It's the dominant pattern today. An MCP server publishes a large catalog: if your product has 40 operations, it exposes 40 tools, each described so the model can pick it. Its advantages are honest:

Most of the MCP servers you'll find in the world work this way, and for many cases it's more than enough.

Position B — "You don't need 30 tools, you need code" (the critique)

The counter says: loading dozens of tools has a hidden cost. Each tool travels to the model with its name, description and schema on every call —that consumes context tokens before the agent does anything— and degrades the selection (with too many similar options, the model chooses worse). Those who argue it, with names and data:

The trade-off on a scale

Many toolsFew + code
Context tokensHigh (all present always)Low (only what's used)
Model selectionWorse if there are many similar onesTends to improve
Determinism / auditingHigh: every step explicitLower: the logic lives in a generated script
DebuggingEasy: you know which tool failedHarder
SecurityBounded to the tool setRequires sandbox (executed code)

Neither position is free. Many tools is more deterministic and debuggable, but expensive in tokens and with worse selection as the catalog grows. Few + code is much more token-efficient and tends to choose better, but opens a security risk (what can that code touch?), is less deterministic and harder to debug.

State of the debate: no winner

It's a genuinely open debate (August → December 2025). Nobody "won", and it would be a mistake for this reading to sell you a side. It's not that one position "is right": it's that they optimize different things —tokens and selection on one side, determinism and auditability on the other— and which one suits you depends on your context. The healthy conclusion is not to pick a team, but to measure your case.

How to decide for YOUR case

Don't follow the trend; ask yourself these questions.

Practical rule: start simple (explicit tools), measure tokens and selection quality, and move toward code/Skills only when the pain shows up. Evidence-guided optimization, not dogma.

Reflection questions

  1. How many tools does your server expose? Are they distinct from each other or do they look alike and confuse the model?
  2. How many tokens do your definitions take up before the agent does anything? Have you ever measured it?
  3. Do you notice the model choosing wrong as the catalog grows?
  4. How critical is it in your product to audit every step (regulated environments, sensitive data)?
  5. If you went the code route, could you run it isolated (sandbox) safely?
  6. What is your case asking for today: explicit simplicity or context efficiency?

Quick glossary

To remember


Turning Point Academy · MCP Engineering Course · Module 4 · Guided reading of the debate