MCP Directory

MCP config files: paths & format

Where each MCP client reads its config, the exact JSON shape, and the gotchas. Every server page gives you a ready-to-paste snippet for all three clients.

Generate a multi-server config in one click.

Config generator →

Claude Desktop

Official docs
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
    }
  }
}
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
    }
  }
}

Good to know

  • Restart the client (fully quit & reopen) after editing the config — changes don't hot-reload.
  • Cursor shows a green dot per server in Settings → MCP when a server connects; a red dot means a bad command or missing secret.
  • Cursor has a practical ceiling around 40 active MCP tools — enable only the servers you need.
  • Local (stdio) servers run on your machine via npx/uvx/docker; remote (SSE/HTTP) servers connect to a hosted URL.
  • Never commit secrets — put API keys in the config's env block or use a hosted/OAuth remote server.
  • If npx/uvx isn't found, install Node.js (for npx) or uv (for uvx) first.

FAQ

Where is the Claude Desktop MCP config file?

~/Library/Application Support/Claude/claude_desktop_config.json on macOS (%APPDATA%\Claude\claude_desktop_config.json on Windows). Open it via Settings → Developer → Edit Config.

Where is the Cursor MCP config file?

~/.cursor/mcp.json for global servers, or .cursor/mcp.json inside a project for project-scoped servers.

Where is the Windsurf MCP config file?

~/.codeium/windsurf/mcp_config.json. Edit it from Cascade → the MCP/hammer icon → Configure.

Why isn't my MCP server showing up?

Most often: you didn't fully restart the client, the JSON has a syntax error (trailing comma / missing quote), or a required secret/path is missing. Validate the JSON and check the client's MCP status panel.