[FEATURE] Desktop/Claude Code: stdio MCP servers duplicated per session (~1 GB each) and can't be started mid-session

Status Open
Maintainer reply None cached
Activity 1 comment · opened Oct 6, 2026

Problem

In the Claude Code tab of the desktop app (macOS), every session starts its own copy of every stdio MCP server defined in the user config. With about 10 sessions open, that comes to roughly 10 GB of duplicate MCP server processes.

Measured on one machine (36 GB RAM, swap fully used):

  • 10 live session processes, each 200–500 MB on its own
  • each with the same 9 stdio MCP servers as children, about 1 GB per session (several are Python search servers that load an index, ~120–190 MB each, plus npx firebase-tools@latest mcp at ~165 MB)
  • Activity Monitor reported 42.6 GB for "Claude"

There is also no way to add a configured stdio server to a session that has already started. So the only way to have a server available when you need it is to declare it globally, which makes every session pay for it. These two limits push users toward the worst setup.

Requests

  1. Share stdio MCP servers across sessions. Run one supervised instance per server config and multiplex sessions onto it, as an option per server (e.g. "shared": true) for servers that hold no per-session state.
  2. Start a configured MCP server mid-session. Let a server be declared but lazy ("autoStart": false), and have the model or user start it when a session needs it, the way claude.ai connectors can already be toggled mid-session. A lazy server costs no memory until it is used.
  3. Let users unload an idle session's process without archiving it. The app already unloads some idle sessions and resumes them on the next message, but there is no way to do it on demand.

Either 1 or 2 alone would cut memory use by an order of magnitude for anyone who works with many open sessions.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗