Mcp Shell Server

Mcp Shell Server

🚀 MCP Shell Server

MCP Shell Server是一个安全的命令执行服务器,实现了模型上下文协议(MCP)。它允许远程执行经过批准的shell命令,还支持通过stdin传递输入,为用户提供了安全且灵活的命令执行环境。

🚀 快速开始

启动服务器

ALLOW_COMMANDS="ls,cat,echo" uvx mcp-shell-server
# 或使用别名
ALLOWED_COMMANDS="ls ,echo, cat" uvx mcp-shell-server

ALLOW_COMMANDS(或其别名 ALLOWED_COMMANDS)环境变量指定允许执行的命令。命令之间用逗号分隔,可选空格。

ALLOW_COMMANDS的有效格式:

ALLOW_COMMANDS="ls,cat,echo"          # 基本格式
ALLOWED_COMMANDS="ls ,echo, cat"      # 包含空格的格式

请求示例

{
"id": "string",
"method": "shell",
"params": {
"command": "string"
}
}

✨ 主要特性

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

📦 安装指南

本地版本安装

pip install mcp-shell-server

💻 使用示例

基础用法

# 启动服务器并指定允许的命令
ALLOW_COMMANDS="ls,cat,echo" uvx mcp-shell-server

高级用法

# 使用别名指定允许的命令
ALLOWED_COMMANDS="ls ,echo, cat" uvx mcp-shell-server

📚 详细文档

MCP客户端配置在Claude.app中

发布版本

code ~/Library/Application\ Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"shell": {
"command": "uvx",
"args": [
"mcp-shell-server"
],
"env": {
"ALLOW_COMMANDS": "ls,cat,pwd,grep,wc,touch,find"
}
}
}
}

本地版本

配置
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"shell": {
"command": "uv",
"args": [
"--directory",
".",
"run",
"mcp-shell-server"
],
"env": {
"ALLOW_COMMANDS": "ls,cat,pwd,grep,wc,touch,find"
}
}
}
}

安全注意事项

  • 所有命令执行都在受控环境中进行。
  • 禁止危险的系统调用和文件操作。

🔧 技术细节

开发环境设置

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

📄 许可证

本项目采用MIT License,详见LICENSE文件。

  • 0 关注
  • 0 收藏,34 浏览
  • system 提出于 2025-09-29 23:48

相似服务问题

相关AI产品