产品定位
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 令牌
安装教程
```bash
克隆仓库
git clone https://github.com/yourusername/argocd-mcp.git
cd argocd-mcp
创建虚拟环境并激活
uv venv
source .venv/bin/activate
安装依赖
uv pip install -e .
```
启动服务器
```bash
使用 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 验证:
bash
export ARGOCD_VERIFY_SSL=false
uv run server.py
- 检查环境变量是否设置正确:
bash
env | grep ARGOCD