返回 MCP 目录
public公开dns本地运行

Remote Command

一个支持跨平台远程命令执行的MCP服务器,提供统一的命令执行接口

article

README

🚀 远程命令 MCP 服务器

远程命令 MCP 服务器是一个基于 Model Context Protocol (MCP) 的服务器,它支持在不同操作系统间远程执行命令。该服务器提供了统一的接口来执行 shell 命令,还能自动处理 Windows 和 Unix-like 系统之间的平台差异,极大地提升了跨系统操作的便利性。

🚀 快速开始

远程命令 MCP 服务器可以让你在不同操作系统之间轻松实现远程命令执行。下面为你介绍如何快速搭建并使用该服务器。

✨ 主要特性

  • 🌐 跨平台命令执行:支持在不同操作系统之间执行命令。
  • ⚙️ Windows 和 Unix 之间的命令自动标准化:自动处理不同系统间命令差异。
  • 🛠️ 内建错误处理和详细错误讯息:提供详细的错误信息,方便排查问题。
  • 📤 包含 stdoutstderr 的回应:完整反馈命令执行结果。
  • 📁 迁移命令执行限制到特定目录:可指定命令执行的目录。
  • 🖥️ 根据平台选择合适的 Shell:自动适配不同系统的 Shell。

📦 安装指南

按照以下步骤安装远程命令 MCP 服务器:

  1. 下载项目代码。
  2. 变更工作目录到项目根目录。
  3. 执行安装命令:
npm install
  1. 建立可执行文件:
npm run build

💻 使用示例

基础用法

使用 execute_remote_command 工具执行命令。以下是一些使用示例:

示例 1:执行 ls 在 Unix 系统,等同于 dir 在 Windows

execute_remote_command({
  command: "list",
  cwd: "."
});

示例 2:查询 .disk 文件

execute_remote_command({
  command: "find . -name '*.disk'",
  cwd: "/home/user"
});

📚 详细文档

安全注意事项

为确保服务器的安全使用,请遵循以下注意事项:

  1. 限制命令执行目录使用 cwd
  2. 避免执行具有提升权限的命令。
  3. 控制 MCP 服务器的访问权限。
  4. 监控敏感操作。

平台命令处理

命令转换

不同系统之间的命令转换关系如下:

  • lsdir
  • cpcopy
  • rmdel

Shell

不同系统使用的 Shell 如下:

  • Windows: cmd.exe
  • Unix/Linux: /bin/sh

错误处理

服务器提供详细错误讯息,包含在回应中。如果命令失败,您将收到错误讯息,其中包含有关出错的详细信息。示例错误回应如下:

{
  "content": [
    {
      "type": "text",
      "text": "命令执行错误:命令以退出代码 1 失败"
    }
  ],
  "isError": true
}

开发

项目结构

remote-command-server/
├── src/
│   └── index.ts    # 主服务器实现
├── package.json
├── tsconfig.json
└── README.md

构建

执行以下命令编译 TypeScript 代码并在 build 目录中创建可执行文件:

npm run build

贡献指南

欢迎为项目做出贡献,贡献步骤如下:

  1. 分叉项目库。
  2. 创建功能分支 (git checkout -b feature/amazing-feature)。
  3. 提交更改 (git commit -m '添加一些惊人的功能')。
  4. 推送到分支 (git push origin feature/amazing-feature)。
  5. 开启 Pull Request。

📄 许可证

此项目遵循 MIT 许可证 - 请参阅 LICENSE 文件以获取细节。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端