SuperAPI AI 工具集

cli-mcp-server

cli-mcp-server 是一个面向 MCP(Model Context Protocol,模型上下文协议)客户端的安全命令行执行服务器实现,由 MladenSU 开发并在 GitHub 上以 MIT 许可证开源。它的核心目标是为 LLM 应用提供受控的 CLI(命令行)访问能力,同时通过一系列安全机制保证执行过程可控。它提供 run_command 和 show_security_rules 两个工具:前者在允许的目录内执行白名单命令,后者展示当前的安全配置。安全特性包括命令白名单(支持 all 选项)、参数白名单、路径遍历防护与路径校验、Shell 操作符注入阻断(&&、|、>、>> 默认禁用,可通过 ALLOW_SHELL_OPERATORS=true 开启)、命令长度限制、执行超时、工作目录限制、符号链接解析与校验。服务器通过环境变量进行配置,可集成到 Claude Desktop 中,并支持通过 Smithery 自动安装。它适合需要为 LLM 应用提供受控命令行能力的场景,帮助在保持安全的前提下扩展模型的操作范围。

访问官网

工具介绍

用途

cli-mcp-server 是一个安全的 MCP(Model Context Protocol)服务器实现,用于执行受控的命令行操作。它为 MCP 客户端(例如 Claude Desktop)提供命令行接口,使 LLM 应用能够在严格的安全策略下运行 CLI 命令,适合需要向 LLM 应用开放受控 CLI 访问、同时维持安全边界的场景。

主要能力

  • 可用工具:run_command(在允许的目录内执行白名单命令)、show_security_rules(显示当前安全配置与限制)。
  • 安全特性:命令白名单,支持 'all' 选项;参数(flag)白名单,支持 'all' 选项;路径遍历防护与规范化;Shell 操作符注入防护(&&、|、>、>> 默认不支持,可通过 ALLOW_SHELL_OPERATORS=true 启用);命令长度限制;执行超时;工作目录限制与校验;符号链接解析与校验。
  • 支持异步操作。
  • 提供详细错误信息,包括:安全违规(CommandSecurityError)、命令超时(CommandTimeoutError)、命令格式无效、路径安全违规、执行失败(CommandExecutionError)、通用命令错误(CommandError)。
  • 服务器通过环境变量配置。设置 ALLOWED_COMMANDS 或 ALLOWED_FLAGS 为 'all' 将分别允许任意命令或参数。

使用方式

  • 与 Claude Desktop 配合:将配置添加到 ~/Library/Application Support/Claude/claude_desktop_config.json。如果未生效或未在界面中显示,可通过 uv clean 清理缓存。
  • 可通过 Smithery 自动为 Claude Desktop 安装 CLI MCP Server。
  • 开发与发布:同步依赖并更新 lockfile 使用 uv sync;构建包使用 uv build,会在 dist/ 目录生成源码包和 wheel 包;发布到 PyPI 使用 uv publish --token {{YOUR_PYPI_API_TOKEN}}。
  • 调试:由于 MCP 服务器通过 stdio 运行,调试可能较困难,官方推荐使用 MCP Inspector,可通过 npm 命令启动;启动后 Inspector 会显示一个 URL,可在浏览器中访问以开始调试。

适用场景

需要为 LLM 应用提供受控命令行能力的场景,例如在受限目录与白名单命令范围内执行操作,同时希望具备路径校验、超时与长度限制等安全控制。

限制

  • Shell 操作符默认不支持,需要通过 ALLOW_SHELL_OPERATORS=true 显式开启。
  • 命令必须位于白名单中,除非 ALLOWED_COMMANDS='all';参数必须位于白名单中,除非 ALLOWED_FLAGS='all'。
  • 所有路径都会被校验为必须位于 ALLOWED_DIR 之内。
  • 本项目采用 MIT 许可证。
  • 资料未提供具体的价格、收费方式、支持平台范围或性能指标。
  • 更多信息或支持请在项目仓库中提交 issue。