[BUG] MCP servers shown under "Project MCPs" when no project .mcp.json exists
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
In the MCP server management UI (/mcp or Manage MCP servers), servers are displayed under "Project MCPs" even when no project-level .mcp.json file exists.
The UI shows:
Project MCPs (D:\coding\projects\sherpa\.mcp.json (file does not exist))
❯ brave-search · ✔ connected
firecrawl · ✔ connected
sherpa · ✔ connected
... (other servers)
These servers are actually defined at the user level in ~/.claude.json under mcpServers, not in any project-level config. The project config only stores disabledMcpServers to track which user-level servers are disabled for that project.
The "Project MCPs" label is misleading because:
- It suggests project-specific configuration exists
- 2. The "(file does not exist)" note correctly indicates there's no project file
- 3. But the servers shown are inherited from user-level config, not project-level
What Should Happen?
When no project-level .mcp.json exists, the UI should either:
- Option A: Not show a "Project MCPs" section at all - only show "User MCPs" with servers that can be enabled/disabled per project
- Option B: Show "Project MCPs" as empty with a message like "No project-level MCP servers configured" and display user-level servers under "User MCPs"
- Option C: Rename the section to something like "Active MCP Servers (from User Config)" to accurately reflect the source
The key issue is clarity - users should understand where their MCP servers are configured (user vs project level) without confusion.
Error Messages/Logs
Steps to Reproduce
- Open Claude Code in any project directory
- Run
/mcpor access "Manage MCP servers" - Ensure no
.mcp.jsonfile exists in the project directory - Observe that MCP servers are listed under "Project MCPs (path/.mcp.json (file does not exist))"
- Check
~/.claude.jsonto confirm these servers are actually defined at user level undermcpServers
Note: This is a UX/display issue - the servers work correctly, but the grouping/labeling is confusing.
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.2 (Claude Code)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗