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:
| OS | Config 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.
- Open that file. Merge the
mcpServersobject from a server page. Multiple servers go side by side in the same object. - 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). - 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/uvxnot 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:
| Scope | macOS / Linux | Windows |
|---|---|---|
| This project | .cursor/mcp.json in the repo root | |
| This user | ~/.cursor/mcp.json |
%USERPROFILE%\.cursor\mcp.json |
- Paste the block. Same shape as Claude Desktop (
command/args/env). - Reload MCP in Cursor settings, or restart Cursor.
Windsurf and other hosts use the same idea with their own file name. If a host only accepts a remote URL, use servers that have one (GitHub official) โ most of this list is local stdio.
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/uvxnot 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.