Multiple MCP servers from same npm package: only first one starts
Description
When configuring two MCP servers using the same npm package with different flags (e.g., @playwright/mcp@latest for headed and @playwright/mcp@latest --headless for headless), only the first server starts. The second server is never attempted.
Use Case
Running browser automation with choice of headed (for interactive logins/captchas) vs headless (for background scraping without window popup).
Configuration
Both plugins correctly configured per observed patterns from working plugins:
Directory Structure
~/.claude/plugins/marketplaces/claude-plugins-official/external_plugins/
├── playwright/
│ ├── .mcp.json
│ └── .claude-plugin/plugin.json
└── playwright-headless/
├── .mcp.json
└── .claude-plugin/plugin.json
playwright/.mcp.json
{
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
playwright-headless/.mcp.json
{
"playwright-headless": {
"command": "npx",
"args": ["@playwright/mcp@latest", "--headless"]
}
}
Both have valid .claude-plugin/plugin.json files
settings.json
{
"enabledMcpjsonServers": [
"playwright",
"playwright-headless"
]
}
marketplace.json
Both entries present in plugins array.
Permissions
Both mcp__playwright__* and mcp__playwright-headless__* tools are in the allow list and load correctly.
Expected Behavior
Both servers start:
MCP server "playwright": Successfully connected
MCP server "playwright-headless": Successfully connected
Actual Behavior
Only playwright starts. Debug log shows:
2026-01-13T15:40:41.443Z [DEBUG] MCP server "playwright": Starting connection...
2026-01-13T15:40:42.417Z [DEBUG] MCP server "playwright": Successfully connected
No log entry for playwright-headless at all - it's never attempted.
Evidence
- Tool
mcp__playwright__browser_navigateworks ✅ - Tool
mcp__playwright-headless__browser_navigatereturns "No such tool available" ❌ - Permissions for both are loaded (visible in settings)
- Config structures are identical between working and non-working plugins
Hypothesis
Claude Code may be deduplicating servers by npm package name (@playwright/mcp@latest), seeing the same package in both configs, and only starting one instance.
Environment
- macOS
- Claude Code CLI
- @playwright/mcp@latest (version 0.0.55)
Workaround Needed
Currently no way to have both headed and headless browser automation available in the same session.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗