Setup guide

How to add an MCP server to Claude Desktop

Claude Desktop reads servers from `claude_desktop_config.json` (Settings → Developer → Edit Config opens it). It launches local processes only, so remote servers are bridged through `mcp-remote`.

Where the config lives

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

Servers go under the mcpServers key.

What Claude Desktop can run

  • Local servers (stdio)
  • Remote servers (HTTP)
  • Remote servers (SSE)

223 of the 508 servers in the catalog run natively in Claude Desktop; the rest work through the mcp-remote bridge, which the generated configs include automatically.

Step by step

  1. Open Settings → Developer → Edit Config.
  2. Add each server under `mcpServers` with its `command`, `args` and, if needed, `env`.
  3. For a remote server, use `npx -y mcp-remote <url>` as the command.
  4. Fully quit and reopen Claude Desktop.

Reloading: Quit Claude Desktop completely (not just close the window) and reopen it. Tools appear under the 🔌 menu.

Example: the Filesystem server in Claude Desktop

The official reference server for file access. Replace the directory with the folder you want the assistant to see.

Add this server

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

Troubleshooting

`npx` is not found, or the server exits immediately on Windows
Windows launches `npx` through cmd. Use `"command": "cmd"` with `"args": ["/c", "npx", "-y", "<package>"]`, and make sure Node.js 18+ is on the PATH of the user the client runs as.
`SyntaxError` or `Unsupported engine` when the server starts
Most MCP servers need Node.js 18 or newer (`node -v`). If you use nvm, the client may not see your shell's Node: point `command` at the absolute path of `npx`.
Nothing appears after editing the file
A single trailing comma makes the whole file invalid JSON and every server silently disappears. Validate it, then check the logs in ~/Library/Logs/Claude (macOS) or %APPDATA%\Claude\logs (Windows).
`uvx: command not found` for Python servers
Install uv (`curl -LsSf https://astral.sh/uv/install.sh | sh`, or `winget install astral-sh.uv` on Windows), then restart the client so it picks up the new PATH.
The server starts but every tool call fails with 401 or 403
Its API key is missing or wrong. Put it in the server's `env` block (or the header for remote servers) — never in a file you commit.

Official documentation: Claude Desktop MCP docs

Setting up several servers at once?

Tick them in the catalog and the setup builder merges them into one Claude Desktop config.

Open the setup builder for Claude Desktop

Best MCP servers for Claude Desktop

The highest health scores among servers that run natively in Claude Desktop.

See every server that runs in Claude Desktop →