Suggest a server AI tools directory →

How to install an MCP server

You do not install these on a website. The host (Claude Desktop, Cursor, Windsurf) launches a local process and exposes its tools to the model. Each server page has a JSON block ready to paste. This page is the host side.

Claude Desktop

File is always claude_desktop_config.json. Folder depends on the OS:

OSConfig file
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json (usually C:\Users\<you>\AppData\Roaming\Claude\)
Linux~/.config/Claude/claude_desktop_config.json

macOS/Windows: Settings → Developer → Edit Config creates the file if it is missing. Linux: create the folder if you have not launched the app yet. Official Linux is the .deb; unofficial builds use the same path.

No other desktop OS. iPhone/Android hosts do not launch these local npx/uvx processes. ChromeOS uses the Linux path inside the Linux container. WSL is Linux inside Windows: a Windows Claude/Cursor reads %APPDATA%; Claude or Cursor installed inside WSL reads ~/.config/Claude/ and ~/.cursor/mcp.json. The two homes do not share a file.

  1. Open that file. Merge the mcpServers object from a server page. Multiple servers go side by side in the same object.
  2. Replace placeholder paths and tokens. On Windows use C:\\Users\\you\\project, not /path/to. Restart Claude Desktop completely (Quit / Exit, not just close the window).
  3. Start a new chat and ask “what MCP tools do you have?” If the server is missing, the host log usually says the process failed to spawn — bad path, or npx/uvx not on the PATH the GUI app sees.

You need Node (for npx) or uv (for uvx) on your PATH. Official reference servers use one or the other; we show which on the page.

Cursor

Same mcpServers JSON. Two places:

ScopemacOS / LinuxWindows
This project.cursor/mcp.json in the repo root
This user~/.cursor/mcp.json %USERPROFILE%\.cursor\mcp.json
  1. Paste the block. Same shape as Claude Desktop (command / args / env).
  2. Reload MCP in Cursor settings, or restart Cursor.

Windsurf

Same mcpServers shape for local stdio. Config is global only (no project file). Path still lives under .codeium even after the Windsurf / Devin Desktop renames:

OSConfig file
macOS / Linux~/.codeium/windsurf/mcp_config.json
Windows%USERPROFILE%\.codeium\windsurf\mcp_config.json
  1. Open the file from Cascade → MCPs → Configure, or edit it directly.
  2. Paste a server block from any page here. Local command/args/env match Cursor.
  3. Remote HTTP servers: Windsurf wants serverUrl, not url. Rename that one field when you copy GitHub official.
  4. Reload MCP / restart Windsurf.

Claude Code CLI uses claude mcp add (stdio). VS Code Copilot Chat has its own MCP settings UI — same servers, different host chrome.

A minimal first config

Filesystem on one project folder. After this works, add GitHub or Fetch — not five servers at once.

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

If it does not show up

  • JSON trailing commas — the file must be strict JSON.
  • npx / uvx not on the PATH the host sees: macOS GUI apps miss Homebrew; Windows GUI apps miss nvm if it only lives in a terminal profile; Linux the same if Node is only in .bashrc.
  • Wrong absolute path for the folder or the repo.
  • Token in the JSON but the API rejected it — the process starts, then every tool call fails.