Add 'disabled' field to MCP server configuration

Resolved 💬 4 comments Opened Mar 27, 2026 by hookokoko Closed May 2, 2026

Feature Request

Add a disabled (or enabled) boolean field to the MCP server configuration schema, allowing users to temporarily disable an MCP server without removing its configuration.

Motivation

Currently, if I want to temporarily disable an MCP server, I have to remove it with claude mcp remove and re-add it later with the full URL/command/env configuration. This is cumbersome, especially for servers with complex configurations.

A common use case: I have a Feishu (Lark) MCP server configured that I only need occasionally. I'd like to keep the configuration in place but disable it by default to avoid unnecessary connections and tool clutter, then enable it on demand.

Proposed Solution

Add a disabled boolean field to the MCP server config in ~/.claude.json and .mcp.json:

{
  "mcpServers": {
    "feishu-mcp": {
      "url": "https://mcp.feishu.cn/mcp/...",
      "disabled": true
    }
  }
}

And corresponding CLI commands:

# Disable a server
claude mcp disable feishu-mcp

# Enable a server
claude mcp enable feishu-mcp

When disabled: true, the server should be skipped during startup (no connection attempt, no tools loaded), but its configuration remains intact for easy re-enabling.

Alternatives Considered

  • Remove and re-add: Works but loses configuration, especially inconvenient for servers with env vars, headers, or complex args.
  • Shell aliases: Wrapping claude mcp add/remove in aliases — functional but hacky.
  • Project-scoped .mcp.json: Only helps if you want per-project control, not global on/off.

View original on GitHub ↗

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