
ArgoCD MCP Server

2025.03.18
6
PythonKubernetes 管理DevOps 自动化开发效率
ArgoCD MCP Server 是一个基于模型上下文协议(MCP)的服务,通过与 ArgoCD API 集成,使 AI 助手和大型语言模型能够通过自然语言交互来管理 ArgoCD 应用程序和资源。该服务提供了用户认证、会话管理、应用程序管理等功能,并具备强大的 API 客户端和开发者友好的体验。
View on GitHub
Overview
产品定位
ArgoCD MCP Server 是一个中间件服务,旨在通过自然语言交互简化 ArgoCD 应用程序的管理。它充当了 AI 助手和 ArgoCD API 之间的桥梁,使非技术用户也能轻松管理 Kubernetes 部署。
核心功能
- 认证与会话管理
- 从 ArgoCD API 获取用户信息
- 基于令牌的 ArgoCD 认证
- 服务器设置和配置访问
- 插件信息检索
-
版本信息检索
-
应用程序管理
- 按项目、名称、命名空间列出和筛选应用程序
- 获取详细的应用程序信息
- 创建、更新和删除应用程序
-
可配置选项同步应用程序
-
强大的 API 客户端
- URL 规范化和智能端点处理
- 全面的错误处理和详细的错误消息
- 可配置的超时和 SSL 验证
-
令牌安全保护和掩码
-
开发者体验
- 使用 mypy 进行完整的静态类型检查
- 详细的文档和示例
- 基于环境的配置
适用场景
- AI 辅助的 DevOps:让 AI 助手帮助开发者和运维人员管理 ArgoCD 应用程序
- 自然语言界面:为不熟悉 ArgoCD CLI 的用户提供自然语言交互方式
- 自动化工作流:集成到自动化工作流中,通过 API 管理应用程序
- 教育和培训:作为学习 ArgoCD 的交互式工具
工具列表
- 会话工具
-
get_user_info
:通过 api/v1/session/userinfo 获取当前用户信息 -
设置工具
get_settings
:获取包括 UI、OIDC 和其他配置的 ArgoCD 服务器设置-
get_plugins
:获取有关已配置 ArgoCD 插件的信息 -
版本工具
-
get_version
:获取 API 服务器的版本信息 -
应用程序管理工具
list_applications
:获取所有应用程序并提供筛选选项get_application_details
:获取特定应用程序的详细信息create_application
:创建新应用程序update_application
:更新现有应用程序delete_application
:删除应用程序sync_application
:在应用程序上触发同步操作
常见问题解答
- SSL 证书问题:对于自签名证书,可以设置
ARGOCD_VERIFY_SSL=false
禁用 SSL 验证 - 环境变量检查:使用
env | grep ARGOCD
检查所有必需的 ArgoCD 环境变量是否已正确设置 - 调试工具:使用
mcp dev server.py
启动 MCP Inspector 进行调试 - 服务器日志:检查服务器日志以调试 API 调用和响应
使用教程
使用依赖
- Python 3.12+
- MCP(包括 FastMCP 和开发工具)
- uv 包管理器(推荐)或 pip
- ArgoCD API 令牌
安装教程
# 克隆仓库
git clone https://github.com/yourusername/argocd-mcp.git
cd argocd-mcp
# 创建虚拟环境并激活
uv venv
source .venv/bin/activate
# 安装依赖
uv pip install -e .
启动服务器
# 使用 MCP 开发工具(提供调试工具)
export ARGOCD_TOKEN=YOUR_ARGOCD_TOKEN
mcp dev server.py
# 使用 MCP run 命令
export ARGOCD_TOKEN=YOUR_ARGOCD_TOKEN
mcp run server.py
# 标准方法
export ARGOCD_TOKEN=YOUR_ARGOCD_TOKEN
uv run server.py
调试方式
- 检查服务器日志(默认启用信息日志)
- 使用
mcp dev server.py
启动 MCP Inspector 进行调试 - 对于 SSL 证书问题,可以禁用 SSL 验证:
export ARGOCD_VERIFY_SSL=false
uv run server.py
- 检查环境变量是否设置正确:
env | grep ARGOCD