项目简介

DevOps MCP Servers仓库是一个精选的 Model Context Protocol (MCP) 服务器实现集合,专门为DevOps工具和平台设计。这些服务器使得大型语言模型 (LLMs) 能够直接与流行的DevOps系统进行交互,为基础设施自动化、部署流水线、监控以及其他DevOps操作提供标准化的方式。

每个MCP服务器实现都提供了一套全面的工具,这些工具映射到各自DevOps平台的API,允许LLMs通过简单的函数调用执行复杂的操作。

主要功能点

  • 资源 (Resources) 管理: 通过标准化的MCP资源接口,LLM可以访问和操作各类DevOps平台的数据资源,例如:

    • Ansible Tower: 清单、主机、作业模板、项目等
    • Artifactory/Nexus: 制品仓库、组件、仓库配置等
    • Kubernetes: Pod、Service、Deployment、Namespace等
    • AWS/Azure/GCP: 云服务资源如EC2、虚拟机、存储桶等
  • 工具 (Tools) 注册与执行: 仓库为每个DevOps平台提供了一系列预定义的工具函数,LLM可以通过调用这些工具来执行特定的DevOps操作,例如:

    • 部署应用 (通过Ansible Tower/Jenkins/CircleCI)
    • 查询监控指标 (通过Datadog/Grafana/Prometheus/New Relic)
    • 管理云资源 (通过AWS/Azure/GCP SDK)
    • 操作制品仓库 (通过Artifactory/Nexus API)
    • 与Kubernetes集群交互 (通过Kubernetes Python客户端)
  • Prompt 模板 (Prompts): 虽然仓库本身没有直接提供Prompt模板,但MCP服务器的设计允许灵活定义和使用Prompt模板,以便根据不同的DevOps场景定制LLM的交互方式。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/a37ai/devops-mcp-servers.git
    cd devops-mcp-servers
  2. 选择服务器实现: 根据您需要集成的DevOps平台,进入相应的服务器目录。例如,要使用Consul MCP服务器,请进入 'servers/consul' 目录。

  3. 配置环境变量: 大多数服务器需要API凭证或令牌才能与其各自的服务进行交互。

    • 复制 '.env.example' 文件到 '.env',并根据服务器的 'README.md' 文件中的说明配置所需的环境变量,例如 Consul 服务器需要配置 'CONSUL_URL' 和 'CONSUL_TOKEN'。
    • 确保已安装 'python-dotenv' 库,可以使用 'pip install python-dotenv' 安装。
  4. 安装依赖: 每个服务器目录通常包含 'requirements.txt' 文件,使用 pip 安装所需的 Python 包。

    pip install -r requirements.txt
  5. 运行 MCP 服务器: 在服务器目录下,执行服务器主程序文件,通常是以 '_mcp.py' 结尾的 Python 文件。例如,运行 Consul MCP 服务器:

    python consul_mcp.py

服务器配置

MCP客户端需要配置连接到MCP服务器的信息。以下是一个通用的 JSON 格式配置示例,你需要根据实际使用的 MCP 服务器和客户端进行调整:

{
  "serverName": "consul-server",  //  MCP 服务器名称,例如 "consul-server", "datadog-server" 等,需要与具体服务器实现保持一致
  "command": "python",         //  运行 MCP 服务器的命令,通常是 Python 解释器
  "args": [                    //  命令参数
    "consul_mcp.py"         //  MCP 服务器主程序文件名,例如 "consul_mcp.py", "datadog_mcp.py" 等
  ],
  "transport": "stdio"         //  传输协议,通常使用 "stdio"
}

注意:

  • 'serverName' 必须与服务器实现中 'FastMCP()' 初始化时指定的名称一致 (例如 'FastMCP("consul-server")')。
  • 'command' 和 'args' 需要指向正确的 Python 解释器路径和服务器主程序文件路径。
  • 'transport' 通常设置为 'stdio' 以使用标准输入输出进行通信。
  • 具体的配置参数可能会因 MCP 客户端而异,请参考你使用的 MCP 客户端的文档。

基本使用方法

  1. 启动 MCP 服务器: 按照上述安装步骤,在相应的服务器目录下启动 MCP 服务器。

  2. 配置 MCP 客户端: 在你的 LLM 应用或 MCP 客户端中,配置连接到已启动的 MCP 服务器。配置信息通常包括服务器名称、启动命令、参数和传输协议(如上面的 JSON 配置示例)。

  3. 使用 LLM 调用工具和资源: 根据 MCP 客户端的文档,使用自然语言指令或编程方式,通过 MCP 客户端调用 MCP 服务器提供的工具 (Tools) 和资源 (Resources),与后端的 DevOps 系统进行交互。

  4. 查阅各服务器文档: 每个服务器目录下的 'README.md' 文件提供了更详细的安装、配置和使用说明,以及可用的工具和资源列表。请务必查阅相关文档以了解每个服务器的具体功能和使用方法。

信息

分类

开发者工具