MCP server configuration stored in ~/.claude.json is undocumented and confusing
Resolved 💬 4 comments Opened Mar 21, 2026 by kovan Closed May 6, 2026
Summary
User-level MCP servers configured via /mcp or claude mcp add --scope user are stored in ~/.claude.json under the mcpServers key. This file is not mentioned in the documentation as an MCP configuration location.
Problem
The documented MCP configuration locations are:
.mcp.json(project-level)~/.claude/settings.json(user-level, per docs)
However, when adding a server via the /mcp UI, it ends up in ~/.claude.json - a completely different file that primarily stores session state, analytics, and UI preferences. Nothing in the UI or docs indicates this.
This causes confusion for anyone trying to:
- Find their existing MCP server configuration to copy/edit it
- Understand why
~/.claude/settings.jsonhas nomcpServerskey - Know the correct place to add a new server manually
Steps to reproduce
- Add an MCP server via
/mcp> "Add" in the UI - Try to find where it was saved
- Check
~/.claude/settings.json- not there - Check
.mcp.json- not there - Eventually discover it's in
~/.claude.jsonmixed in with UI state, analytics data, and feature flags
Expected behavior
Either:
- Store user-level MCPs in
~/.claude/settings.json(where all other user settings live), or - Clearly document that
~/.claude.jsonis the location for user-scoped MCP servers
Environment
- Claude Code on Linux (WSL2)
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗