Feature request: per-project toggle for remote (claude.ai) MCP servers

Resolved 💬 3 comments Opened Apr 13, 2026 by malonso-1 Closed Apr 16, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Problem
Remote MCP servers connected through claude.ai (Ahrefs, PostHog, Slack, Linear, Notion, Gmail, Google Calendar, Vercel, Fireflies, etc.) are injected at the account level and cannot be disabled per project. This results in significant token overhead in projects that don't need them.

Real-world impact
In my case, I work across multiple repositories with very different needs:

Repo A (digital products, Python scripts): only needs GitHub, Context7, and chrome-devtools. The 200k+ tokens from Ahrefs, PostHog, Slack, Linear, Notion, Gmail, Calendar, Vercel, and Fireflies are pure waste.
Repo B (web app, TypeScript): needs Vercel, PostHog, Slack, and GitHub, but not Ahrefs or Fireflies.
Repo C (SEO project): needs Ahrefs and Google tools, but not PostHog or Vercel.
With the Opus model (1M context), remote MCP tools currently consume ~210k tokens (21%) before a single message is sent. On Sonnet (200k context), this would consume the majority of usable context.

What I tried
I created a .claude/settings.local.json at the project root with:

{
"mcpServers": {
"claude_ai_Ahrefs": { "disabled": true },
"claude_ai_PostHog": { "disabled": true },
"claude_ai_Fireflies": { "disabled": true }
}
}
This had no effect. Remote MCP servers from claude.ai ignore project-level settings entirely.

Expected behavior

User connects MCP servers globally via claude.ai (current behavior, unchanged)
In any project, user can create .claude/settings.local.json to disable specific servers for that project only
Disabled servers are not loaded into context, saving tokens
Other projects remain unaffected

Why this matters
Token cost: every turn pays for ~200k tokens of unused tool definitions, across every message in the conversation
Context pressure: on Sonnet (200k context), unused MCP servers can consume over half the available context before any work begins
No workaround exists: disconnecting servers at the account level affects all projects, which defeats the purpose of having project-specific tooling

Proposed Solution

Proposed solution
Allow users to disable specific MCP servers per project, using the existing project-level settings file (.claude/settings.json or .claude/settings.local.json).

Suggested format

{
"disabledMcpServers": [
"claude_ai_Ahrefs",
"claude_ai_PostHog",
"claude_ai_Fireflies",
"claude_ai_Vercel",
"claude_ai_Gmail",
"claude_ai_Google_Calendar",
"claude_ai_Notion"
]
}
Or alternatively, an allowlist approach:

{
"enabledMcpServers": [
"github",
"claude_ai_Context7",
"chrome-devtools"
]
}

Alternative Solutions

_No response_

Priority

High - Significant impact on productivity

Feature Category

Other

Use Case Example

_No response_

Additional Context

_No response_

View original on GitHub ↗

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