Token导航 LogoToken导航TokenDH.com
MCP Command Exec logo
AI代理未说明官方级别未说明来源级核验

MCP Command Exec

MCP Server

MCP命令执行器是一个通过MCP协议安全执行系统命令的服务器实现,通过允许列表确保安全性。

工具数

1

提示词数

0

GitHub Stars

1

资源数

0
命令执行安全执行GoClaude服务器工具Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

cnosuke

提供方

cnosuke

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP命令执行器

MCP命令执行器是一种服务器实现,允许通过MCP协议安全执行系统命令。此服务器通过仅执行在分配列表中注册的命令来确保安全性。

特性

  • 通过MCP协议执行命令
  • 使用满列表进行命令过滤
  • 可通过环境变量自定义允许的命令
  • 命令执行的环境变量支持

- 配置文件中的全局环境变量 - 每个命令的环境变量

  • 命令执行结果作为文本输出

需求

  • 转到1.24或更高版本
  • github/metoro-io/mcp-golang
  • 中列出的其他依赖项 go.mod

安装

go install github.com/cnosuke/mcp-command-exec

或者克隆存储库并手动构建:

git clone https://github.com/cnosuke/mcp-command-exec.git
cd mcp-command-exec
make build

配置

服务器是通过一个YAML文件(默认:config.yml)配置的。例如:

# Logging configuration
log: 'log/mcp-command-exec.log'
debug: false

command_exec:
  allowed_commands:
    - git
    - ls
    - mkdir
    - cd
    - npm
    - npx
    - python
  # Working directory settings
  default_working_dir: '/home/user'
  allowed_dirs:
    - '/home/user/projects'
    - '/tmp'
  # Path search settings
  search_paths:
    - '/usr/local/bin'
    - '/usr/bin'
  path_behavior: 'prepend' # prepend, replace, append
  # Global environment variables
  environment:
    HOME: '/home/user'
    GOPATH: '/home/user/go'
    GOMODCACHE: '/home/user/go/pkg/mod'
    LANG: 'en_US.UTF-8'

您可以使用环境变量覆盖配置:

  • LOG_PATH:日志文件的路径
  • DEBUG:启用调试模式(真/假)
  • ALLOWED_COMMANDS:逗号分隔的允许命令列表(覆盖配置文件)

例子:

ALLOWED_COMMANDS=git,ls,cat,echo mcp-command-exec server

日志记录

日志行为通过配置进行控制:

  • 如果 log 在配置文件中设置,日志将写入指定文件
  • 如果 log 为空,将不会生成日志
  • debug: true 用于更详细的日志记录

命令行参数

启动服务器时,您可以指定各种设置:

./bin/mcp-command-exec server [options]

选项:

  • --config, -c:配置文件的路径(默认:“config.yml”)。

MCP工具规格

commandexec

执行系统命令。

参数:

  • command:要执行的命令(字符串)
  • working_dir:命令执行的可选工作目录
  • env:此命令执行的可选环境变量(对象)

- 优先于配置文件中的环境变量 - 例子: {"DEBUG": "1", "LANG": "en_US.UTF-8"}

响应:

  • 成功:命令执行结果(stdout/stderr)
  • 失败:错误消息

示例(JSON请求):

{
  "method": "tool",
  "id": "1",
  "params": {
    "name": "command_exec",
    "input": {
      "command": "ls -la",
      "working_dir": "/home/user/project",
      "env": {
        "DEBUG": "1",
        "LANG": "en_US.UTF-8"
      }
    }
  }
}

安全

此服务器通过以下方法确保安全性:

  1. 仅执行包含在列表中的命令
  2. 不使用shell直接执行命令,防止shell注入
  3. 通过前缀验证命令(例如。, ls 是允许的,但 ls;rm -rf 被拒绝)
  4. 环境变量的安全处理和超控控制
  5. 严格的错误处理

发展

建筑

make build

测试

make test

跑步

make run

与Claude Desktop一起使用

要与Claude Desktop集成,请在您的 claude_desktop_config.json 文件:

{
  "mcpServers": {
    "command": {
      "command": "./bin/mcp-command-exec",
      "args": ["server"],
      "env": {
        "LOG_PATH": "mcp-command-exec.log",
        "DEBUG": "false",
        "ALLOWED_COMMANDS": "git,ls,cat,echo,find"
      }
    }
  }
}

致谢

这个项目的灵感来自 命令执行器mcp服务器 Sunwood人工智能实验室。我们感谢他们在命令执行的MCP服务器实现方面的开创性工作。

许可证

麻省理工学院

作者:cnosuke(x.com/cnosuke)

目录标签

目录标签

命令执行安全执行GoClaude服务器工具本地部署MCP协议系统管理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP