MCP本地中继工具

MCP本地中继工具是一个命令行工具,作为桥梁将使用标准输入/输出的本地MCP客户端(如Claude Desktop)连接到远程MCP服务器,使其工具和资源在本地可用。

  • by trevoruptain
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 trevoruptain/mcp-local-relay

使用说明

MCP套件本地继电器

此命令行工具充当桥梁,允许使用标准输入/输出的本地MCP客户端(stdio),比如 克劳德桌面,与您使用配置的远程MCP服务器进行交互 MCP工具包Web应用程序.

它将请求代理到 一 每次访问目标服务器,使其工具和资源在本地可用。

入门(克劳德桌面示例)

按照以下步骤使用此中继将Claude Desktop连接到远程MCP服务器:

先决条件:

  • Node.js(建议使用v18或更高版本)
  • Node.js
  • Git

步骤:

  1. 克隆中继: 如果您还没有,请克隆此存储库并导航到以下目录:

    git clone https://github.com/trevoruptain/mcp-local-relay
    cd local-relay
    
  2. 安装依赖关系:

    npm install
    
  3. 配置继电器: 直接在内部创建两个配置文件 local-relay 文件夹:

    • .env 文件: 创建此文件并添加MCP工具包API密钥。您可以生成API密钥 这里.

      # Get your API Key from the MCP Kit Web App (app.mcpkit.ai) -> API Keys
      MCPKIT_API_KEY=your_api_key_here
      

      (替换 your_api_key_here 使用您的实际密钥)

    • mcpconfig.json 文件: 创建此文件并指定 单 您希望此中继连接到的远程MCP服务器。

      {
        "targetServerId": "your_target_server_id_here"
      }
      

      (替换 your_target_server_id_here 使用MCP Kit Web App->服务器页面上的服务器ID)

  4. 构建中继: 编译代码:

    npm run build
    

    这创建了一个 dist 包含必要JavaScript文件的目录。主要脚本是 dist/index.js.

  5. 配置Claude桌面: 您需要告诉Claude Desktop如何运行中继脚本。

    • 打开克劳德桌面设置(菜单->设置…->开发人员->编辑配置)。
    • 编辑 claude_desktop_config.json 文件。
    • 在下面添加条目 mcpServers.使用 node 随着 command 并提供 完整、绝对路径 到 dist/index.js 您刚刚构建的文件 args.
    {
      "mcpServers": {
        "my_mcp_server": {
          // Choose a name for Claude Desktop to display
          "command": "node",
          "args": [
            // Replace this with the *absolute* path!
            "/Users/yourname/path/to/local-relay/dist/index.js"
          ]
        }
      }
    }
    
    • 重要提示: 将示例路径替换为系统上的实际绝对路径。
    • 有关编辑Claude配置的详细说明,请参阅 本地中继文件. (注意:如果最终URL不同,请更新此链接)
  6. 重新启动克劳德桌面: 退出并完全重新启动Claude Desktop应用程序。

  7. 验证: 点击锤子图标 在Claude Desktop的聊天输入中。您应该看到目标服务器上的工具以您选择的名称列出(例如。, my_mcp_server).

现在,您可以直接在Claude Desktop中使用远程MCP服务器的工具!

手动运行继电器

您也可以直接从终端运行继电器(例如,用于测试或与其他设备一起使用 stdio 客户):

npm start

此命令执行 node --stack-size=32768 dist/index.js继电器将开始监听标准输入上的MCP命令。这 --stack-size 包含标志是为了防止在处理大型资源(如图像)时出现潜在的“超过最大调用堆栈大小”错误。

故障排除

  • Claude桌面问题:
    • 锤子图标缺失或工具未列出?
    • 仔细检查 绝对路径 向 dist/index.js 在……里面 claude_desktop_config.json.
    • 验证 npm run build 已完成,没有错误。
    • 确保 .env 和 mcpconfig.json 存在于 local-relay 目录,并包含正确的API密钥和服务器ID。
    • 检查Claude Desktop自己的日志(请参阅 MCP官方文件 位置)。
  • 继电器错误:
    • 检查 local-relay-debug.log 在中创建的文件 local-relay 来自中继本身的详细错误消息的目录。
    • 确保您的 MCP_SERVER_URL 在……里面 .env (或默认 http://localhost:3002)指向一个正在运行的实例 mcp-kit-server.
    • 确认您的 MCPKIT_API_KEY 是有效的。

发展

要在开发模式下运行继电器,并在代码更改时自动重启:

npm run dev

这使用 nodemon 和 ts-node.

贡献

欢迎投稿!请看 CONTRIBUTING.md 作为指导方针。

许可证

此项目根据MIT许可证获得许可-请参阅 LICENSE 文件以获取详细信息。