Feature request: per-project MCP exclusions (disable global/user-scoped servers)
Currently there is no way to disable a user-scoped (global) MCP server for a specific project. If a server is defined at user scope, it is active in every project with no opt-out mechanism at project level.
Use case: A developer has a global MCP (e.g. a Slack or Grafana server) that is useful in most projects but should not be active in certain ones — either for security, noise, or relevance reasons. There is no way to express this without removing the server from user scope entirely.
Proposed behaviour: Allow a disabled key in .mcp.json (project scope) or the local-scope entry in ~/.claude.json to suppress named servers inherited from higher scopes:
{
"disabled": ["grafana", "slack"],
"mcpServers": { ... }
}
Any server listed in disabled would be excluded for that project, regardless of whether it is defined at user or parent-directory scope.
Related: #68603 (parent-directory MCP scoping / inheritance)