MCP Shell Server

MCP Shell Server

site icon
2025.01.09 0
Pythonshell 命令执行远程执行开发效率
MCP Shell Server 是一个安全的 shell 命令执行服务器,实现了 Model Context Protocol (MCP)。该服务器允许远程执行白名单中的 shell 命令,并支持标准输入。其主要功能包括安全命令执行、标准输入支持、全面的输出返回、shell 操作符安全验证以及超时控制。适用于需要远程执行受限 shell 命令的场景,如自动化脚本执行、开发环境管理等。
View on GitHub

Overview

基本能力

产品定位

MCP Shell Server 是一个安全的 shell 命令执行服务器,专为需要远程执行受限 shell 命令的场景设计。

核心功能

  • 安全命令执行:仅允许执行白名单中的命令
  • 标准输入支持:通过 stdin 传递输入到命令
  • 全面输出:返回 stdout、stderr、退出状态和执行时间
  • Shell 操作符安全:验证 shell 操作符(; , &&, ||, |)后的命令
  • 超时控制:设置命令的最大执行时间

适用场景

  • 自动化脚本执行
  • 开发环境管理
  • 受限环境下的命令执行

工具列表

  • uvx:用于启动 mcp-shell-server
  • pip:用于安装 mcp-shell-server

常见问题解答

  1. 如何设置允许的命令? 通过 ALLOW_COMMANDSALLOWED_COMMANDS 环境变量指定允许的命令列表。
  2. 如何传递输入到命令? 使用 stdin 字段在请求中传递输入。
  3. 如何设置命令的超时时间? 在请求中使用 timeout 字段设置最大执行时间(秒)。

使用教程

使用依赖

  • Python 3.11 或更高版本
  • mcp>=1.1.0

安装教程

pip install mcp-shell-server

调试方式

  1. 启动服务器
ALLOW_COMMANDS="ls,cat,echo" uvx mcp-shell-server
  1. 发送请求
{
    "command": ["ls", "-l", "/tmp"]
}
  1. 检查响应
{
    "stdout": "command output",
    "stderr": "",
    "status": 0,
    "execution_time": 0.123
}

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。