[BUG] /mcp UI silently hides project MCP servers that fail to connect
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [x] I am using the latest version of Claude Code
What's Wrong?
The /mcp dialog silently hides project MCP servers that fail to connect. Only successfully connected servers appear under "Project MCPs". Failed servers are completely omitted from the list with no error indication.
In my case, 5 servers are defined in .mcp.json but only 1 (the one that connected successfully) appears. The other 4 are invisible.
The "Local MCPs" section correctly shows failure states (e.g., "needs authentication"), so the expected UX pattern already exists — it's just not applied to Project MCPs.
What Should Happen?
All servers defined in .mcp.json should appear under "Project MCPs", with failed servers showing an error/failure status (e.g., "failed to connect", "needs authentication", "startup error") — similar to how Local MCPs display failure states.
Steps to Reproduce
- Define multiple stdio MCP servers in the project
.mcp.json(e.g., servers usingnpxanduvxcommands) - Have some servers fail to connect (e.g., due to missing dependencies, auth issues, etc.)
- Run
/mcp - Observe: only the successfully connected server(s) appear under "Project MCPs"
- The header says "22 servers" total, suggesting it knows about all configured servers, but the Project MCPs section only renders the connected ones
Environment
- Claude Code version: 2.1.87
- OS: macOS (Darwin 24.2.0)
- Platform: Anthropic API
- MCP server types affected: stdio servers using
npxanduvxcommands - Terminal: iTerm2
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗