远程主机MCP客户端

Node.js开发的远程主机服务器MCP客户端,支持与Claude Desktop等AI工具集成,提供远程SSH主机管理和终端会话控制功能。

  • by sairaph
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 laelhalawani/remote_hosts_client

使用说明

远程主机MCP客户端

远程主机服务器的Node.js MCP客户端。与Claude Desktop、Cursor和其他MCP兼容的AI工具配合使用。

安装

此软件包设计为直接运行 npx -无需安装!

使用Claude Desktop

将此添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
视窗: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "remote-hosts": {
      "command": "npx",
      "args": [
        "-y",
        "--package",
        "https://github.com/laelhalawani/remote_hosts_client",
        "remote-hosts-mcp",
        "--api-base",
        "https://localhost:8443"
      ],
      "env": {
        "NODE_TLS_REJECT_UNAUTHORIZED": "0"
      }
    }
  }
}

就是这样! 无路径,无安装,适用于任何操作系统。

需求

  • 已安装Node.js 18+
  • 远程主机服务器正在运行 https://localhost:8443 (或使用指定不同的URL --api-base)

可用的MCP工具

配置后,Claude将可以访问这9个工具:

  1. add_host -注册新的远程SSH主机
  2. 主机文件 -列出所有已配置的主机
  3. 终端会话 -列出主机上的终端会话
  4. 新终端 -创建新的终端会话
  5. 终端_发送 -向特定会话发送输入
  6. 终端读取 -读取特定会话的输出
  7. set_active_terminal -为速记命令设置活动会话
  8. 发送 -将输入发送到活动终端(速记)
  9. 读 -读取活动终端的输出(简写)

配置

自定义API URL

如果您的远程主机服务器正在其他计算机上运行:

{
  "command": "npx",
  "args": [
    "-y",
    "--package",
    "https://github.com/laelhalawani/remote_hosts_client",
    "remote-hosts-mcp",
    "--api-base",
    "https://192.168.1.100:8443"
  ],
  "env": {
    "NODE_TLS_REJECT_UNAUTHORIZED": "0"
  }
}

注: 这 NODE_TLS_REJECT_UNAUTHORIZED 环境变量禁用SSL证书验证。仅将其用于具有自签名证书的本地开发。对于生产,请使用适当的SSL证书。

本地测试

# Clone and test
git clone https://github.com/laelhalawani/remote_hosts_client
cd remote_hosts_client
npm install
node index.js --api-base https://localhost:8443

运作原理

此客户端充当以下之间的桥梁:

  • MCP协议 (stdio)↔ 远程主机API (HTTPS)

它将来自Claude Desktop的MCP工具调用转换为对远程主机服务器的HTTPS API请求,使Claude能够:

  • 管理远程SSH主机
  • 创建和控制终端会话
  • 执行命令并读取输出
  • 全部通过安全、加密的API连接

相关项目

  • 远程主机服务器 -管理SSH连接和终端会话的主后端服务器
  • 此客户端仅包含MCP接口-保持公共状态是安全的

许可证

麻省理工学院