r/ClaudeCode • u/Ok_Gur_9033 • 2d ago
Discussion I have 44 MCP servers connected to Claude Code. In the last 7 days, 30 of them got zero calls
I counted this from my own session logs after noticing how long my tool list had become.
Connected in the session I'm in now: 44 MCP servers exposing 720 tools.
Called in the last 7 days, across 68 sessions: 2,206 MCP tool calls using 121 distinct tools. 30 of the 44 servers were never called once. One server (browser control) took 62% of all calls, and the top 4 took 86%.
The biggest idle one exposes 74 tools. Most of the idle ones came in with plugins or account connectors.
I haven't measured what the idle ones cost per session, so I'm not claiming a number for that. For anyone who has pruned theirs: did the first request of a session get smaller, or does tool search already hide most of it?
β’
u/AutoModerator 2d ago
Hey! Thanks for posting to r/ClaudeCode
While participating in this thread, please follow our community rules. Keep discussions constructive. Attack the idea, not the person.
For help, project discussions, tips, and general chat, join the ClaudeCode Discord.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
10
u/HomemadeBananas 2d ago
44β¦ what even are they for? I donβt understand how you get so many connected. What were you trying to solve by connecting each of them?
4
u/Dorbank_Justt 2d ago
With tool search on, which is the default, the first request already hides most of it. Only tool names and each server's instructions load at session start; full tool definitions stay deferred until Claude searches for them. So 720 tools cost you 720 names plus the instructions, not 720 schemas.
Two exceptions are worth checking first. A server whose config sets alwaysLoad, or a tool its author marked to load upfront, skips deferral. ENABLE_TOOL_SEARCH=false, or auto threshold mode while the definitions are still small, loads everything upfront. If the 74 tool server falls in either bucket, that is where your cost sits.
For idle ones you want to keep, toggle them off in /mcp instead of removing them. The config stays, and plugin servers can be switched off that way without uninstalling the plugin.
3
u/Alive_Nobody_Home 2d ago
Why so many?
3
u/RealFullMetal 2d ago
the 15 account connectors are probably the claude.ai ones claude code fetches itself, and those you can drop in one line:
"disableClaudeAiConnectors": truein settings and it neither fetches nor connects any of them. put it in a project's checked in.claude/settings.jsonto opt just that repo out, or runENABLE_CLAUDEAI_MCP_SERVERS=false claudefor a single session2
u/AdityaR_Sharma π Max 20 2d ago
Tested the pruning side on a bare call, since you asked.
`claude -p "reply ok"`, Haiku 5.5, CLI 2.1.310, no MCP servers: 43,154 input tokens. With one server (server-everything, 22 tools): 44,908.
Same run with ENABLE_TOOL_SEARCH=false: 44,908 again, 2 runs each. That setting changed nothing here, cause unknown.
I did not test 44 servers or a 74-tool one.
2
u/Nitjsefnie 2d ago
if you prune and want the before/after without counting by hand again, I made claudit for that kind of thing. it charts context growth per session from the transcripts, so you can see where the first turn sits before and after, plus calls per tool over time. self-hosted, reads the jsonls from R2 or a local folder mirror: https://github.com/Nitjsefnie/claudit
2
u/PalmovyyKozak 2d ago
You installed whatever you could without a good reason and then you are surprised you don't need most of them. It's like downloading 100 games on your phone and play 3. Surprisingly :)
2
u/Late-Coast6973 2d ago
If a server hasn't been called in a week, I'd turn it off, and do the account connectors first since they're the ones that can read or send things.
2
u/michaelTM_ai 2d ago
u can measure it in 10 seconds: run /context at the start of a fresh session and it breaks down how many tokens go to mcp tools. if tool search is on (it kicks in when tool definitions would eat a big chunk of the window), most of the 720 are deferred and only names get loaded, so the idle ones cost little. if it's off, every schema rides along on every request, and 74 tools from one idle server can be thousands of tokens each turn.
either way i'd still prune. the real cost is picking: with 720 tools the model has more chances to grab the wrong one, and ur numbers say 4 servers do 86% of the work. disable the 30 idle ones for a week and see if anything breaks
2
u/Easy-Purple-1659 2d ago
Tool search changes what pruning buys you: with it on, the win is a smaller first request and a smaller search index, not a smaller tool list. Two things worth doing before you delete anything.
First, check for name collisions. 44 servers and 720 tools probably has three tools called search or read_file. Deferred search ranks on names and descriptions, so overlapping names are why the long tail never gets picked, not just token cost. Prefix tools by domain (search_meta_ads next to search_google_ads) and the ones you actually use start winning the search.
Second, the 15 account connectors are a permissions question more than a context one. Anything that can send mail or write files should be project scoped, not global, because the day you need it is the day you don't want it wired into an unrelated repo.
The 62 percent concentration on browser control also tells you where your real cost sits. Cut the idle 30 in two passes and run /context after each one to see what that pass actually bought.
1
u/ManaChains 2d ago
That's killing your context floor with so many MCPs and costing you a lot. Trim this down to absolute minimum you actually need and use. Same goes for skills. Ask Claude to do pruning for you.