Every MCP setup guide shows Mac commands and Mac file paths. If you're on Windows, you've probably tried to follow along and hit a wall at some point — maybe paths with backslashes aren't working, maybe npx isn't found, or maybe Claude Desktop just isn't showing your server. This guide is specifically for Windows. Every step is Windows-first.

Step 1: Install Node.js on Windows

Go to nodejs.org and download the Windows installer for the LTS version (currently v22). Run the installer and — this is important — check "Automatically install the necessary tools" on the optional tools screen. This installs the C++ build tools you'll occasionally need.

Also make sure "Add to PATH" is checked during installation. After installing, open a new Command Prompt and verify:

node --version
npx --version

Both should print version numbers. If they don't, restart your computer — Windows PATH changes sometimes need a reboot to take effect.

Windows MCP server setup steps: install Node.js from nodejs.org MSI, find config at percent APPDATA percent backslash Claude, write config with forward slashes in paths, restart Claude from system tray with common Windows path format gotchas
Windows MCP server setup — four steps with the critical path format note for JSON config files on Windows.

Step 2: Find the Claude Desktop config file

Open Windows Explorer, click the address bar, type %APPDATA%\Claude and press Enter. You'll navigate directly to the Claude app data folder. The file you need is claude_desktop_config.json.

If the file doesn't exist yet, create it. Open Notepad, write {} (just the braces), and save as claude_desktop_config.json in that folder. Important: make sure Notepad saves it as .json and not .json.txt — in Notepad's Save dialog, set "Save as type" to "All Files" and type the full filename including the extension.

Step 3: Write the Windows config

Open claude_desktop_config.json in VS Code (recommended over Notepad for JSON editing). Here's the filesystem server config for Windows:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:\\Users\\YourUsername\\Documents"
      ]
    }
  }
}

Note the double backslashes in the path. In JSON, a single backslash \ is an escape character. To represent a literal backslash, you write \\. So C:\Users\name becomes C:\\Users\\name in JSON.

Alternatively, you can use forward slashes — Node.js on Windows accepts both: C:/Users/YourUsername/Documents is equally valid in the config.

Step 4: Restart Claude Desktop

Right-click the Claude system tray icon (bottom-right of your screen) and click "Exit." Then relaunch Claude Desktop from the Start menu or taskbar. Closing the window isn't enough — you need to exit the tray icon app completely.

Mac versus Windows MCP server config comparison showing config file path differences, Node.js install method, path format in JSON, npx location, quit shortcut, and quick navigate shortcut for both operating systems
Mac vs Windows MCP config differences — use this as a reference if you're following a Mac guide on a Windows machine.

Windows-specific troubleshooting

Problem: npx command not found

Some Windows configurations don't give Claude Desktop access to PATH executables. The fix is to use the full path to npx, or to call it through cmd. Replace "command": "npx" with:

"command": "cmd",
"args": ["/c", "npx", "-y", "@modelcontextprotocol/server-filesystem", "C:/path"]

The cmd /c approach runs npx through the Windows command interpreter, which has full PATH access.

Problem: PowerShell execution policy error

If you see an error about scripts not being allowed, your PowerShell execution policy is set to Restricted. Open PowerShell as Administrator and run:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

This allows locally-created scripts to run while still requiring signatures on downloaded scripts.

Problem: Path with spaces breaks the config

If your path contains spaces (like C:\Users\John Smith\Documents), the JSON string handles it fine — just write it normally in the JSON string. The spaces are inside quotes in JSON so they're not a problem.

Python-based MCP servers on Windows

Some servers use Python/uv instead of Node.js. Install uv with:

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

Then use uvx as the command in your config instead of npx. The pattern is the same — just different runtime.

Frequently Asked Questions

On Windows, the config file is at %APPDATA%\Claude\claude_desktop_config.json. Type %APPDATA% in Windows Explorer's address bar to navigate there directly. The Claude folder may not exist until you've run Claude Desktop at least once.

Yes, but in JSON you must escape them as double backslashes. So C:\Users\name\projects becomes C:\\Users\\name\\projects in JSON. You can also use forward slashes (C:/Users/name/projects) — Node.js on Windows accepts both.

The most common Windows-specific issues: Node.js not added to PATH during installation, config file saved as .json.txt by Notepad, or PowerShell execution policy blocking npx. See the troubleshooting section above for each specific fix.

Yes. Running MCP servers in WSL and Claude Desktop in Windows works if you configure the server to expose an HTTP/SSE endpoint rather than using stdio. This is more complex to set up but gives you the full Linux tooling environment for your servers.