CLI MCP 服务器
安全的模型上下文协议 (MCP) 服务器实现,用于执行具有全面安全功能的受控命令行操作。
目录
概述
此 MCP 服务器支持安全的命令行执行,并具备强大的安全措施,包括命令白名单、路径验证和执行控制。非常适合在保证安全性的同时,为 LLM 应用程序提供受控的 CLI 访问。
特征
🔒 通过严格验证来确保命令执行的安全
⚙️ 可配置命令和标志白名单,带有“全部”选项
🛡️ 路径遍历预防和验证
🚫 Shell 运算符注入保护
⏱️ 执行超时和长度限制
📝 详细的错误报告
🔄 异步操作支持
🎯 工作目录限制和验证
配置
使用环境变量配置服务器:
多变的 | 描述 | 默认 |
| 命令执行的基本目录(必需) | 无(必填) |
| 允许的命令的逗号分隔列表或“全部” |
|
| 允许标志的逗号分隔列表或“全部” |
|
| 最大命令字符串长度 |
|
| 命令执行超时(秒) |
|
| 允许 shell 运算符(&&、 |
注意:将ALLOWED_COMMANDS或ALLOWED_FLAGS设置为“all”将分别允许任何命令或标志。
安装
要通过Smithery自动为 Claude Desktop 安装 CLI MCP 服务器:
可用工具
运行命令
在允许的目录内执行白名单中的 CLI 命令。
输入模式:
安全说明:
Shell 运算符(&&、|、>、>>)默认不受支持,但可以通过
ALLOW_SHELL_OPERATORS=true启用除非 ALLOWED_COMMANDS='all',否则命令必须列入白名单
除非 ALLOWED_FLAGS='all',否则必须将标志列入白名单
所有路径均经过验证,位于 ALLOWED_DIR 范围内
显示安全规则
显示当前的安全配置和限制,包括:
工作目录
允许的命令
允许的标志
安全限制(最大命令长度和超时)
与 Claude Desktop 一起使用
添加到您的~/Library/Application\ Support/Claude/claude_desktop_config.json :
开发/未发布的服务器配置
已发布的服务器配置
如果它不起作用或不显示在 UI 中,请通过
uv clean清除缓存。
安全功能
✅ 使用“全部”选项执行白名单命令
✅ 使用“全部”选项标记验证
✅ 路径遍历预防和规范化
✅ Shell 操作员阻止(通过
ALLOW_SHELL_OPERATORS=true选择加入支持)✅ 命令长度限制
✅ 执行超时
✅ 工作目录限制
✅ 符号链接解析和验证
错误处理
服务器提供以下详细的错误消息:
安全违规(CommandSecurityError)
命令超时(CommandTimeoutError)
无效的命令格式
路径安全违规
执行失败(CommandExecutionError)
常规命令错误(CommandError)
发展
先决条件
Python 3.10+
MCP 协议库
构建和发布
准备分发包:
同步依赖项并更新锁文件:
uv sync构建软件包分发版:
uv build这将在
dist/目录中创建源和轮子分布。发布到 PyPI:
uv publish --token {{YOUR_PYPI_API_TOKEN}}
调试
由于 MCP 服务器通过 stdio 运行,调试起来可能比较困难。为了获得最佳调试体验,我们强烈建议使用MCP Inspector 。
您可以使用以下命令通过npm启动 MCP Inspector:
启动后,检查器将显示一个 URL,您可以在浏览器中访问该 URL 以开始调试。
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
如需更多信息或支持,请在项目存储库上打开一个问题。
local-only server
The server can only run on the client's local machine because it depends on local resources.
具有安全执行和可定制安全策略的命令行界面
Related MCP Servers
- Asecurity-licenseAqualityMCP server allowing any and all command execution over CMDLast updated -22521MIT License
- Asecurity-licenseAqualityA secure server for executing terminal commands within predefined paths, allowing safe interaction by Large Language Models with operating system environments.Last updated -17811MIT License
- -security-license-qualityAllows AI assistants to safely execute common Unix/macOS terminal commands through a controlled interface with comprehensive security features.Last updated -6MIT License
- -security-license-qualityA secure interface that enables language models to execute shell commands on the host operating system through the Model Context Protocol.Last updated -1