CLI MCP Server

CLI MCP Server

为MCP客户端提供的命令行界面,具有安全执行和可自定义的安全策略。

概述

CLI MCP 服务器允许 LLM(如 Claude)通过模型上下文协议(MCP)安全地执行命令行操作,具有完善的安全特性。

许可证 Python 版本 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_COMMANDSALLOWED_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