Disabled MCP servers still show tools in deferred tools list

Resolved 💬 2 comments Opened Apr 1, 2026 by 3824108-cell Closed May 7, 2026

Description

When MCP servers are disabled via disabledMcpServers in settings.local.json, their tool names still appear in the deferred tools list injected into the system prompt at session start.

Steps to Reproduce

  1. Configure MCP servers (e.g., Figma plugin with ~100 tools)
  2. Disable them via disabledMcpServers in settings.local.json:

``json
"disabledMcpServers": ["figma", "talk-to-figma", "stitch", "magic", "reactbits"]
``

  1. Start a new Claude Code session
  2. Observe the <system-reminder> — all disabled servers' tools still appear in the deferred tools list

Expected Behavior

Disabled MCP servers should NOT have their tools listed in the deferred tools list. They are disabled and cannot be called.

Actual Behavior

~142 tool names from 8 disabled servers appear in every session's system prompt, consuming ~1500 tokens of context window.

Impact

For users with many MCP servers (some project-specific, enabled only when needed), this creates significant context overhead. In my setup: 370 total deferred tools, 142 from disabled servers = 38% waste.

Environment

  • Claude Code: VSCode extension
  • OS: macOS
  • Multiple MCP sources: ~/.mcp.json, plugins (figma, playwright, etc.)

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗