MCP Shell Server

MCP Shell Server

site icon
2025.03.11 0
Pythonshell 命令执行远程执行安全执行开发效率
MCP Shell Server 是一个安全的远程执行 shell 命令的服务器,实现了模型上下文协议(MCP)。它允许通过 stdin 输入远程执行授权的 shell 命令,并提供了全面的输出信息,包括 stdout、stderr、退出代码和执行时间。
View on GitHub

Overview

基本能力

产品定位

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

核心功能

  • 安全命令执行:仅允许执行预先授权的命令
  • 标准输入支持:支持通过 stdin 向命令传递输入
  • 全面输出:返回 stdout、stderr、退出代码和执行时间
  • Shell 操作符安全验证:验证 shell 操作符(;, &&, ||, |)后的命令
  • 超时控制:可设置命令的最大执行时间

适用场景

  • 需要远程执行受限命令集的自动化任务
  • 开发环境中需要安全执行 shell 命令的场景
  • 需要监控命令执行时间和状态的自动化流程

工具列表

  • uvx:用于运行已发布的服务器版本
  • uv:用于运行本地开发版本
  • pytest:用于运行测试

常见问题解答

  1. 如何添加允许的命令? 通过设置 ALLOW_COMMANDSALLOWED_COMMANDS 环境变量
  2. 如何设置命令超时? 在请求中设置 timeout 字段
  3. 如何指定工作目录? 在请求中设置 directory 字段

使用教程

使用依赖

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

安装教程

已发布版本安装

pip install mcp-shell-server

开发环境设置

git clone https://github.com/yourusername/mcp-shell-server.git
cd mcp-shell-server
pip install -e ".[test]"

调试方式

启动服务器

ALLOW_COMMANDS="ls,cat,echo" uvx mcp-shell-server

运行测试

pytest

示例请求

{
    "command": ["ls", "-l", "/tmp"],
    "timeout": 30
}

许可证

该项目遵循 MIT 开源许可条款。