Closed ChanMeng666 closed 1 week ago
This solution is inspired by and builds upon the workaround discussed in Issue #64. While the original solution was for macOS, this implementation is specifically for Windows systems using NVM (Node Version Manager).
When using NVM or standard Node.js installation, the default configuration using npx
commands fails to connect MCP servers in Claude Desktop.
The solution involves:
npx
Open Command Prompt (CMD) as administrator and run:
where node
This will show your Node.js executable path. Example output:
D:\Program\nvm\node.exe
Then find your global npm packages location:
npm root -g
Example output:
D:\Program\nvm\node_modules
Run these commands in CMD:
npm install -g @modelcontextprotocol/server-filesystem
npm install -g @modelcontextprotocol/server-github
npm install -g @modelcontextprotocol/server-memory
npm install -g @modelcontextprotocol/server-puppeteer
npm install -g @modelcontextprotocol/server-brave-search
npm install -g @modelcontextprotocol/server-google-maps
npm install -g @modelcontextprotocol/server-postgres
Check each package installation:
npm list -g @modelcontextprotocol/server-filesystem
npm list -g @modelcontextprotocol/server-github
npm list -g @modelcontextprotocol/server-memory
npm list -g @modelcontextprotocol/server-puppeteer
npm list -g @modelcontextprotocol/server-brave-search
npm list -g @modelcontextprotocol/server-google-maps
npm list -g @modelcontextprotocol/server-postgres
Expected output format:
D:\Program\nvm -> .\
`-- @modelcontextprotocol/server-[package-name]@0.5.1
Modify your claude_desktop_config.json
with the following content (adjust paths according to your system):
{
"mcpServers": {
"sqlite": {
"command": "uvx",
"args": [
"mcp-server-sqlite",
"--db-path",
"D:\\github_repository\\test.db"
]
},
"filesystem": {
"command": "D:\\Program\\nvm\\node.exe",
"args": [
"D:\\Program\\nvm\\node_modules\\@modelcontextprotocol\\server-filesystem\\dist\\index.js",
"D:\\github_repository",
"D:\\github_repository\\image-generator"
]
},
"github": {
"command": "D:\\Program\\nvm\\node.exe",
"args": [
"D:\\Program\\nvm\\node_modules\\@modelcontextprotocol\\server-github\\dist\\index.js"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": ""
}
},
"postgres": {
"command": "D:\\Program\\nvm\\node.exe",
"args": [
"D:\\Program\\nvm\\node_modules\\@modelcontextprotocol\\server-postgres\\dist\\index.js",
"postgresql://localhost/mydb"
]
},
"memory": {
"command": "D:\\Program\\nvm\\node.exe",
"args": [
"D:\\Program\\nvm\\node_modules\\@modelcontextprotocol\\server-memory\\dist\\index.js"
]
},
"puppeteer": {
"command": "D:\\Program\\nvm\\node.exe",
"args": [
"D:\\Program\\nvm\\node_modules\\@modelcontextprotocol\\server-puppeteer\\dist\\index.js"
]
},
"brave-search": {
"command": "D:\\Program\\nvm\\node.exe",
"args": [
"D:\\Program\\nvm\\node_modules\\@modelcontextprotocol\\server-brave-search\\dist\\index.js"
],
"env": {
"BRAVE_API_KEY": ""
}
},
"google-maps": {
"command": "D:\\Program\\nvm\\node.exe",
"args": [
"D:\\Program\\nvm\\node_modules\\@modelcontextprotocol\\server-google-maps\\dist\\index.js"
],
"env": {
"GOOGLE_MAPS_API_KEY": ""
}
},
"fetch": {
"command": "uvx",
"args": [
"mcp-server-fetch"
]
}
},
"globalShortcut": "Ctrl+Q"
}
\\
) in all Windows pathsuvx
commands unchangedenv
sections if neededAfter restart, all MCP servers should connect successfully. The uvx
-based servers will continue to work as before, and the npm-based servers should now connect properly with the new configuration.
If you encounter issues:
dir
commandnpm list -g
This solution has been tested on Windows 11 (Build 22631.4460) with Node.js managed by NVM.
I'm getting the opposite 😆
Thanks a ton! Solved my issue.
thanks a lot, it works under windows 11. highlight:make sure to check step 2 and step 3,especially the command has been executed successfully under step2.
trying to add simple DDG MCP, but getting error... any proper guides for python? in the docs seem having problem with the file dir.. working in windows
followed the instructions on windows 10, i only got memory and pupeteer working
followed the instructions on windows 10, i only got memory and pupeteer working
you may check the rest tools at step2(installed successful) and step3(the path alignment with config file )
Sorry, this is the same issue as https://github.com/modelcontextprotocol/servers/issues/40. We're working on a fix. 🙏
Perfect! Thanks so much. (Edit: The only one that didn't work was Github.)- Re-Edit, got Github working and made a repo, had to do some steps in Poweshell to post but easy enough considering I don't know how to code. Edited the JSON below for Github with what worked.
{ "mcpServers": { "sqlite": { "command": "uvx", "args": [ "mcp-server-sqlite", "--db-path", "C:/Users/angry/OneDrive/Desktop/ai_workspace/core.db" ] }, "filesystem": { "command": "C:/Program Files/nodejs/node.exe", "args": [ "C:/Program Files/nodejs/node_modules/@modelcontextprotocol/server-filesystem/dist/index.js", "C:/Users/angry/OneDrive/Desktop/ai_workspace", "C:/Users/angry/OneDrive/Desktop/ai_workspace/servers" ] }, "github": { "command": "C:/Program Files/nodejs/node.exe", "args": [ "C:/Program Files/nodejs/node_modules/@modelcontextprotocol/server-github/dist/index.js" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "Your-token" } } }, "postgres": { "command": "C:/Program Files/nodejs/node.exe", "args": [ "C:/Program Files/nodejs/node_modules/@modelcontextprotocol/server-postgres/dist/index.js", "postgresql://localhost/mydb" ] }, "memory": { "command": "C:/Program Files/nodejs/node.exe", "args": [ "C:/Program Files/nodejs/node_modules/@modelcontextprotocol/server-memory/dist/index.js" ] }, "puppeteer": { "command": "C:/Program Files/nodejs/node.exe", "args": [ "C:/Program Files/nodejs/node_modules/@modelcontextprotocol/server-puppeteer/dist/index.js" ] }, "brave-search": { "command": "C:/Program Files/nodejs/node.exe", "args": [ "C:/Program Files/nodejs/node_modules/@modelcontextprotocol/server-brave-search/dist/index.js" ], "env": { "BRAVE_API_KEY": "" } }, "google-maps": { "command": "C:/Program Files/nodejs/node.exe", "args": [ "C:/Program Files/nodejs/node_modules/@modelcontextprotocol/server-google-maps/dist/index.js" ], "env": { "GOOGLE_MAPS_API_KEY": "" } }, "fetch": { "command": "uvx", "args": [ "mcp-server-fetch" ] } }, "globalShortcut": "Ctrl+Q" }
followed the instructions on windows 10, i only got memory and pupeteer working
you may check the rest tools at step2(installed successful) and step3(the path alignment with config file )
I got it working , i had referenced the full path of the node executable instead of just "node"
Let me fetch and examine that issue to better understand the uvx vs npx situation:
I apologize - let me try using the search function instead to find relevant information:
Ah, this is quite interesting! From what I can gather:
Looking at your JSON configuration, you've cleverly used:
This explains why your setup works when others fail! The reason many people struggle is likely because they're trying to use npx for everything, not realizing the distinction between Python-based and TypeScript-based servers.
Given this understanding, I think we have a few options for implementing multi-database support:
Would you like me to explore any of these approaches? Also, this explains how you got 49 tools working - you've managed to get both the Python (uvx) and Node.js based tools functioning correctly, which is quite an achievement!
{ "mcpServers": { "sqlite": { "command": "uvx", "args": [ "mcp-server-sqlite", "--db-path", "C:\Users\angry\OneDrive\Desktop\ai_workspace\sages_house\sqlite3_db_storage\core.db" ] }, "filesystem": { "command": "C:/Program Files/nodejs/node.exe", "args": [ "C:/Program Files/nodejs/node_modules/@modelcontextprotocol/server-filesystem/dist/index.js", "C:/Users/angry/OneDrive/Desktop/ai_workspace", "C:/Users/angry/OneDrive/Desktop/ai_workspace/memory", "F:/", "D:/"
]
},
"github": {
"command": "C:/Program Files/nodejs/node.exe",
"args": [
"C:/Program Files/nodejs/node_modules/@modelcontextprotocol/server-github/dist/index.js",
"https://github.com/angrysky56"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "x"
}
},
"postgres": {
"command": "C:/Program Files/nodejs/node.exe",
"args": [
"C:/Program Files/nodejs/node_modules/@modelcontextprotocol/server-postgres/dist/index.js",
"postgresql://localhost/mydb"
]
},
"memory": {
"command": "C:/Program Files/nodejs/node.exe",
"args": [
"C:/Program Files/nodejs/node_modules/@modelcontextprotocol/server-memory/dist/index.js"
]
},
"puppeteer": {
"command": "C:/Program Files/nodejs/node.exe",
"args": [
"C:/Program Files/nodejs/node_modules/@modelcontextprotocol/server-puppeteer/dist/index.js"
]
},
"brave-search": {
"command": "C:/Program Files/nodejs/node.exe",
"args": [
"C:/Program Files/nodejs/node_modules/@modelcontextprotocol/server-brave-search/dist/index.js"
],
"env": {
"BRAVE_API_KEY": "x"
}
},
"google-maps": {
"command": "C:/Program Files/nodejs/node.exe",
"args": [
"C:/Program Files/nodejs/node_modules/@modelcontextprotocol/server-google-maps/dist/index.js"
],
"env": {
"GOOGLE_MAPS_API_KEY": "x"
}
},
"fetch": {
"command": "uvx",
"args": [
"mcp-server-fetch"
]
}
}, "globalShortcut": "Ctrl+Q" }
Thank you, this worked for me
Environment
System Information
Configuration File
Location:
\Claude\claude_desktop_config.json