When Claude Code MCP servers help, and when they hurt

By Rogier Muller08.15.26
When Claude Code MCP servers help, and when they hurt

This research library uses AI-assisted source research and drafting. Linked sources support product claims; analysis and proposed exercises are our interpretation. Unless an article documents a test and its results, do not read it as a hands-on review or an independently verified benchmark.

A Claude Code MCP server hands the agent tools it would not otherwise have: your issue tracker, your schema, your logs. When the agent was previously guessing at the shape of something, the integration can replace that guess with a lookup. Check the returned data before relying on it.

Tool loading depends on the client configuration. Current Claude Code supports deferred tool discovery, so it is inaccurate to assume every registered tool schema loads on every turn. Inspect the effective setup and measure context use and task quality before blaming the number of servers. See the official MCP tool-search documentation.

So the question is never "is this server good". It is "does this server change more answers than it costs".

Claude Code MCP servers that pass the test

  • Schema access, read-only. The agent stops inventing column names. This can help when the schema is otherwise unavailable.
  • Current library documentation. Removes a whole class of plausible-looking calls to APIs that no longer exist.
  • The issue tracker, read-only. "Implement the ticket" stops being a game of copy and paste.
  • Observability, read-only. Being able to fetch the actual error rate or the actual trace turns debugging from speculation into reading.
  • Your own internal server, exposing three or four operations specific to your platform. A narrow server may be easier to scope and evaluate, but compare it with an existing connector before building one.

Servers that fail it

Anything exposing dozens of tools for a product your team touches monthly. Anything that duplicates something the agent can already do with a shell command, which is a large share of git integrations. Anything with write access to production that you have not deliberately scoped.

That last one deserves a paragraph. Tool results come back into the model's context as text, and text from an external system is untrusted input. A ticket description or a log line can contain instructions. If the agent has a tool that can delete or deploy, a badly worded page in your wiki becomes an attack surface. Keep destructive tools behind manual approval rather than adding them to an allow list, and prefer servers that expose read-only variants.

Keeping the cost down

Three habits do most of the work.

Register at project scope in .mcp.json only what the whole team needs on this repo. Personal experiments stay in local scope where they do not tax your colleagues.

Push tool-heavy work into a subagent. A subagent runs with its own context, so a research task that needs six tool calls can burn them there and return a summary, leaving the main session clean. Check whether the returned summary preserves the evidence the parent task needs.

Audit quarterly. Run the list, and for each server ask when it was last actually called:

claude mcp list

If nobody can name a task from the last month where a given server mattered, remove it. Removing is cheap. Re-adding is one command.