MCP-NVM桥接工具

一个使MCP服务器在NVM环境下无缝运行的桥接工具,解决路径解析和环境变量传递问题。

  • by josharsh
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 josharsh/mcp-nvm-bridge

使用说明

mcp-nvm桥

桥接使MCP(模型上下文协议)服务器与NVM(节点版本管理器)无缝工作。

问题

使用NVM(节点版本管理器)时,MCP服务器无法正常运行,原因如下:

  • npx 使用了错误的Node.js版本
  • 由于路径不正确,模块解析失败
  • NVM中的环境变量未被传递
  • 标准MCP安装说明不起作用

这影响了数百万使用NVM进行Node.js版本管理的开发人员。

解决方案

mcp-nvm-bridge 自动检测NVM,解析正确的路径,并桥接MCP服务器,使其与您的NVM设置完美配合。不再需要手动配置或路径搜索!

安装

npm install -g mcp-nvm-bridge

用法

基本用法

与其纠结于路径,不如使用 mcp-nvm-bridge:

# Run any MCP server through the bridge
mcp-nvm-bridge @modelcontextprotocol/server-filesystem /home

# With arguments
mcp-nvm-bridge @modelcontextprotocol/server-github --token YOUR_TOKEN

# Local servers work too
mcp-nvm-bridge ./my-local-server.js --port 3000

生成Claude桌面配置

自动生成Claude Desktop的配置文件:

# Generate config for multiple servers
mcp-nvm-bridge --generate-config filesystem github memory

# This creates/updates the Claude Desktop config with proper paths

快速设置

在一个命令中安装和配置服务器:

# Install and configure the filesystem server
mcp-nvm-bridge --setup filesystem

# This will:
# 1. Install the server globally
# 2. Generate the configuration
# 3. Verify everything works

运作原理

  1. 检测NVM -检查多个指示器以确定NVM是否处于活动状态
  2. 解析路径 -查找正确的Node.js、npm和模块路径
  3. 桥梁施工 -在适当的环境中生成MCP服务器
  4. 保存stdio -保持MCP所需的精确stdio通道

配置

Claude桌面配置

运行后 --generate-config,你的 claude_desktop_config.json 将包含:

{
  "mcpServers": {
    "filesystem": {
      "command": "mcp-nvm-bridge",
      "args": ["@modelcontextprotocol/server-filesystem", "/home"]
    },
    "github": {
      "command": "mcp-nvm-bridge", 
      "args": ["@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "your-token-here"
      }
    }
  }
}

环境变量

  • MCP_NVM_DEBUG=true -启用调试输出
  • MCP_NVM_SILENT=true -抑制信息性消息

故障排除

调试模式

使用调试输出运行以查看发生了什么:

MCP_NVM_DEBUG=true mcp-nvm-bridge @modelcontextprotocol/server-filesystem

常见问题

找不到服务器

  • 确保服务器已安装: npm install -g @modelcontextprotocol/server-filesystem
  • 或者让npx自动处理它

权限不足

  • 检查文件权限: chmod +x your-server.js
  • 确保NVM具有适当的权限

仍然不工作吗?

  • 检查NVM是否处于活动状态: nvm --version
  • 尝试上述调试模式
  • 打开调试输出的问题

程序化使用

您还可以通过编程方式使用mcp-nvm桥:

const { bridge, isNVMActive, getNVMInfo } = require('mcp-nvm-bridge');

// Check if NVM is active
if (isNVMActive()) {
  console.log('NVM detected!');
  console.log(getNVMInfo());
}

// Bridge a server programmatically
const child = await bridge('@modelcontextprotocol/server-filesystem', ['/home']);

支持的平台

  • ✅ macOS
  • ✅ Linux
  • ✅ WSL(Linux的Windows子系统)
  • ❌ Windows(本机)-适用于Windows的NVM使用不同的结构

它如何解决问题

无mcp-nvm桥(损坏)

# This fails with NVM
npx @modelcontextprotocol/server-filesystem

# Error: Cannot find module...

带mcp-nvm桥(工作)

# This just works!
mcp-nvm-bridge @modelcontextprotocol/server-filesystem

贡献

欢迎投稿!请随时提交拉取请求。看 贡献.md 了解详情。

许可证

MIT© 苛刻的乔希

致谢

  • 感谢Anthropic创建了模型上下文协议
  • 感谢用于Node.js版本管理的NVM项目
  • 感谢所有报告问题并帮助测试的开发人员

链接