[BUG] MCP servers defined in global.json are not applied to projects
Resolved 💬 6 comments Opened Mar 15, 2025 by aaronlippold Closed Mar 17, 2025
Description
Global MCP servers configured in ~/.claude-code/mcp/global.json are not being detected or applied to projects automatically. This defeats the purpose of having global configuration.
Steps to reproduce
- Configure MCP servers in
~/.claude-code/mcp/global.jsonunder the "mcpServers" key - Open Claude Code in a project directory
- Run
claude mcp list- no servers are shown despite being in global config - Manually adding servers with
claude mcp add-jsonworks as a workaround
Expected behavior
MCP servers defined in the global config should be automatically available to all projects without requiring per-project configuration.
Environment
Using Claude Code CLI with globally configured MCP servers in ~/.claude-code/mcp/global.json
Configuration reference (API keys redacted)
{
"brave-search": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-brave-search"
],
"env": {
"BRAVE_API_KEY": "API_KEY_REDACTED"
}
},
"puppeteer": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-puppeteer"
]
}
}
This is from the mcpServers field in global.json.
Workaround applied
As a workaround, we were able to add the MCP servers to the project-specific configuration using:
claude mcp add-json brave-search "$(cat ~/.claude-code/mcp/global.json | jq '.mcpServers."brave-search"')"
claude mcp add-json puppeteer "$(cat ~/.claude-code/mcp/global.json | jq '.mcpServers.puppeteer')"
After running these commands, claude mcp list properly showed both servers as configured.
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗