MCP servers enabled via /mcp mid-session don't become available until restart
Problem
When you enable an MCP server mid-session using the /mcp command, the tool schemas are not injected into the running conversation. The server appears enabled in the /mcp UI, but Claude cannot actually use any of its tools until you restart Claude Code.
This makes /mcp effectively a config editor rather than a runtime toggle.
Steps to Reproduce
- Start Claude Code with only Context7 MCP enabled (GitHub + Supabase disabled)
- Verify Context7 tools work — they do
- Run
/mcpand enable GitHub + Supabase MCP servers - Try to use a GitHub or Supabase MCP tool — fails with "No such tool available"
- Restart Claude Code — tools now work
Expected Behavior
Enabling an MCP server via /mcp should make its tools available immediately in the current session, without requiring a restart. The tool schemas should be hot-loaded into the active conversation context.
Actual Behavior
The /mcp command updates the configuration but does not inject the newly enabled server's tool schemas into the running session. Tools remain unavailable until a full restart.
Why This Matters
This is the main friction point for managing context usage with MCP servers:
- Users who want to keep context lean can't selectively enable MCPs on-demand
- The only workflow is: quit → change config → restart → lose conversation context
- This defeats the purpose of having a runtime
/mcptoggle
Combined with #23787 (lazy-loading MCP schemas), true mid-session MCP management would let users run lean by default and pull in heavy tool sets only when needed — without losing their conversation.
Environment
- Claude Code CLI
- macOS (Darwin 25.2.0)
- Multiple MCP servers configured (Context7, GitHub, Supabase)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗