Feature Request: Support MCP server enablement in .claude/settings.local.json

Resolved 💬 3 comments Opened Jan 5, 2026 by matthewattanasio Closed Jan 9, 2026

Summary

MCP server enablement settings (enabledMcpjsonServers, disabledMcpjsonServers) in .claude/settings.local.json are not being respected. Claude Code only reads these settings from ~/.claude.json project entries, which causes issues for teams using git worktrees or workspace management tools.

Current Behavior

  1. Project defines MCP servers in .mcp.json
  2. Project sets disabledMcpjsonServers in .claude/settings.json (shared, checked into git) to disable servers by default
  3. Developer sets enabledMcpjsonServers in .claude/settings.local.json (gitignored) to enable servers locally
  4. Result: The local settings are ignored. MCP enablement is only read from ~/.claude.json

When running /mcp, the "Local config" location shown is:

Local config (private to you in this project):
• /Users/user/.claude.json [project: /path/to/project]

This confirms Claude Code reads local MCP settings from ~/.claude.json, not .claude/settings.local.json.

Problems This Causes

  1. Workspace management tools: Tools like Conductor create many project worktrees. Each worktree auto-creates an entry in ~/.claude.json with empty enabledMcpjsonServers: [], which prevents local project config from working.
  1. Team configuration: Teams want to define default MCP behavior in .claude/settings.json (shared) while allowing developers to override locally via .claude/settings.local.json (gitignored). This pattern works for permissions but not for MCP enablement.
  1. Bloated ~/.claude.json: Projects auto-create entries in ~/.claude.json, accumulating hundreds of project entries over time.

Expected Behavior

.claude/settings.local.json should be authoritative for MCP server enablement, following the documented precedence:

Local > Project > User

Settings in .claude/settings.local.json should override both .claude/settings.json and ~/.claude.json project entries.

Proposed Solution

  1. Read enabledMcpjsonServers and disabledMcpjsonServers from .claude/settings.local.json
  2. Apply standard precedence: Local > Project > User
  3. Optionally: Don't auto-create project entries in ~/.claude.json if local config exists

Example Configuration

.mcp.json (shared):

{
  "mcpServers": {
    "mixpanel": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.mixpanel.com/mcp", "--allow-http"] },
    "sentry": { "type": "http", "url": "https://mcp.sentry.dev/mcp" }
  }
}

.claude/settings.json (shared):

{
  "disabledMcpjsonServers": ["mixpanel", "sentry"]
}

.claude/settings.local.json (gitignored):

{
  "enabledMcpjsonServers": ["mixpanel"]
}

Expected result: Mixpanel enabled, Sentry disabled for this developer.

Environment

  • Claude Code CLI
  • macOS

View original on GitHub ↗

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