Every other post about MCP servers is a list of fifty things you should install. This one is the opposite. After nine months of Claude Code and roughly twenty MCP servers tried at one point or another, I run six. The other fourteen got uninstalled, mostly within a week.
This is the post about what to remove, why MCP bloat is a real cost (not just a vibe), and how to decide for each server whether it earns its place.
If you are new to MCP, the short version is this. MCP stands for Model Context Protocol. It is the way Claude talks to outside systems: your Gmail, your filesystem, your database, your browser, your calendar, a docs index, anything you can wrap an MCP server around. Each server exposes a set of tools, and Claude can call them. Install an MCP and Claude can suddenly read your email, query Postgres, take a screenshot of your screen, whatever the server allows.
So the temptation, when you discover this, is to install everything. Slack, Linear, GitHub, Figma, Notion, Playwright, Postgres, Sentry, the official directories all list dozens. Within a week youve got fifteen servers running. Within a month you wonder why your sessions feel slower and your bills look higher. That is what this post is about.
why MCP bloat is a real cost ..
Every MCP server you have connected contributes to two things you cannot see directly: the token cost of your system prompt, and the latency of your tool selection step.
The token cost is the more measurable one. Each MCP server registers its tools at the start of every Claude session. A tool definition is a name, a description, and a JSON schema for its inputs. A small server like a clock might have one tool and add 200 tokens. A heavyweight one like Playwright registers around 25 tools, easily 4,000 tokens of definitions. Postgres MCP, GitHub MCP, Linear MCP, all add comparable chunks. Run ten MCPs and you can be carrying 20,000 to 40,000 tokens of tool definitions in every single prompt before your actual conversation begins. At Opus rates that is a hidden $0.10 to $0.20 added to every call. Over a working day that adds up to real money.
The latency cost is harder to measure but you feel it. Every time Claude has to pick which tool to call, it is choosing from the full menu. The menu being twice as long does not double the latency but it does make the choice fuzzier, especially for tools with similar descriptions. I have personally watched Claude pick the wrong Gmail MCP because i had two installed and their tool names overlapped. We will get to that.
The third cost is less obvious. Every MCP is a surface area for things to go wrong. Auth tokens expire. Local processes die. Network connections drop. The more MCPs you have, the more often a session hits a confused state because one server is throwing errors mid call. I used to debug these for half an hour at a time. Now i have six servers and i debug an MCP issue maybe once a month.
the four question test ..
This is the test i run before keeping any MCP. If a server does not pass all four, it gets removed.
1. Does Claude need this often enough to justify the system prompt cost? If you call this MCP once a week, youre paying for it on every session you dont use it. Move it to a per project config or remove it.
2. Does the MCP do something Claude couldnt do another way? If the server is just wrapping a CLI tool you have installed locally, Claude can call the CLI directly via Bash. You probably dont need the MCP.
3. Is the tool surface small and focused? An MCP with three or four well named tools is easy to use right. An MCP with forty tools guarantees Claude will sometimes pick the wrong one. Big toolsets need to be uniquely valuable.
4. Will i actually use the result? Some MCPs let Claude read things but i never act on whats coming back. If the data flows in and dies in the conversation without affecting any decision, the MCP is dead weight.
Most of the MCPs i removed failed question 1 or question 2. The ones i kept all pass all four.
the dev MCPs i tried and removed ..
Here is the actual list, not a generic one.
GitHub MCP came off after two months. The reason: Claude Code's built in Bash tool can run gh commands directly and i already have the GitHub CLI installed and authenticated. The MCP did the same thing through a different surface and added 4,000 tokens of tool definitions for the privilege. Fails question 2.
Playwright MCP lasted a week. It was the heaviest server i ever ran, 25 tools, easily 5,000 tokens of definitions. I installed it for browser automation testing. The actual frequency of needing browser automation in my real work turned out to be roughly twice a month. The tokens it added per session were not worth carrying for that frequency. Now i spin it up manually when i need it and remove it after. Fails question 1.
Postgres MCP came off after three weeks. My databases are small SQLite files for personal projects. I dont have a production Postgres to query. The MCP was solving a problem i did not have. Fails question 4.
Context7 MCP, controversial one. A lot of lists recommend installing it always. I tried it for a month. The pitch is that it pulls in up to date docs for libraries you are using, so Claude does not hallucinate old APIs. Useful in theory. In practice, for the libraries i actually use, Claude was already accurate on the current versions, and when it was not, a single web search via Tavily was faster and cheaper. Removed. Might reinstall when working in a less common library.
Figma MCP came off the same week i installed it. The premise of pulling design tokens into code is great if your design and engineering teams actually use Figma as the source of truth. I work mostly alone. I dont have a Figma file that drives my code. The MCP solved a team workflow i do not have.
The duplicate Gmail problem. For embarrassing historical reasons i had two Gmail MCPs installed at the same time, the official one and a third party one. Claude would sometimes pick the wrong one and the tool would fail with a cryptic auth error. This is the kind of bug you can debug for an hour before realising the problem is that you have two MCPs racing for the same job. I removed the duplicate. Lesson: do not run two servers that overlap in scope. Pick one, even if the other is "slightly better at one thing".
Notion MCP, Slack MCP, Linear MCP, Sentry MCP. None of these are part of my actual workflow because i dont use Notion, Slack for work, Linear, or Sentry. They sat unused for weeks before i admitted i had installed them because some list told me to.
A pattern emerges. The MCPs i removed were mostly there because someone said i should have them, not because i had a real friction they were solving.
the six MCPs i keep running ..
These earn their place. All of them pass all four questions.
The Gmail MCP. I use this every day. K's brain doctrine (the chief of staff layer i built around Claude) reads my inbox each morning and surfaces only the messages that need action. The MCP lets Claude triage hundreds of messages a day into the three or four that actually matter. Couldnt do this any other way at this latency.
The Google Calendar MCP. Same brain doctrine, same reason. Tomorrow's calendar gets pulled into my morning brief. Conflicts get flagged. Travel buffers get computed. About 30 tools but i actively use maybe 6, and they are read mostly so the risk surface is low.
Computer Use MCP. I run this for cross app workflows the dedicated MCPs do not cover. Take a screenshot of a native app, control Maps to plan a route, automate something in System Settings. About 20 tools, but the value per call is high because theres no other way to do this stuff.
Tavily MCP. This is my search layer. Tavily search is significantly better than the generic WebSearch tool for research tasks, especially for trending topics. The search depth and date filtering matter for the kind of work i do (i write blog posts and need recent sources). Three tools, focused, used multiple times a day.
Vercel MCP. Used during deploys and when checking deployment status. Small toolset, specific use case, never gets in the way.
Claude in Chrome. Lets Claude read and act on web pages i have open. Saves me from describing whats on screen when i want help with a web app. Pair this with computer use and you can drive almost any workflow.
That is the whole list. Six servers. Roughly 18,000 tokens of tool definitions per session, which i can live with because every single one earns it.
the rule i would tell someone starting ..
If you are setting up Claude Code today, install zero MCP servers in your first week. Use the built in tools. Run Bash. Use Read and Write. Notice what frictions actually come up in your real work.
Then for each friction, ask: is there an MCP for this? If yes, install it. Use it for a week. Apply the four question test at the end of the week. Keep or remove.
The default mode for the MCP ecosystem is to accumulate. That is the trap. Most people running fifteen MCP servers are running ten servers that are dead weight. Five well chosen servers genuinely beat twenty installed servers. Id happily run with three if i could.
The number of MCPs you have is not a status symbol. The amount of work that ships is.
Configure less. Notice friction. Install on demand. Uninstall ruthlessly.
That is the entire game.