← Back to Articles
mcpcursorwindowssetup2026troubleshooting

MCP Servers on Windows: Complete Setup Guide for Cursor IDE (2026)

Setting up MCP servers on Windows in Cursor IDE is different from Mac. This guide covers the mcp.json file location, path issues, Node.js config, and every common Windows-specific error.

By Web MCP GuideApril 12, 20265 min read


MCP Server Setup on Windows for Cursor IDE (2026)

Most MCP setup guides are written for macOS. The steps look identical on the surface — but Windows has its own file paths, permission quirks, Node.js behaviors, and npx issues that cause silent failures that macOS users never encounter.

This guide is specifically for Windows users setting up MCP servers in Cursor IDE. If you've followed a generic MCP guide and it didn't work, this is the fix.

Where the mcp.json File Lives on Windows

On macOS, the MCP config is at ~/.cursor/mcp.json. On Windows, the equivalent path is:

C:\Users\\.cursor\mcp.json

If the .cursor folder doesn't exist yet, create it manually. The full path should be:

C:\Users\YourUsername\.cursor\mcp.json

Important: The dot prefix on .cursor can cause issues in Windows Explorer — Explorer hides folders starting with a dot by default. Use the address bar to navigate directly to %USERPROFILE%\.cursor\ or create the folder via command prompt:

mkdir %USERPROFILE%\.cursor

Basic mcp.json Template for Windows

{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
}
}
}
}

The structure is identical to macOS — but the execution environment is where Windows diverges.

Step 1: Install Node.js Correctly for Windows

MCP servers run via npx, which requires Node.js. The version matters.

1. Download Node.js 20 LTS from nodejs.org
2. Use the Windows Installer (.msi) — not the zip version
3. During installation, check "Automatically install the necessary tools"
4. After install, open a new Command Prompt (not PowerShell) and verify:

node --version
npx --version

Both should return version numbers. If they don't, Node.js isn't in your PATH.

Fixing PATH issues:
1. Search "Environment Variables" in Windows search
2. Click "Edit the system environment variables"
3. Under "System variables", find "Path" and edit it
4. Add: C:\Program Files\nodejs\
5. Restart Command Prompt and try again

Step 2: Handle the npx Execution Policy Issue

Windows PowerShell blocks script execution by default. If Cursor's MCP servers fail silently, this is often the cause.

Open PowerShell as Administrator and run:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

This allows locally created scripts to run while still blocking unsigned remote scripts. After running this, restart Cursor completely.

Step 3: Use Full Paths When npx Doesn't Work

On Windows, Cursor sometimes can't find npx in PATH even when it works fine in your terminal. The fix is to use the full path to npx:

Find where npx is installed:

where npx

This will return something like:

C:\Program Files\nodejs\npx.cmd

Use that full path in your mcp.json:

{
"mcpServers": {
"github": {
"command": "C:\\Program Files\\nodejs\\npx.cmd",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
}
}
}
}

Note the double backslashes — JSON requires backslashes to be escaped as \\. Using single backslashes will cause a JSON parse error.

Step 4: For Python-Based MCP Servers

Some MCP servers run via Python (uv or uvx) rather than Node.js. On Windows:

{
"mcpServers": {
"filesystem": {
"command": "uvx",
"args": ["mcp-server-filesystem", "C:\\Users\\YourUser\\Documents"]
}
}
}

Install uv for Windows:

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

After install, restart Cursor. Use forward slashes or double backslashes in directory paths within mcp.json.

Step 5: Running MCP Servers via WSL (Windows Subsystem for Linux)

If you're using WSL (Ubuntu/Debian) alongside Cursor on Windows, you can point Cursor's MCP config to WSL executables:

{
"mcpServers": {
"github": {
"command": "wsl",
"args": ["npx", "-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
}
}
}
}

This runs the MCP server inside your WSL environment while Cursor on Windows connects to it. Works well if your dev tools are primarily WSL-based.

Common Windows-Specific Errors

"command not found: npx"


Cursor can't locate npx. Use the full path approach from Step 3.

"Error: spawn npx ENOENT"


Same root cause as above — ENOENT means the file wasn't found. Full path fix applies.

Server shows in config but no tools appear in Cursor


1. Check that your mcp.json is valid JSON (no trailing commas, proper escaping)
2. Open Cursor's Output panel → select "MCP" from dropdown
3. Look for startup errors — usually missing env variable or failed npx install

"Cannot find module" errors


The npx package hasn't downloaded yet. Run the command manually first:
npx -y @modelcontextprotocol/server-github

Let it download, then restart Cursor.

Cursor crashes when MCP server starts


Often caused by an MCP server trying to write to a path that doesn't exist on Windows. Check if the server requires a temp directory or cache path and create it manually.

"Access is denied" errors


Run Cursor as Administrator once to let it install the MCP server packages. After the first install, you can run as a normal user.

Verifying Your Setup Works

After configuring mcp.json and restarting Cursor:

1. Open Cursor settings (Ctrl + ,)
2. Search for "MCP"
3. You should see your configured servers listed with a green status indicator

Alternatively, open Cursor chat (Ctrl + L) and ask:

What MCP tools do you have available?

Cursor will list all active MCP tools. If the list is empty, the servers aren't loading — go back to the troubleshooting steps above.

Multiple MCP Servers on Windows

You can run as many servers as you need:

{
"mcpServers": {
"github": {
"command": "C:\\Program Files\\nodejs\\npx.cmd",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token"
}
},
"notion": {
"command": "C:\\Program Files\\nodejs\\npx.cmd",
"args": ["-y", "@modelcontextprotocol/server-notion"],
"env": {
"NOTION_API_TOKEN": "your_notion_token"
}
}
}
}

Each server runs as a separate process. Windows handles this fine — the main constraint is memory, not Windows-specific.

---

Related Guides


  • Cursor IDE MCP Setup: Complete Guide (2026)

  • GitHub MCP Server: Cursor IDE Setup (2026)

  • Debug MCP Server Issues: Complete Troubleshooting Guide

  • Best MCP Servers for Developers (2026)