MCP server disabled config not being respected

Resolved 💬 3 comments Opened Oct 4, 2025 by chaodoze Closed Oct 7, 2025

Bug Description

Local MCP server configuration with "disabled": true is not being respected. The Playwright MCP server remains loaded despite being explicitly disabled in the project's local configuration.

Configuration Files

.claude/mcp.json:

{
  "mcpServers": {
    "playwright": {
      "disabled": true
    }
  }
}

.claude/config.json:

{
  "mcpServers": {
    "playwright": {
      "disabled": true
    }
  }
}

Observed Behavior

Despite the above configuration, running /context shows all 21 Playwright MCP tools still loaded and consuming ~15.4k tokens:

MCP tools · /mcp
└ mcp__playwright__browser_close (playwright): 573 tokens
└ mcp__playwright__browser_resize (playwright): 622 tokens
└ mcp__playwright__browser_console_messages (playwright): 595 tokens
[... 18 more playwright tools ...]

Expected Behavior

The Playwright MCP server should not be loaded when "disabled": true is set in the local configuration.

Environment

  • Platform: darwin
  • OS: Darwin 24.6.0
  • Claude Code version: Latest
  • No global MCP config present (~/.claude/mcp.json does not exist)

Reproduction

  1. Create .claude/mcp.json with "disabled": true for a server
  2. Run /context
  3. Observe that the disabled MCP server's tools are still present

View original on GitHub ↗

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