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.json has no mcpServers key
  • Know the correct place to add a new server manually

Steps to reproduce

  1. Add an MCP server via /mcp > "Add" in the UI
  2. Try to find where it was saved
  3. Check ~/.claude/settings.json - not there
  4. Check .mcp.json - not there
  5. Eventually discover it's in ~/.claude.json mixed 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.json is the location for user-scoped MCP servers

Environment

  • Claude Code on Linux (WSL2)

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗