Per-session MCP server profiles to reduce token overhead

Resolved 💬 3 comments Opened Apr 17, 2026 by adelaidasofia Closed May 27, 2026

Problem

Every registered MCP server's tool names load into the system prompt on every message, regardless of whether they're relevant to the current task. For power users with 10+ MCP servers, this adds ~2,500+ tokens of overhead per message just for deferred tool name listings.

A vault-editing session doesn't need Linear, Apollo, Substack, or investor-relations tools. A sales session doesn't need graphify scripts or graph-query tools. But there's no way to scope which servers load per session.

Current workaround

Manually editing .mcp.json before each session type, which is impractical.

Proposed solution

Support named MCP profiles in .mcp.json that can be activated per session:

{
  "mcpProfiles": {
    "vault": ["graph-query", "google-workspace"],
    "sales": ["apollo", "linear", "investor-relations"],
    "writing": ["substack", "google-workspace"],
    "full": ["*"]
  },
  "defaultProfile": "vault"
}

Activation: claude --mcp-profile sales or /mcp-profile sales mid-session.

Impact

For a user with 10 MCP servers (~250 deferred tool names), loading only 3 relevant servers per session would save ~1,500 tokens per message. Over a 30-exchange session, that's ~45,000 tokens saved, which directly impacts usage limits.

Prior art

Issues #39487, #39491, #45293, #24000, #15981 all requested this. All were closed as duplicate or stale without resolution. The demand is clearly there.

View original on GitHub ↗

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