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.jsonでnpx argocd-mcp@latest stdioを登録する。ARGOCD_BASE_URLとARGOCD_API_TOKENが必要。- アプリ作成や sync も可能だが、本番では RBAC と承認が重要。
- 最初は read-only で状態確認に使うのが安全。