コンテンツにスキップ

How the Argo CD MCP Server Simplifies Kubernetes GitOps

チェック

  • [ ] 本文を確認した
  • [ ] 概要を確認した
  • [ ] タグを確認した
  • [ ] inbox/ 直下へ移行した

概要

Argo CD MCP Server を使い、AI アシスタントから自然言語で Argo CD のアプリケーション状態確認、同期、リソース調査を行う記事。 MCP Server が AI と Argo CD API の間に入り、アプリ一覧、sync 状態、resource tree、logs、events、predefined actions などを操作できるようにする。 VS Code、Cursor、Claude など MCP 対応クライアントから GitOps 運用を補助する構成。

本文

Argo CD は Kubernetes の GitOps ツール。 Git リポジトリにある desired state と、クラスタ上の actual state を比較し、差分を同期する。 通常は Web UI、CLI、API を使って、アプリケーション一覧、sync 状態、health、差分、resource tree を確認する。

記事で紹介されている Argo CD MCP Server は、AI assistant が Argo CD とやり取りするための橋渡し。 ユーザーは自然言語で質問し、AI は MCP server を通じて Argo CD API を呼び出す。

何ができるか

例として、次のような質問や操作ができる。

default namespace のアプリケーションを一覧して
payment-service は sync 済み?
staging の checkout app を同期して
このアプリの resource tree を見せて
失敗している Pod の events を確認して

AI は単に一般知識で答えるのではなく、MCP server を通じて実際の Argo CD の状態を取得する。 これにより、IDE や AI チャットから離れずに GitOps の状態確認ができる。

MCP Server の役割

MCP Server は、自然言語と Argo CD API の間にある adapter。 AI assistant は MCP の tool として、Argo CD の application management や resource inspection を呼び出す。

主な機能は次のように整理できる。

  • application の list / get / create / update / delete
  • application の sync 実行
  • sync status / health status の取得
  • resource tree の取得
  • managed resources の確認
  • logs や events の取得
  • predefined actions の実行

GitOps 運用では、アプリケーションの状態確認、同期、差分確認、失敗時の resource 調査が多い。 MCP Server はそれらを AI に呼び出せる操作として提供する。

要件

記事で示される要件は次の通り。

  • Node.js 18 以上
  • Argo CD endpoint
  • Argo CD API token
  • MCP 対応 assistant

VS Code、Cursor、Claude など、MCP server を登録できる環境で使う。

VS Code の設定例

.vscode/mcp.json に server を登録する。

{
  "servers": {
    "argocd-mcp-stdio": {
      "type": "stdio",
      "command": "npx",
      "args": ["argocd-mcp@latest", "stdio"],
      "env": {
        "ARGOCD_BASE_URL": "<argocd_url>",
        "ARGOCD_API_TOKEN": "<argocd_token>"
      }
    }
  }
}

ARGOCD_BASE_URL には Argo CD の URL、ARGOCD_API_TOKEN には API token を入れる。 token は強い権限を持つ可能性があるため、ローカルファイル、環境変数、権限範囲、漏洩対策を考える必要がある。

アプリケーション作成の例

デモとして、Prometheus の Helm chart を使った Argo CD application 作成が挙げられている。 自然言語では、次のような依頼になる。

prometheus app を作成して。
auto-sync を有効にして。
repo は https://github.com/prometheus-community/helm-charts.git。
chart/path は prometheus。
cluster は https://kubernetes.default.svc。
namespace は prometheus。

AI は MCP Server を通じて Argo CD application を作成する。 その後、sync 状態や health を確認できる。

使いどころ

Argo CD MCP Server は、次のような場面に向く。

  • IDE から離れずに GitOps 状態を確認したい。
  • アプリケーション一覧、sync 状態、health を自然言語で確認したい。
  • 失敗時に resource tree、events、logs を AI と一緒に追いたい。
  • GitOps 初学者が Argo CD CLI/API を覚える前に状態確認したい。

一方で、AI に production sync や delete を自由に実行させるのは危険。 MCP server に渡す Argo CD token の権限、対象 project、RBAC、read-only / write の分離、承認フローを設計する必要がある。

読み替え

この記事は、MCP を「AI に外部システムの現在状態を安全に渡すインターフェース」として見る例。 GitOps は Git とクラスタ状態の差分が中心なので、AI が実状態を読めると調査がかなり進めやすくなる。

ただし、AI が見た状態をもとに勝手に同期・削除・変更する設計は危険。 最初は read-only token で status、resource tree、events、logs の取得に限定し、write 操作は人間承認を挟むのが現実的。

要点

  • Argo CD MCP Server は AI assistant と Argo CD API の橋渡しをする。
  • 自然言語で application list、sync status、health、resource tree、events、logs を確認できる。
  • .vscode/mcp.jsonnpx argocd-mcp@latest stdio を登録する。
  • ARGOCD_BASE_URLARGOCD_API_TOKEN が必要。
  • アプリ作成や sync も可能だが、本番では RBAC と承認が重要。
  • 最初は read-only で状態確認に使うのが安全。

タグ

argocd #mcp #gitops #kubernetes #ai