ArgoCD MCP サーバー
ArgoCD API と統合された MCP (モデル コンテキスト プロトコル) サーバー。AI アシスタントと大規模言語モデルが自然言語の対話を通じて ArgoCD アプリケーションとリソースを管理できるようになります。
特徴
- 認証とセッション管理:
- ArgoCD APIからのユーザー情報取得
- ArgoCD によるトークンベースの認証
- サーバー設定と構成へのアクセス
- プラグイン情報の取得
- バージョン情報の取得
- アプリケーション管理:
- プロジェクト、名前、名前空間でアプリケーションを一覧表示およびフィルタリングします
- 詳細な申請情報を入手する
- アプリケーションの作成、更新、削除
- 設定可能なオプションでアプリケーションを同期する
- 堅牢なAPIクライアント:
- URLの正規化とインテリジェントなエンドポイント処理
- 包括的なエラー処理と詳細なエラーメッセージ
- 設定可能なタイムアウトとSSL検証
- トークンのセキュリティ保護とマスキング
- 開発者エクスペリエンス:
- mypy による完全な静的型チェック
- 詳細なドキュメントと例
- 環境ベースの構成
クイックスタート
設定
サーバーの起動
サーバーは環境変数を介して設定されます。利用可能な設定オプションは次のとおりです。
環境変数 | 説明 | デフォルト値 |
---|---|---|
ARGOCD_TOKEN | ArgoCD APIトークン | なし |
ARGOCD_API_URL | ArgoCD APIエンドポイント | https://argocd.example.com/api/v1 |
ARGOCD_VERIFY_SSL | SSL証明書を検証する | 真実 |
サーバーはいくつかの方法で起動できます。
トークンが環境変数経由で提供される場合、Claude はコマンドごとにトークンを指定しなくてもそれを使用できます。
クロードとのつながり
Claude Code CLIの使用
Claudeデスクトップの使用
claude_desktop_config.json
構成ファイルを作成します。
パスと構成値を実際の値に置き換えます。
- uv 実行ファイルへのフルパスを使用します(macOS/Linux では
which uv
、Windows ではwhere uv
で検索します) - argocd-mcpのインストールディレクトリへの正しいパスを設定します
- ArgoCD APIトークンを追加する
- 必要に応じて他の環境変数を設定します
この構成は、Claude Desktop に、特定の環境設定で MCP サーバーを自動的に起動する方法を指示します。
利用可能なツール
セッションツール
get_user_info
: api/v1/session/userinfo 経由で現在のユーザーの情報を取得します。
設定ツール
get_settings
: UI、OIDC、その他の構成を含む ArgoCD サーバーの設定を取得します。get_plugins
: 設定された ArgoCD プラグインに関する情報を取得します
バージョンツール
get_version
: APIサーバーのバージョン情報を取得する
アプリケーション管理ツール
list_applications
: フィルタリングオプションを使用してすべてのアプリケーションを取得しますget_application_details
: 特定のアプリケーションに関する詳細情報を取得するcreate_application
: 新しいアプリケーションを作成するupdate_application
: 既存のアプリケーションを更新するdelete_application
: アプリケーションを削除するsync_application
: アプリケーションで同期操作をトリガーする
会話の例
ユーザー情報の確認
ArgoCDバージョンの取得
ArgoCD設定の取得
アプリケーションの管理
発達
要件
- Python 3.12以上
- MCP(FastMCPと開発ツールを含む)
- uv パッケージ マネージャー (推奨) または pip
- ArgoCD APIトークン
型チェック
このプロジェクトでは、静的型チェックに mypy を使用して、コードの品質を向上させ、型関連のバグを早期に検出します。
型チェックの設定はpyproject.toml
とmypy.ini
両方で利用できます。この設定では、以下の厳格な型付けルールが適用されます。
- 型指定のない定義を禁止する
- Any型を返す際の警告
- 関数定義の完全性を確認する
- 名前空間パッケージのサポート
- モジュール固有の構成
プロジェクト構造
コードはモジュール構造に編成されています。
サーバーの拡張
新しい機能を追加するには:
tools
ディレクトリ内の適切なモジュールに新しいツールを追加しますserver.py
に新しいツールを登録する- パラメータ検証とエラー処理の既存のパターンに従う
- README.md のドキュメントを更新します
- 新しい機能のテストを追加する
トラブルシューティング
問題が発生した場合:
- サーバーログを確認します(情報ログはデフォルトで有効になっています)
Processing request of type CallToolRequest
エラーではなく情報であることに注意してくださいmcp dev server.py
を使用する場合、デバッグのために MCP インスペクタがhttp://localhost:5173で自動的に開きます。- サーバーログを使用してAPI呼び出しと応答をデバッグする
- 自己署名証明書の SSL 証明書の問題の場合:
- 必要な環境変数がすべて適切に設定されているかどうかを確認します。
貢献
貢献を歓迎します!このプロジェクトに貢献したい場合は、問題を開くか、プルリクエストを送信してください。
貢献する際は、以下のガイドラインに従ってください。
- すべてのコードに適切な型ヒントが含まれていることを確認する
- PR を送信する前に mypy の型チェックを実行する
- 新しい機能のテストを追加する
- 新しい機能や変更があった場合はドキュメントを更新します
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
ArgoCD API と統合された MCP (モデル コンテキスト プロトコル) サーバー。AI アシスタントと大規模言語モデルが自然言語の対話を通じて ArgoCD アプリケーションとリソースを管理できるようになります。
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityModel Context Protocol (MCP) server that integrates Redash with AI assistants like Claude, allowing them to query data, manage visualizations, and interact with dashboards through natural language.Last updated -1010421JavaScript
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Linear project management systems, allowing users to retrieve, create, and update issues, projects, and teams through natural language.Last updated -32805TypeScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server that enables AI assistants to control and interact with Android devices, allowing for device management, app debugging, system analysis, and UI automation through natural language commands.Last updated -29143PythonApache 2.0
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server for LeetCode that enables AI assistants to access LeetCode problems, user information, and contest data.Last updated -71TypeScriptMIT License