Argo CD MCP Server
Argo CD MCP サーバー
Argo CD 用の Model Context Protocol (MCP) サーバーの実装です。AI アシスタントが自然言語を通じて Argo CD アプリケーションと対話できるようになります。このサーバーにより、stdio および HTTP ストリーム転送プロトコルを介して、Visual Studio Code やその他の MCP クライアントとシームレスに統合できます。
特徴
転送プロトコル: stdio と HTTP ストリームの両方の転送モードをサポートし、さまざまなクライアントとの柔軟な統合が可能
完全な Argo CD API 統合: Argo CD リソースと操作への包括的なアクセスを提供
AI アシスタント対応: AI アシスタントが自然言語で Argo CD と対話するための事前設定済みツール
利用可能なツール
このサーバーは、以下の ArgoCD 管理ツールを提供します:
クラスター管理
list_clusters: 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: アプリケーションワークロード(Pod、Deployment など)のログを取得get_resource_events: アプリケーションによって管理されるリソースのイベントを取得get_resource_actions: リソースに対して利用可能なアクションを取得run_resource_action: リソースに対してアクションを実行
インストール
前提条件
Node.js (v18 以上を推奨)
pnpm パッケージマネージャー (開発用)
API アクセスが可能な Argo CD インスタンス
Argo CD API トークン (手順についてはドキュメントを参照)
Cursor での使用方法
MCP サポートに関する Cursor ドキュメント に従い、プロジェクト内に
.cursor/mcp.jsonファイルを作成します:
{
"mcpServers": {
"argocd-mcp": {
"command": "npx",
"args": [
"argocd-mcp@latest",
"stdio"
],
"env": {
"ARGOCD_BASE_URL": "<argocd_url>",
"ARGOCD_API_TOKEN": "<argocd_token>"
}
}
}
}エージェントモードで会話を開始し、MCP を使用します。
VSCode での使用方法
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>"
}
}
}
}VS Code で MCP をサポートする AI アシスタントとの会話を開始します。
Claude Desktop での使用方法
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>"
}
}
}
}設定でこの設定ファイルを使用するように Claude Desktop を構成します。
自己署名証明書
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
デフォルトでは、すべてのツールが利用可能です。
ステートレスモード
デフォルトでは、HTTP 転送は各クライアント接続にセッション ID を割り当て、アクティブなセッションのメモリ内マップを保持します。これは単一インスタンスのデプロイメントではうまく機能しますが、スティッキーセッションなしで複数のレプリカが実行されている場合は 400 エラーを引き起こします。これは、別の Pod にルーティングされたリクエストが、元の Pod で作成されたセッションを見つけられないためです。
セッションアフィニティの要件なしで実行するには、--stateless フラグを付けてサーバーを起動します:
node dist/index.js http --statelessまたは Docker を使用する場合:
docker run -e ARGOCD_BASE_URL=<argocd_url> -e ARGOCD_API_TOKEN=<argocd_token> \
argoprojlabs/mcp-for-argocd http --statelessステートレスモードでは:
Mcp-Session-Idは返されず、必要もありません。どのレプリカでもリクエストを処理できますArgoCD 資格情報は、環境変数または
x-argocd-base-url/x-argocd-api-tokenヘッダーを介して、すべてのリクエストで提供する必要がありますGET /mcpおよびDELETE /mcpは405 Method Not Allowedを返します(セッションレベルの SSE および終了はサポートされていません)
このモードは、ネットワークレベルのスティッキーセッションが利用できない、Horizontal Pod Autoscaling (HPA) を使用した Kubernetes デプロイメントに推奨されます。
開発用
リポジトリをクローンします:
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 サーバーを利用できます。
ArgoCD 型のアップグレード
最新の 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-typessrc/types/argocd-types.tsファイルを更新し、新しく生成されたsrc/types/argocd.d.tsから必要な型をエクスポートします。このステップでは、必要な型のみが公開されていることを確認するために手動での確認が必要になることがよくあります。
クレジット
このプロジェクトは、Akuity の @jiachengxu、@imwithye、@hwwn、および @alexmt によって作成され、寄贈されました。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/argoproj-labs/mcp-for-argocd'
If you have feedback or need assistance with the MCP directory API, please join our Discord server