Skip to main content
Guide2 min read

MCP config file location: Claude, Cursor, Windsurf & VS Code (2026)

Exactly where each AI client stores its MCP config, on macOS, Windows and Linux — plus how to open it fast and the gotchas that break it.

Half of all "my MCP server won't load" problems come down to editing the wrong file. Here is exactly where each client keeps its MCP config, on every OS, and how to open it in one step.

Claude Desktop

File: claude_desktop_config.json.

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Fastest way to open it: in Claude Desktop go to Settings → Developer → Edit Config. That button creates the file if it does not exist and opens the right one. Restart Claude after saving.

Cursor

  • Global: ~/.cursor/mcp.json
  • Project-scoped: .cursor/mcp.json in the project root

Or open Settings → MCP → Add new MCP server to edit it through the UI. Project config overrides global for that workspace.

Windsurf

File: ~/.codeium/windsurf/mcp_config.json. In the app, open the Cascade panel → MCP section → it links straight to the file. Hit Refresh after editing.

VS Code (Copilot)

VS Code uses a .vscode/mcp.json in the workspace, or the user settings.json under an mcp block. Use the command palette → MCP: Add Server to scaffold it.

Claude Code (CLI)

No file to hand-edit by default — use the CLI: claude mcp add <name> ... or claude mcp add-json <name> '<json>'. It stores config in ~/.claude.json.

The schema is (almost) the same everywhere

All of them use a top-level mcpServers object keyed by server name. A stdio server looks like:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path"]
    }
  }
}

Remote servers use "url" instead of command/args.

Gotchas that break it

  • Invalid JSON — one trailing comma and the whole file is ignored silently. Validate it.
  • Editing the wrong scope — global vs project (Cursor), or a stale copy.
  • No restart — most clients only read the config on launch.
  • Windows paths — escape backslashes: C:\\Users\\you\\project.

Next steps

Got the file right but the server still will not load? See Cursor MCP not working or Claude Desktop MCP not loading. New to all this? Start with how to install MCP on Claude Desktop.

Loadout

Build your AI agent loadout

The directory of MCP servers and AI agents that actually work. Pick the right loadout for Slack, Postgres, GitHub, Figma and 20+ integrations — with install commands ready to paste into Claude Desktop, Cursor or your own stack.

© 2026 Loadout. Built on Angular 21 SSR.