这是为 Argo CD 实现的 Model Context Protocol (MCP) 服务器,使AI助手能够通过自然语言与您的Argo CD应用程序进行交互。此服务器允许通过标准I/O和HTTP流传输协议无缝集成到Visual Studio Code和其他MCP客户端中。
<a href="https://glama.ai/mcp/servers/@akuity/argocd-mcp"> <img width="380" height="200" src="https://gips3.baidu.com/it/u=838542064,723056052&fm=3081&app=3081&f=PNG?w=760&h=400" alt="argocd-mcp MCP 服务器" /> </a><img src="https://img.shields.io/badge/VS_Code-VS_Code?style=flat-square&label=安装服务器&color=0098FF" alt="在VS Code中安装"> <img alt="在VS Code Insiders中安装" src="https://img.shields.io/badge/VS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=安装服务器&color=24bfa5">
该服务器提供了以下ArgoCD管理工具:
list_applications:列出并过滤所有应用程序get_application:获取特定应用程序的详细信息create_application:创建新应用程序update_application:更新现有应用程序delete_application:删除应用程序sync_application:触发应用程序的同步操作get_application_resource_tree:获取特定应用程序的资源树get_application_managed_resources:获取特定应用程序的托管资源get_application_workload_logs:获取应用程序工作负载(Pods、Deployments等)的日志get_resource_events:获取由应用程序管理的资源事件get_resource_actions:获取资源可用的操作run_resource_action:运行资源上的操作.cursor/mcp.json文件:{
"mcpServers": {
"argocd-mcp": {
"command": "npx",
"args": [
"argocd-mcp@latest",
"stdio"
],
"env": {
"ARGOCD_BASE_URL": "<argocd_url>",
"ARGOCD_API_TOKEN": "<argocd_token>"
}
}
}
}
.vscode/mcp.json文件:{
"servers": {
"argocd-mcp-stdio": {
"type": "stdio",
"command": "npx",
"args": [
"argocd-mcp@latest",
"stdio"
],
"env": {
"ARGOCD_BASE_URL": "<argocd_url>",
"ARGOCD_API_TOKEN": "<argocd_token>"
}
}
}
}
claude_desktop_config.json配置文件:{
"mcpServers": {
"argocd-mcp": {
"command": "npx",
"args": [
"argocd-mcp@latest",
"stdio"
],
"env": {
"ARGOCD_BASE_URL": "<argocd_url>",
"ARGOCD_API_TOKEN": "<argocd_token>"
}
}
}
}
如果您的Argo CD实例使用自签名证书或来自私有证书颁发机构(CA)的证书,您可能需要在配置中添加以下环境变量:
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
这将在连接到使用自签名证书或来自不受系统证书存储信任的私有CA的证书的Argo CD实例时禁用Node.js的TLS证书验证。
警告:禁用SSL验证会降低安全性。仅在开发环境中或理解安全影响的情况下使用此设置。
如果您希望在只读模式下运行MCP服务器以避免修改资源或应用程序,应设置环境变量:
"MCP_READ_ONLY": "true"
这将禁用以下工具:
create_applicationupdate_applicationdelete_applicationsync_applicationrun_resource_action默认情况下,所有工具都可用。
git clone https://github.com/argoproj-labs/mcp-for-argocd.git
cd mcp-for-argocd
pnpm install
pnpm run dev
一旦服务器运行,您可以在Visual Studio Code或其他MCP客户端中利用MCP服务器。
要根据最新的Argo CD API规范更新TypeScript类型定义:
从ArgoCD发布页面下载swagger.json文件,例如这里是ArgoCD v2.14.11的swagger.json链接。
将下载的swagger.json文件放置在argocd-mcp项目的根目录中。
运行以下命令从Swagger定义生成TypeScript类型。这将创建或覆盖src/types/argocd.d.ts文件:
pnpm run generate-types
更新src/types/argocd-types.ts文件,以从新生成的src/types/argocd.d.ts导出所需的类型。这一步通常需要手动审查,以确保仅暴露必要的类型。
该项目最初由Akuity的@jiachengxu、@imwithye、@hwwn和@alexmt创建并捐赠。