Two roles in one file
The
Under the
~/.claude.json file serves a dual purpose. At the top level, the "mcpServers" key defines MCP servers available in every Claude Code session, regardless of which project you are working in. These are your global integrations: GitHub, Firecrawl, Notion, Slack, and anything else you use across projects.Under the
"projects" key, you can define project specific MCP server configurations that only activate when you are working inside that directory. This lets you keep project scoped integrations (like a local Supabase instance or a project specific API) separate from your global setup. Claude Code also writes session metrics, caches, and internal state to this file during every session.