Run the 60-second checklist
Open Cursor's Output panel with Cmd+Shift+U on macOS or Ctrl+Shift+U on Windows/Linux, choose MCP Logs, and copy the first error without secrets. In a terminal, locate `npx`; then compare that path with the command in `.cursor/mcp.json` or `~/.cursor/mcp.json`. If Node was installed or changed while Cursor was open, fully quit and relaunch the app.
- Confirm Node and npm/npx are installed for the same user that runs Cursor.
- Confirm the config uses `command` for stdio and `url` for a remote server.
- Test the package command in a clean terminal before testing inside Cursor.
- Do not add a long timeout to an executable-not-found error.
Why the terminal and Cursor can see different PATH values
A GUI application may inherit its environment from the desktop session rather than an interactive shell startup file. Node version managers commonly modify PATH only when a shell initializes. Cursor therefore may not see the same `npx` that `which npx` or `where npx` finds in your terminal.
An absolute path is a useful diagnostic and sometimes a stable fix, but version-manager paths can change after upgrades. Prefer a stable launcher path or ensure the desktop environment receives the intended Node installation.
macOS and Linux checks
Use `command -v npx` or `which npx`, then run that exact path with `--version`. Put the resolved executable in the config temporarily, relaunch Cursor, and watch MCP Logs. If this fixes ENOENT, decide whether to keep the stable path or repair the environment that launches Cursor.
Locate and test npx
command -v npx
npx --version
# Example diagnostic only:
# "command": "/absolute/path/to/npx"Windows checks: `npx.cmd` and `cmd.exe /c`
Use `where npx` and `where node` in Command Prompt. Node's child-process documentation explains that `.cmd` files are not executable on their own on Windows; a launcher may need a shell or `cmd.exe /c`. Cursor's current docs require the command to be on PATH or supplied as a full path. Preserve JSON escaping for backslashes and quote paths with spaces correctly.
Locate Windows launchers
where node
where npm
where npx
npx --versionFallback config shape when direct npx launch fails
{
"mcpServers": {
"example": {
"type": "stdio",
"command": "C:\\Windows\\System32\\cmd.exe",
"args": ["/d", "/s", "/c", "npx.cmd", "-y", "example-mcp-server"]
}
}
}Verify the fix in MCP Logs
After ENOENT disappears, expect a different result: a running process, a package error, an initialization/discovery error, or listed capabilities. Cursor documents MCP Logs in the Output panel and shows server initialization, tool calls, and errors there. A successful process launch is not proof that the package initialized, exposed tools, or is safe.
Know when this guide no longer applies
If npm reports a missing package, correct the package name or registry. If the process exits, read stderr for runtime or credential requirements. If it connects but times out or exposes no tools, move to protocol, auth, or handler diagnostics. Keep the original error and sanitized config in an escalation packet so maintainers can reproduce the same stage.