Too many MCP servers degraded Claude Code tool selection
u/AbjectBug5885 discovered that accumulating MCP servers over months was flooding Claude Code's context window with hundreds of tool descriptions, causing erratic tool selection — not a model regression in Opus 4.7.
Score breakdown
The post illustrates that MCP tool-catalog bloat can silently degrade Claude Code's tool selection accuracy, and that scoping servers to the project level and using a ranked-catalog gateway are concrete mitigations for the problem.
- 01u/AbjectBug5885 had accumulated MCP servers for GitHub, Linear, Notion, Slack, Postgres, and internal tools over several months without removing any.
- 02Symptoms included Claude Code selecting the wrong tool — e.g., running a Notion search when asked to pull an open PR.
- 03The context window was pre-loaded with hundreds of tool descriptions, including marketing copy from MCP authors, before any prompt was entered.
u/AbjectBug5885 on r/ClaudeAI describes nearly posting a model-regression rant after Opus 4.7 began making obviously wrong tool choices — pulling a Notion search when asked for an open PR, or querying Slack when asked for a recent ticket. The behavior was inconsistent but frequent enough that the author resorted to writing longer, more explicit prompts to compensate, and was close to rolling back to an older model snapshot.
The model wasn't degrading — it was being handed an overwhelming catalog to parse on every single turn.
The root cause became clear only after opening the context window before typing anything: it was packed with hundreds of tool definitions from every MCP server ever connected, many of which contained verbose marketing copy in their description fields. The model wasn't degrading — it was being handed an overwhelming catalog to parse on every single turn.
Two changes resolved the issue. First, the author moved project-specific MCP servers from `--scope user` to `--scope project`, so only the two or three servers relevant to a given task load per session. Second, a gateway was placed in front of the always-on servers: instead of exposing the full tool catalog directly, Claude now sees only two tools — one to search the catalog and one to invoke a selected tool — with relevant tools ranked per request. The gateway used is the open-source `ratel-ai/ratel`, which runs in-process with no separate service required. The post closes with a practical warning: if Claude feels like it has quietly gotten worse and multiple MCP servers are connected, inspect the context window for forgotten tool definitions before blaming the model.
Key facts
- 01u/AbjectBug5885 had accumulated MCP servers for GitHub, Linear, Notion, Slack, Postgres, and internal tools over several months without removing any.
- 02Symptoms included Claude Code selecting the wrong tool — e.g., running a Notion search when asked to pull an open PR.
- 03The context window was pre-loaded with hundreds of tool descriptions, including marketing copy from MCP authors, before any prompt was entered.
- 04Fix 1: moved project-specific servers from `--scope user` to `--scope project` so only relevant servers load per session.
- 05Fix 2: added a gateway (open-source `ratel-ai/ratel`, runs in-process) that exposes two tools — a catalog search and an invoke call — with tools ranked per request.
- 06The author concludes the problem was treating 'add a server' as free without accounting for the context cost.
Topics
Summary and scoring are generated automatically from the original article. We always link back to the publisher and never republish images or paywalled content. Last processed Jun 9, 2026 · 17:05 UTC. How this works →