Feature: per-project MCP server scoping (exclude account-level integrations)

Resolved 💬 3 comments Opened Apr 17, 2026 by troyscott Closed Apr 20, 2026

Problem

When Claude.ai account-level MCP integrations are connected (e.g. Canva, Gmail, Google Calendar, Lucid Chart, GitHub MCP, Dropbox, Context7), all of them load into every Claude Code session regardless of project context. There's no way to scope which integrations are active per project.

This creates unnecessary context window overhead for sessions that only need a subset. A coding session in a Python backend repo gets ~100 deferred tool definitions from Canva, Gmail, and Calendar that will never be called. Meanwhile a PM/design project legitimately needs those same tools.

Current state

  • Claude Code \~/.claude/settings.json\ / \.mcp.json\: can ADD project-scoped MCP servers, but cannot EXCLUDE account-level ones
  • Claude.ai account integrations: load globally — no per-project filter
  • No \disabledMcpServers\, no CLI flag, no env var to scope per-session
  • Workaround: disconnect integrations from the account entirely — but this removes them from ALL sessions, including ones that need them

Impact

Even with deferred tool schemas (names listed but schemas not loaded until \ToolSearch\ is called), the tool-name listing in system reminders consumes ~2-3K tokens per session. For users with 5-10+ integrations connected, this adds up — especially in long coding sessions where context budget matters.

Proposal

Allow per-project MCP server scoping. Two possible mechanisms:

Option A: \disabledMcpServers\ in project config

In \.claude/settings.json\ (project-level):

\\\json
{
"disabledMcpServers": ["Canva", "Gmail", "Google_Calendar", "Lucid_Chart"]
}
\
\\

Account-level integrations matching these names would not load for sessions in this project.

Option B: \allowedMcpServers\ (allowlist)

\\\json
{
"allowedMcpServers": ["Context7", "GitHub_MCP", "DropBox"]
}
\
\\

Only these integrations load; all others are excluded. Simpler mental model but requires updating the list when adding new servers.

Option C: Claude.ai project-level integration scoping

In the Claude.ai web UI, allow per-project integration settings — "this project uses Context7 + GitHub; that project uses the full set."

Use case

  • Coding project (Python/TS backend): needs Context7 (docs), GitHub MCP (issues/PRs), maybe Dropbox (screenshots)
  • PM/design project: needs Canva (design), Gmail (comms), Calendar (scheduling), plus the above
  • Both projects share the same Claude.ai account — currently impossible to give each only what it needs

Environment

  • Claude Code CLI on macOS (Mac Mini M4)
  • 7 account-level MCP integrations connected
  • Multiple projects with different tooling needs

View original on GitHub ↗

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