CLI MCP Server
为MCP客户端提供的命令行界面,具有安全执行和可自定义的安全策略。
概述
CLI MCP 服务器允许 LLM(如 Claude)通过模型上下文协议(MCP)安全地执行命令行操作,具有完善的安全特性。
快速安装
使用 Smithery 安装(适用于 Claude Desktop):
npx @smithery/cli install cli-mcp-server --client claude
基本配置
通过环境变量配置服务器:
{
"env": {
"ALLOWED_DIR": "</your/desired/dir>",
"ALLOWED_COMMANDS": "ls,cat,pwd,echo",
"ALLOWED_FLAGS": "-l,-a,--help,--version",
"MAX_COMMAND_LENGTH": "1024",
"COMMAND_TIMEOUT": "30"
}
}
注意:
ALLOWED_DIR
是必需的;将ALLOWED_COMMANDS
或ALLOWED_FLAGS
设为 'all' 允许任何命令/标志
与 Claude Desktop 集成
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json
:
{
"mcpServers": {
"cli-mcp-server": {
"command": "uvx",
"args": ["cli-mcp-server"],
"env": {
"ALLOWED_DIR": "</your/desired/dir>",
"ALLOWED_COMMANDS": "ls,cat,pwd,echo",
"ALLOWED_FLAGS": "-l,-a,--help,--version",
"MAX_COMMAND_LENGTH": "1024",
"COMMAND_TIMEOUT": "30"
}
}
}
}
如果设置后不显示,请尝试
uv clean
清除缓存
可用工具
run_command
执行白名单中的 CLI 命令,如:
run_command({"command": "ls -l"})
show_security_rules
显示当前安全配置和限制
安全特性
- ✅ 命令和标志白名单
- ✅ 路径遍历预防
- ✅ 阻止 Shell 操作符
- ✅ 执行超时和长度限制
- ✅ 工作目录限制
调试
使用 MCP Inspector 进行调试:
npx @modelcontextprotocol/inspector uv --directory /path/to/cli-mcp-server run cli-mcp-server