Per-project disable for claude.ai-connected MCP integrations
Claude.ai-connected MCP integrations (Atlassian, Figma, Gmail, Google Calendar, Notion, Sentry, Drive, Excalidraw, Microsoft Learn) are activated globally as soon as they're connected at the account level. There is no per-project, per-workspace, or per-session way to disable a specific integration without disconnecting it from the account entirely.
Why this matters
When many integrations are connected, the resulting tool count pushes other MCP servers (in my case cli-bridge, which exposes a domain-specific Go indexer) into the deferred tool bucket. Deferred tools require an extra ToolSearch round-trip before use, which agents systematically skip in favor of trained reflexes (Read, Bash, Grep). This neutralizes a lot of the value of building specialized MCP tooling.
In a controlled eval (one MCP server, no claude.ai integrations), my custom tools were picked up at high rates. In daily use (10 integrations connected), they almost never are.
Requested behavior
Either:
- Extend
disabledMcpjsonServers(or add a sibling setting) to accept claude.ai integration IDs as well as local MCP names, scoped at user, project, and.mcp.jsonlevels. Or - Add an "active per project" toggle in the Claude.ai Connected Apps settings, so an integration can stay OAuth-connected but only surface in selected workspaces. Or
- At minimum: opt-in defaults — newly connected claude.ai integrations should not auto-activate in every Claude Code workspace; require explicit per-project enable.
Option 1 is the most useful for power users. Option 3 is the smallest behavioral change with the largest UX win.
Workaround in the meantime
Disconnect the integrations at claude.ai Settings → Connected apps. Reconnect when needed. This is annoying because OAuth round-trips are visible UX; the local schema-suppress is invisible.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗