返回 MCP 目录
public公开dns本地运行

cli-mcp-server

一个安全的MCP服务器实现,用于执行受控的命令行操作,具有全面的安全特性。

article

README

🚀 CLI MCP 服务器

本项目是一个安全的模型上下文协议(MCP)服务器实现,专为通过模型上下文协议进行交互设计,可在具备全面安全功能的环境下执行命令。


🚀 快速开始

依赖项安装

使用以下命令安装项目依赖项:

pip install -r requirements.txt

启动服务器

要启动 MCP 服务器,请运行:

python cli_mcp_server.py

✨ 主要特性

  • 命令白名单:允许指定可执行的命令及其支持的标志。
  • 标志验证:确保使用的标志符合预期。
  • 路径遍历预防:防止通过相对路径或符号链接进行恶意操作。
  • shell 操作符阻止:禁止使用危险的 shell 操作符,如 ;& 等。
  • 命令长度限制:防止过长的命令导致的安全风险。
  • 执行超时:设置命令的最大允许执行时间,防止长时间未响应的命令。
  • 工作目录限制:将命令限制在指定的工作目录内,防止越界访问。

📦 安装指南

服务器可以通过以下环境变量进行配置:

| 环境变量 | 描述 | 默认值 | |-------------------------|-----------------------------------|----------------------------| | ALLOWED_COMMANDS | 允许执行的命令列表(逗号分隔) | echo,ls,-h | | ALLOWED_FLAGS | 允许使用的标志列表(逗号分隔) | -l,-a,--help | | MAX_COMMAND_LENGTH | 命令的最大允许长度 | 1024 | | COMMAND_TIMEOUT | 命令的超时时间(秒) | 30 | | WORKING_DIRECTORY | 默认的工作目录 | 当前工作目录 |


💻 使用示例

可用工具

1. run_command

用于在受控环境中执行命令。支持以下操作:

  • 执行允许的命令。
  • 验证标志的有效性。
  • 确保路径的安全性。

输入格式

{
  "command": "echo",
  "args": ["hello", "world"],
  "flags": ["-n"]
}

2. show_security_rules

显示当前服务器的安全策略配置,包括允许的命令、标志和工作目录限制。

与 Claude 桌面的使用

在 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 服务器旨在通过模型上下文协议提供一个安全且功能丰富的命令执行环境。它支持命令白名单、标志验证、路径遍历预防等功能,确保在受控环境中运行命令。

错误处理

服务器提供详细的错误消息以处理以下情况:

  • 安全违规(CommandSecurityError)
  • 命令超时(CommandTimeoutError)
  • 无效命令格式
  • 路径安全违规
  • 执行失败

错误信息将通过标准输出或环境变量进行报告。

开发

此文档详细介绍了如何配置和使用 MCP 服务器。如需更多信息,请参考源代码或联系开发团队。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端