enabledMcpjsonServers silently ignores second MCP server (v2.1.41)
Bug Description
When multiple MCP servers are registered in enabledMcpjsonServers in ~/.claude/settings.json, only the first server is started. The second (and presumably subsequent) servers are silently ignored — no error, no warning, no log entry.
Environment
- Claude Code version: 2.1.41
- OS: macOS (Darwin 24.6.0, Apple Silicon)
- Shell: zsh
Steps to Reproduce
- Register two MCP servers in
~/.claude/settings.json:
{
"enabledMcpjsonServers": [
"vps-manager",
"lightroom-mcp"
]
}
- Both servers have valid
mcp.jsonfiles in~/.claude/mcp-servers/<name>/mcp.json - Both servers can be started manually and work correctly
- Restart Claude Code
Expected Behavior
Both vps-manager and lightroom-mcp should appear in the debug log as "Starting connection":
MCP server "vps-manager": Starting connection with timeout of 30000ms
MCP server "lightroom-mcp": Starting connection with timeout of 30000ms
Actual Behavior
Only the first server starts. The second server is completely absent from logs:
MCP server "plugin:serena:serena": Starting connection with timeout of 30000ms
MCP server "vps-manager": Starting connection with timeout of 30000ms
No error, no warning — lightroom-mcp is silently skipped.
What I've Verified
- [x] Directory name uses hyphens (
lightroom-mcp, notlightroom_mcp) - [x]
mcp.jsonis valid JSON (jqvalidates it) - [x]
mcp.jsonpaths use hyphen form - [x] No hidden characters in
mcp.json(verified withxxd) - [x] Python module imports correctly (
import mcp_server.mainsucceeds) - [x] Server starts correctly when run manually (
python -m mcp_server.main) - [x]
permissions.allowincludesmcp__lightroom_mcp__*(underscore form) - [x] Debug log shows permissions are loaded but server connection is never attempted
- [x] Recreated
mcp.jsonfrom scratch to rule out encoding issues - [x] 20+ restarts attempted
Debug Log Analysis
[DEBUG] Applying permission update: Adding 3 allow rule(s) to destination 'userSettings': ["mcp__serena__*","mcp__vps_manager__*","mcp__lightroom_mcp__*"]
[DEBUG] [STARTUP] Loading MCP configs...
... (plugin loading) ...
[DEBUG] [STARTUP] MCP configs loaded in 351ms
[DEBUG] MCP server "plugin:serena:serena": Starting connection with timeout of 30000ms
[DEBUG] MCP server "vps-manager": Starting connection with timeout of 30000ms
The permissions are loaded correctly (lightroom_mcp is present), but the server connection is never initiated.
Workaround
Using ~/.mcp.json with inline mcpServers definition instead of enabledMcpjsonServers:
{
"mcpServers": {
"lightroom-mcp": {
"command": "/path/to/venv/bin/python",
"args": ["-m", "mcp_server.main"],
"cwd": "/path/to/lightroom-mcp",
"env": {}
}
}
}
This bypasses the enabledMcpjsonServers auto-discovery mechanism entirely.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗