Blog / How agents load MCP tools
Claude Code can't see your MCP tools? Check the proxy and --tools settings first
For the basics (adding a server, scopes, auth) see the official docs. This page covers only the gotchas we hit, with numbers.
Basics first: Claude Code MCP documentation.
What each setting did
Claude Code 2.1.301 with a 99-tool mock server, prompt “say hi”, first-request input tokens:
| Config | First request | Tool search |
|---|---|---|
| Default | 22,791 | on |
--setting-sources "" | 18,102 | on |
--tools "ToolSearch" | 5,787 | on |
--tools "" | 110,998 | off |
--tools "" + ENABLE_TOOL_SEARCH=true | 111,000 | off |
Custom ANTHROPIC_BASE_URL | 143,357 | off |
Custom base URL + ENABLE_TOOL_SEARCH=true | 22,446 | on |
“Off” means every MCP tool definition was in every request. Your tools are all visible then, but heavy; with “on”, they're visible by name only. See Claude Code tool search, seen from the wire.
Agents still not finding your tools?
We check how Claude Code and the other agent apps your users run load and find your MCP tools, and why they miss them.
Quick checks
- Is the server connected? Check the app's MCP status before anything else.
- Any custom
ANTHROPIC_BASE_URL, proxy or gateway? TryENABLE_TOOL_SEARCH=true. - Restricting built-in tools? Keep
ToolSearchin the list. - Comparing runs or running evals? Measure the first request against a default run, so your lab matches your users.
- Other apps: a project server in an untrusted folder was dropped silently by Grok Build in headless mode.
When it's the model, not the setup
If the tools are listed but the agent doesn't pick them, it's discovery: the model chose from names, or the user didn't name your product. See when the agent doesn't recognise your server and name tools the way users talk.
Go deeper: Capture what your agent sends, How Codex finds MCP tools, MCP tool-list token calculator.
Back to how agents load MCP tools.
How we measured
- Claude Code 2.1.301, 16 Oct 2026, a mock serving a recorded 99-tool list, single runs per config, first-request input from the app's own usage; tool search state confirmed from captured request bodies and debug logs.
- Single runs: settings behaviour, not rates. Versions change; re-check after updates.
FAQ
Why does Claude Code not find my MCP tools?
First rule out setup: is the server connected and listed? Then check settings that change tool loading: a custom ANTHROPIC_BASE_URL turned tool search off in our tests, and --tools "" removed ToolSearch. If tools load but aren't chosen, look at names and descriptions.
Does a proxy or gateway change Claude Code's tool loading?
In our test, yes: with a custom ANTHROPIC_BASE_URL, Claude Code preloaded all 99 MCP tool definitions (143,357 tokens in the first request) instead of using tool search. Setting ENABLE_TOOL_SEARCH=true restored it.
How do I keep tool search when restricting built-in tools?
Include it: --tools "ToolSearch" kept tool search on (5,787 tokens in our test), while --tools "" removed it.
Agents still not finding your tools?
We check how Claude Code and the other agent apps your users run load and find your MCP tools, and why they miss them.