本项目是一个安全的模型上下文协议(MCP)服务器实现,专为通过模型上下文协议进行交互设计,可在具备全面安全功能的环境下执行命令。
使用以下命令安装项目依赖项:
pip install -r requirements.txt
要启动 MCP 服务器,请运行:
python cli_mcp_server.py
;、& 等。服务器可以通过以下环境变量进行配置:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
ALLOWED_COMMANDS |
允许执行的命令列表(逗号分隔) | echo,ls,-h |
ALLOWED_FLAGS |
允许使用的标志列表(逗号分隔) | -l,-a,--help |
MAX_COMMAND_LENGTH |
命令的最大允许长度 | 1024 |
COMMAND_TIMEOUT |
命令的超时时间(秒) | 30 |
WORKING_DIRECTORY |
默认的工作目录 | 当前工作目录 |
run_command用于在受控环境中执行命令。支持以下操作:
{
"command": "echo",
"args": ["hello", "world"],
"flags": ["-n"]
}
show_security_rules显示当前服务器的安全策略配置,包括允许的命令、标志和工作目录限制。
在 Claude 桌面环境中集成此服务器时,请按照以下步骤进行配置:
{
"mcpServers": {
"cli-mcp-server": {
"command": "uv",
"args": ["run", "cli-mcp-server"],
"env": {
"ALLOWED_COMMANDS": "echo,ls,-h",
"ALLOWED_FLAGS": "-l,-a,--help,--version",
"MAX_COMMAND_LENGTH": "1024",
"COMMAND_TIMEOUT": "30"
}
}
}
}
{
"mcpServers": {
"cli-mcp-server": {
"command": "uvx",
"args": ["cli-mcp-server"],
"env": {
"ALLOWED_COMMANDS": "echo,ls,-h",
"ALLOWED_FLAGS": "-l,-a,--help,--version",
"MAX_COMMAND_LENGTH": "1024",
"COMMAND_TIMEOUT": "30"
}
}
}
}
此 CLI MCP 服务器旨在通过模型上下文协议提供一个安全且功能丰富的命令执行环境。它支持命令白名单、标志验证、路径遍历预防等功能,确保在受控环境中运行命令。
服务器提供详细的错误消息以处理以下情况:
错误信息将通过标准输出或环境变量进行报告。
此文档详细介绍了如何配置和使用 MCP 服务器。如需更多信息,请参考源代码或联系开发团队。