mcpField
S
Secure Command Executor MCP Server

Secure Command Executor MCP Server

本地服务
github.com/HappyAny开发工具083 周前更新

关于 Secure Command Executor MCP Server

面向需要配置和执行系统命令的团队的 MCP 服务,提供安全检查与操作日志。命令可通过配置文件定义,也可使用管理操作调整。

主要功能

  1. 01执行已配置的系统命令
  2. 02危险命令需确认
  3. 03添加、更新、启用或移除命令
  4. 04每日轮换日志并记录操作
  5. 05筛选命令与日志查询

适用场景

  1. 01通过 MCP 客户端运行获准的系统命令
  2. 02对危险操作要求确认
  3. 03查看命令历史与失败记录
  4. 04调整可用命令集

MCP 相关

向 MCP 客户端提供命令执行、命令管理和查询操作。危险命令可设置为需要确认。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

安全命令执行器 MCP 服务

这是一款稳健的命令执行 MCP 服务,支持每日轮转日志,旨在通过安全检查和日志记录,安全地管理和执行系统命令。本 README.md 由 DeepSeek V3 编写。

功能

  • 命令执行:执行系统命令,可选传入参数。
  • 安全检查:对危险命令发出警告,并要求确认。
  • 命令管理:添加、更新、移除、启用或禁用命令。
  • 日志记录:每日轮转日志,详细跟踪操作。
  • 查询工具:使用筛选条件查询可用命令和日志。

安装

  1. 克隆仓库:

    git clone https://github.com/HappyAny/secure-command-executor-mcp-server.git
    cd secure-command-executor-mcp-server
    
  2. 安装依赖项:

    npm install minimist
    npm install @modelcontextprotocol/sdk
    npm install zod
    
  3. 配置服务:

    • 修改 commands.json 以定义可用命令。
    • 设置环境变量(可选)。

用法

启动服务
node index.js --file commands.json --logs logs --port 3000
MCP 设置
{
    "mcpServers": {
        "cmd-exec": {
          "command": "node",
          "args": [
            "path_to_file/index.js",
            "--file",
            "path_to_file/commands.json",
            "--logs",
            "path_to_dict/logs"
          ]
        }
    }
}

命令文件

commands.json 文件用于定义可用命令。示例:

[
  {
    "name": "dir",
    "description": "List directory contents",
    "example": "dir /w",
    "dangerous": false,
    "enabled": true,
    "confirmationPrompt": "",
    "consequences": ""
  },
  {
    "name": "format",
    "description": "Format disk drive",
    "example": "format C:",
    "dangerous": true,
    "enabled": false,
    "confirmationPrompt": "This will PERMANENTLY erase all data. Confirm?",
    "consequences": "Permanent data loss"
  }
]
API 端点
执行命令
curl -X POST http://localhost:3000/execute -H "Content-Type: application/json" -d '{"command": "dir", "args": "/w"}'
查询命令
curl -X GET http://localhost:3000/queryCommands?filter=enabled&detailed=true
管理命令
curl -X POST http://localhost:3000/manageCommand -H "Content-Type: application/json" -d '{"action": "add", "name": "ping", "description": "Test network connection", "example": "ping example.com"}'
查询日志
curl -X GET http://localhost:3000/queryLogs?limit=50&filter=failed

配置

  • 环境变量:

    • NODE_ENV:设置为 production 以启用生产模式。
    • PORT:覆盖默认端口(3000)。
  • 命令行参数:

    • --file:命令文件的路径(默认:commands.json)。
    • --logs:日志目录的路径(默认:logs)。
    • --port:服务运行端口(默认:3000)。

日志记录

日志存储在指定目录中,并按日轮转。每个日志文件命名为 YYYY-MM-DD.json。

贡献

欢迎提交拉取请求。如需进行重大更改,请先创建 issue,讨论您希望进行的更改。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。