使用说明

项目简介

ArgoCD MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在桥接自然语言处理能力和 ArgoCD GitOps 系统。通过此服务器,用户可以使用 AI 助手和大型语言模型,以自然语言的方式查询 ArgoCD 中的应用程序信息、服务器设置、版本信息,并执行应用程序管理操作,例如创建、更新、删除和同步应用程序。

主要功能点

  • 用户认证与会话管理:从 ArgoCD API 获取用户信息,支持基于 Token 的认证,并能访问服务器配置和插件信息。
  • 应用程序管理:支持列出和过滤应用程序,获取应用详情,创建、更新、删除和同步应用程序。
  • API 客户端:提供健壮的 ArgoCD API 客户端,处理 URL 规范化、错误处理、超时和 SSL 验证,保障Token安全。
  • 开发者友好:代码具备完整的静态类型检查、详细文档和示例,以及基于环境变量的配置。
  • 丰富的工具集:提供用于会话管理、服务器设置、版本信息和应用程序管理的工具,方便 LLM 进行调用。

安装步骤

  1. 克隆仓库
    git clone https://github.com/severity1/argocd-mcp.git
    cd argocd-mcp
  2. 创建并激活虚拟环境 (推荐使用 uv 或 pip)
    uv venv  # 或 python3 -m venv .venv
    source .venv/bin/activate # 或 source .venv/Scripts/activate (Windows)
  3. 安装依赖
    uv pip install -e . # 或 pip install -e .

服务器配置

MCP 客户端(例如 Claude)需要配置 MCP 服务器的启动命令和参数才能连接。以下是 'claude_desktop_config.json' 的配置示例,用于 Claude Desktop 客户端:

{
  "mcpServers": {
    "argocd-mcp": {
      "command": "/path/to/uv",  // uv 执行文件的完整路径,可以使用 'which uv' 或 'where uv' 查找
      "args": [
        "--directory",          // 指定工作目录
        "/path/to/argocd-mcp",  // argocd-mcp 仓库的完整路径
        "run",                  // 运行命令
        "server.py"             // 服务器启动脚本
      ],
      "env": {
        "ARGOCD_TOKEN": "YOUR_ARGOCD_TOKEN",          // 必须配置,ArgoCD API Token
        "ARGOCD_API_URL": "https://your-argocd-server.com/api/v1", // 可选,ArgoCD API URL,默认为 https://argocd.example.com/api/v1
        "ARGOCD_VERIFY_SSL": "true"                     // 可选,是否验证 SSL 证书,默认为 true
      }
    }
  }
}

注意

  • 请将 '/path/to/uv' 和 '/path/to/argocd-mcp' 替换为实际路径。
  • 'ARGOCD_TOKEN' 必须配置,请替换为你的 ArgoCD API Token。
  • 'ARGOCD_API_URL' 和 'ARGOCD_VERIFY_SSL' 为可选配置,可以根据你的 ArgoCD 环境进行设置。

基本使用方法

  1. 启动服务器 根据仓库 'README.md' 提供的 "Starting the Server" 部分,选择合适的方式启动服务器。例如,使用 'uv run server.py' 命令,并确保已设置 'ARGOCD_TOKEN' 等环境变量。
  2. 连接 Claude
    • Claude Code CLI: 使用 'claude mcp add' 命令添加 MCP 服务器,例如:
      claude mcp add argocd-mcp "uv run $(pwd)/server.py"
      或带 Token 的方式:
      claude mcp add argocd-mcp -e ARGOCD_TOKEN=YOUR_ARGOCD_TOKEN -- "uv run $(pwd)/server.py"
    • Claude Desktop: 配置 'claude_desktop_config.json' 文件,并确保 Claude Desktop 客户端加载了该配置文件。
  3. 使用自然语言与 ArgoCD 交互 连接成功后,即可在 Claude 中使用自然语言指令与 ArgoCD 进行交互,例如:
    • "What's my user information in ArgoCD?" (查询用户信息)
    • "What version of ArgoCD is running on the server?" (查询 ArgoCD 版本)
    • "What applications do I have in the 'production' project?" (列出指定项目下的应用程序)
    • "Sync the api-service application" (同步指定应用程序)

请参考 'README.md' 中的 "Example Conversations" 部分,了解更多使用示例。

信息

分类

开发者工具