MCP Shell Server
一个安全的服务器,它实现了模型上下文协议(MCP),以支持对授权的 shell 命令进行受控执行,并支持标准输入 (stdin)。
README
MCP Shell 服务器
一个安全的 shell 命令执行服务器,实现了模型上下文协议 (MCP)。 该服务器允许远程执行授权的 shell 命令,并支持通过 stdin 输入。
功能
- 安全命令执行: 仅允许执行授权的命令
- 标准输入支持: 通过 stdin 将输入传递给命令
- 全面输出: 返回 stdout、stderr、退出代码和执行时间
- Shell 操作符安全: 验证 shell 操作符 (;, &&, ||, |) 后的命令
- 超时控制: 设置命令的最大执行时间
在您的 Claude.app 中配置 MCP 客户端
已发布版本
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"
}
},
}
}
安装
pip install mcp-shell-server
用法
启动服务器
ALLOW_COMMANDS="ls,cat,echo" uvx mcp-shell-server
# 或使用别名
ALLOWED_COMMANDS="ls,cat,echo" uvx mcp-shell-server
环境变量 ALLOW_COMMANDS
(或其别名 ALLOWED_COMMANDS
) 指定允许执行哪些命令。 命令可以用逗号分隔,逗号周围可以有可选的空格。
ALLOW_COMMANDS 或 ALLOWED_COMMANDS 的有效格式:
ALLOW_COMMANDS="ls,cat,echo" # 基本格式
ALLOWED_COMMANDS="ls ,echo, cat" # 带空格 (使用别名)
ALLOW_COMMANDS="ls, cat , echo" # 多个空格
请求格式
# 基本命令执行
{
"command": ["ls", "-l", "/tmp"]
}
# 带 stdin 输入的命令
{
"command": ["cat"],
"stdin": "Hello, World!"
}
# 带超时的命令
{
"command": ["long-running-process"],
"timeout": 30 # 最大执行时间,单位为秒
}
# 带工作目录和超时的命令
{
"command": ["grep", "-r", "pattern"],
"directory": "/path/to/search",
"timeout": 60
}
响应格式
成功响应:
{
"stdout": "命令输出",
"stderr": "",
"status": 0,
"execution_time": 0.123
}
错误响应:
{
"error": "不允许的命令: rm",
"status": 1,
"stdout": "",
"stderr": "不允许的命令: rm",
"execution_time": 0
}
安全性
该服务器实现了多种安全措施:
- 命令白名单: 仅允许执行明确允许的命令
- Shell 操作符验证: shell 操作符 (;, &&, ||, |) 后的命令也会根据白名单进行验证
- 无 Shell 注入: 命令直接执行,无需 shell 解释
开发
设置开发环境
- 克隆存储库
git clone https://github.com/yourusername/mcp-shell-server.git
cd mcp-shell-server
- 安装依赖项,包括测试需求
pip install -e ".[test]"
运行测试
pytest
API 参考
请求参数
字段 | 类型 | 必需 | 描述 |
---|---|---|---|
command | string[] | 是 | 命令及其参数,作为数组元素 |
stdin | string | 否 | 要传递给命令的输入 |
directory | string | 否 | 执行命令的工作目录 |
timeout | integer | 否 | 最大执行时间,单位为秒 |
响应字段
字段 | 类型 | 描述 |
---|---|---|
stdout | string | 命令的标准输出 |
stderr | string | 命令的错误输出 |
status | integer | 退出状态码 |
execution_time | float | 执行所花费的时间(以秒为单位) |
error | string | 错误消息(仅在失败时存在) |
要求
- Python 3.11 或更高版本
- mcp>=1.1.0
许可证
MIT 许可证 - 有关详细信息,请参见 LICENSE 文件
推荐服务器

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
AIO-MCP Server
🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。
https://github.com/Streen9/react-mcp
react-mcp 与 Claude Desktop 集成,能够根据用户提示创建和修改 React 应用程序。

any-chat-completions-mcp
将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。
Exa MCP Server
一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。
MySQL MCP Server
允许人工智能助手通过受控界面列出表格、读取数据和执行 SQL 查询,从而使数据库探索和分析更安全、更有条理。
browser-use MCP server
一个由人工智能驱动的浏览器自动化服务器,它实现了模型上下文协议,从而能够使用自然语言控制网页浏览器,以执行诸如导航、表单填写和视觉交互等任务。
mcp-codex-keeper
作为开发知识的守护者,为 AI 助手提供精心策划的最新文档和最佳实践访问权限。

OpenRouter MCP Server
提供与 OpenRouter.ai 的集成,允许通过统一的界面访问各种 AI 模型。
Supabase MCP Server
通过提供数据库管理、SQL查询执行和Supabase管理API访问工具,并内置安全控制,使Cursor和Windsurf能够安全地与Supabase数据库交互。