返回市场
argo cds MCP

argo cds MCP

作者:argoproj-labs272 星标更新:2025-11-16

项目介绍

Argo CD MCP 服务器

这是为 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-mcp-demo

功能

  • 传输协议:支持标准I/O和HTTP流传输模式,以灵活地与不同客户端集成
  • 完整的Argo CD API集成:提供对Argo CD资源和操作的全面访问
  • AI助手就绪:预配置工具供AI助手使用自然语言与Argo CD进行交互

可用工具

该服务器提供了以下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:运行资源上的操作

安装

先决条件

  • Node.js(推荐版本18或更高)
  • pnpm包管理器(用于开发)
  • 具有API访问权限的Argo CD实例
  • Argo CD API令牌(参见文档中的说明

使用Cursor

  1. 遵循Curosr文档中的MCP支持部分,并在项目中创建一个.cursor/mcp.json文件:
{
  "mcpServers": {
    "argocd-mcp": {
      "command": "npx",
      "args": [
        "argocd-mcp@latest",
        "stdio"
      ],
      "env": {
        "ARGOCD_BASE_URL": "<argocd_url>",
        "ARGOCD_API_TOKEN": "<argocd_token>"
      }
    }
  }
}
  1. 使用代理模式启动对话以使用MCP。

使用VSCode

  1. 遵循在VS Code中使用MCP服务器的文档,并在项目中创建一个.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>"
      }
    }
  }
}
  1. 在支持MCP的VS Code中启动与AI助手的对话。

使用Claude Desktop

  1. 遵循Claude Desktop中的MCP文档,并创建一个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>"
      }
    }
  }
}
  1. 在设置中配置Claude Desktop以使用此配置文件。

自签名证书

如果您的Argo CD实例使用自签名证书或来自私有证书颁发机构(CA)的证书,您可能需要在配置中添加以下环境变量:

"NODE_TLS_REJECT_UNAUTHORIZED": "0"

这将在连接到使用自签名证书或来自不受系统证书存储信任的私有CA的证书的Argo CD实例时禁用Node.js的TLS证书验证。

警告:禁用SSL验证会降低安全性。仅在开发环境中或理解安全影响的情况下使用此设置。

只读模式

如果您希望在只读模式下运行MCP服务器以避免修改资源或应用程序,应设置环境变量:

"MCP_READ_ONLY": "true"

这将禁用以下工具:

  • create_application
  • update_application
  • delete_application
  • sync_application
  • run_resource_action

默认情况下,所有工具都可用。

开发

  1. 克隆仓库:
git clone https://github.com/argoproj-labs/mcp-for-argocd.git
cd mcp-for-argocd
  1. 安装项目依赖:
pnpm install
  1. 启动带有热重载功能的开发服务器:
pnpm run dev

一旦服务器运行,您可以在Visual Studio Code或其他MCP客户端中利用MCP服务器。

更新ArgoCD类型

要根据最新的Argo CD API规范更新TypeScript类型定义:

  1. ArgoCD发布页面下载swagger.json文件,例如这里是ArgoCD v2.14.11的swagger.json链接

  2. 将下载的swagger.json文件放置在argocd-mcp项目的根目录中。

  3. 运行以下命令从Swagger定义生成TypeScript类型。这将创建或覆盖src/types/argocd.d.ts文件:

    pnpm run generate-types
    
  4. 更新src/types/argocd-types.ts文件,以从新生成的src/types/argocd.d.ts导出所需的类型。这一步通常需要手动审查,以确保仅暴露必要的类型。

致谢

该项目最初由Akuity@jiachengxu@imwithye@hwwn@alexmt创建并捐赠。