[BUG] MCP servers shown under "Project MCPs" when no project .mcp.json exists

Resolved 💬 3 comments Opened Jan 9, 2026 by domtisdell Closed Feb 23, 2026

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:

  1. It suggests project-specific configuration exists
  2. 2. The "(file does not exist)" note correctly indicates there's no project file
  3. 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:

  1. Option A: Not show a "Project MCPs" section at all - only show "User MCPs" with servers that can be enabled/disabled per project
  2. 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"
  3. 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

  1. Open Claude Code in any project directory
  2. Run /mcp or access "Manage MCP servers"
  3. Ensure no .mcp.json file exists in the project directory
  4. Observe that MCP servers are listed under "Project MCPs (path/.mcp.json (file does not exist))"
  5. Check ~/.claude.json to confirm these servers are actually defined at user level under mcpServers

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_

View original on GitHub ↗

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