gotchaMajor
Claude Code MCP server config: settings.json vs ~/.claude.json
Viewed 0 times
mcp config locationsettings.json vs claude.jsontools not loadingsilent failure
claude-codeterminalmacos
Error Messages
Problem
MCP server configured in ~/.claude/settings.json under mcpServers is silently ignored. The MCP tools never appear in the session toolset. No error is shown — the server simply does not load. Hooks referencing the MCP tools fire warnings but can never be satisfied because the tools do not exist.
Solution
MCP servers must be configured in ~/.claude.json (user scope) or .mcp.json (project scope), NOT in ~/.claude/settings.json. Move the mcpServers block to ~/.claude.json with type: stdio explicitly set. Verify with claude mcp list which shows Connected status. Restart session after config change.
Why
settings.json controls permissions, hooks, plugins, and env vars. MCP server discovery uses a separate config path: ~/.claude.json for user-level servers and .mcp.json for project-level servers. The settings.json mcpServers key is not read by the MCP loader.
Gotchas
- No error or warning is shown when mcpServers is in the wrong file — it is silently ignored
- claude mcp list will show the server as Connected only after config is in the correct file
- Session must be restarted after adding MCP config for tools to appear
Revisions (0)
No revisions yet.