Project scope MCP servers not displayed in claude mcp list command
Resolved 💬 18 comments Opened Aug 17, 2025 by WarrenZhu050413 Closed Mar 11, 2026
[BUG] Project scope MCP servers not displayed in claude mcp list command
Environment
- Platform (select one):
- [x] Anthropic API
- [ ] AWS Bedrock
- [ ] Google Vertex AI
- [ ] Other: <!-- specify -->
- Claude CLI version: 1.0.83 (Claude Code)
- Operating System: macOS 14.3 (Darwin 24.3.0)
- Terminal: iTerm2 <!-- e.g. iTerm2, Terminal App -->
Bug Description
MCP servers added with project scope (-s project) work correctly during Claude Code execution and prompt for approval when starting sessions, but do not appear in claude mcp list output. This creates confusing user experience where servers are functional but invisible in the CLI listing.
Steps to Reproduce
- Navigate to any project directory
- Run
claude mcp add -s project test-server echo "test" - Verify server was added:
claude mcp get test-server(this works) - Start Claude Code in the project: observe approval prompt for "test-server" appears
- Run
claude mcp listto see configured servers - Observe that the project scope server does not appear in the list, despite being functional
Expected Behavior
Project scope servers added to .mcp.json should appear in claude mcp list output alongside user and local scope servers for consistency and transparency.
Actual Behavior
- ✅ Project scope servers work correctly (prompt for approval, can be used during sessions)
- ✅ Project scope servers can be managed via
claude mcp get/removecommands - ❌ Project scope servers are invisible in
claude mcp listoutput - ❌
/mcpslash command reports "No MCP servers configured" when only project scope servers exist
This creates confusing UX where functional servers appear "missing" in the primary listing command.
Additional Context
- Project scope servers are correctly written to
.mcp.jsonwith proper JSON structure - Claude Code runtime successfully loads and prompts for approval of project scope servers
claude mcp get <name>successfully reads project scope servers and shows "Scope: Project config (shared via .mcp.json)"claude mcp remove <name> -s projectsuccessfully removes project scope servers- Only user scope (
-s user) and local scope (default) servers appear inclaude mcp list - This appears to be a CLI reporting issue rather than a functional problem
- Severity: Minor (confusing UX but servers work correctly)
- Related issues: #1955 and #2156 (closed) reported similar behavior but focused on approval workflow
- This report focuses specifically on the
listcommand display issue that persists
---
Submitted via Claude Code
18 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Hey there,
Just another user here, but wanted to chime in and say this is a really well-documented bug report. It's definitely confusing when the servers are clearly working (based on the approval prompt and in-session usage) but don't show up in the main list command.
It really does seem like a reporting bug in both
claude mcp listand the/mcpslash command, rather than a functional issue. I was digging through the docs and the changelog, and everything confirms that project-scoped servers are a core feature (sincev1.0.50according to the changelog). Theclaude mcp listcommand was even updated inv1.0.58to improve health status display, so it's strange that it's missing this scope.Workaround
In the meantime, here's workarounds that might help you out:
claude mcp get <server-name>works perfectly to confirm a single project-scoped server is configured correctly..mcp.jsonfile, you can use a quick shell command to list the server names directly. If you havejqinstalled, this works nicely:``
bash
``# In your project root, run this to list the names of all configured project servers
jq -r '.mcpServers | keys[]' .mcp.json
It's not as good as the built-in command (no status info), but it at least gives you a quick list of what Claude should be seeing from the project config.
It's good that you referenced the other closed issues. Hopefully, with your detailed reproduction steps, the team can get this display issue patched up for good. Until then, hope the
jqtrick helpssame problem here:
.mcp.jsonis not read anymore. What is happening?EDIT: I ran
claude --debugand saw an error with mypermissions.allowconfig/array (insettings.local.json). This is the line that was the cause of not loading mcp's:"Bash(find *)". The error was:TLDR; Remove all permissions in
settings.local.jsonand see if it is working again.https://github.com/anthropics/claude-code/issues/5963#issuecomment-3243051224
This solution solved my problem!
I removed the invalid settings reported and restarted claude, and the mcp server start working. Thanks!
Facing the same issue:
I have configured several MCP-servers (Supabase, Clickup, Context7) via
.mcp.jsonin many projects.However, on a new project i started to add this file too in the root-folder and restarted CC, but the mcp list is still missing (message: No MCP servers configured)
Running
/doctorprovides no useful information:But when I make a mistake in the .mcp.json, like using an API-Key as shell-variable that is not provided, the /doctor command will tell me "invalid or unexpected ENV variable". Fixing it back to the original state, hides this error message but doesnt list any mcp config either.
Running the command
jq -r '.mcpServers | keys[]' .mcp.json(as suggested by @coygeek) will even list all configured servers.After running
doctor --debug(as mentioned here https://github.com/anthropics/claude-code/issues/5963#issuecomment-3243051224) it suddenly detected my mcp-config in the local file .mcp.json.Now it sees the mcp-config even without running the debug-mode.
Regarding the broken settings.json, which obviously causes CC to load local MCP configs, I asked Claude Code to write a script for fixing the settings accordingly: https://github.com/itinance/cc-settings-fixer
Feel free to automate!
adding "enableAllProjectMcpServers": true to my settings.local.json or your global settings.json fixed it for me.
Project-scoped MCP servers not listed due to invalid settings; fixed by permission pattern changes
Summary: Project-scoped MCP servers defined in
.mcp.jsonwere not showing up and/mcpinitially reported none. The root cause was invalid Bash permission patterns in.claude/settings.json, which caused project settings (includingenabledMcpjsonServers) to be ignored. After fixing the patterns to use:*suffix matching and removing unsupported mid-command wildcards,claude mcp listand/mcpboth showed connected servers, and everything worked as expected.Environment
bunx -y @upstash/context7-mcp@latestclaude-flow mcp startSymptoms
claude mcp listreturned “No MCP servers configured” even after adding entries with--scope project./mcpinside a Claude Code session showed no servers and a notice about invalid settings.claude --debugrepeatedly logged “Invalid settings in projectSettings source” pointing topermissions.allowandpermissions.deny.Key debug output (excerpt)
Root cause
.claude/settings.jsonused bare*(e.g.,Bash(git log *)) and unsupported mid-command wildcards (e.g.,Bash(curl * | bash)), which invalidated the entire settings file.enabledMcpjsonServerswas not applied, so project.mcp.jsonservers were effectively blocked.Fix
Bash(<prefix> *)withBash(<prefix> :*)(prefix matching with:*only at the end).Before (invalid examples):
After (valid examples):
Result
claude mcp listnow shows:context7: bunx -y @upstash/context7-mcp ... - ✓ Connectedclaude-flow: claude-flow mcp start - ✓ Connected/mcpUI shows “Status: connected” with the expected tools and capabilities for both servers.Suggestion for UX/docs
/mcpandclaude mcp listindicating that project servers are blocked due to settings validation errors, and point to the exact invalid keys.enabledMcpjsonServersorenableAllProjectMcpServers) to avoid the “No servers configured” confusion when.mcp.jsonis otherwise correct.Can confirm this issue when using official project-scope methods, but it's resolved by the workaround from #9189.
Test without workaround (both official methods tried):
claude mcp add --scope projectto add servers via CLI.mcp.jsonwith three MCP server configurationsclaude mcp listoutput: "No MCP servers configured"Test with workaround from #9189:
.claude/settings.local.jsonwith minimal configurationclaude mcp listcorrectly shows all three project-scoped serversConclusion:
This issue appears to be a symptom of #9189. When project-scoped servers fail to load (due to missing approval flow), they also don't appear in
claude mcp list. Once the workaround from #9189 is applied and servers load correctly,claude mcp listworks as expected.Suggest this issue may be auto-resolved once #9189 is fixed.
Environment: macOS 26.0.1, Claude Code v2.0.27
Can confirm this issue is still present in Claude Code v2.0.37 on macOS (Darwin 24.6.0).
Issue still exists in CC v2.0.55
I has the same problem in Claude Code 2.0.60.
+1
This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.
+1
Closing for now — inactive for too long. Please open a new issue if this is still relevant.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.