Add 'disabled' field to MCP server configuration
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/removein aliases — functional but hacky. - Project-scoped
.mcp.json: Only helps if you want per-project control, not global on/off.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗