Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
MCP server for ArgoCD GitOps continuous delivery integration
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
ARGOCD_API_KEY, ARGOCD_API_URL「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"argocd": {
"command": "uvx",
"args": [
"argocd-mcp-server"
],
"env": {
"ARGOCD_API_KEY": "your-value",
"ARGOCD_API_URL": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add argocd --env ARGOCD_API_KEY=your-value --env ARGOCD_API_URL=your-value -- uvx argocd-mcp-server動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"argocd": {
"command": "uvx",
"args": [
"argocd-mcp-server"
],
"env": {
"ARGOCD_API_KEY": "your-value",
"ARGOCD_API_URL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"argocd": {
"type": "stdio",
"command": "uvx",
"args": [
"argocd-mcp-server"
],
"env": {
"ARGOCD_API_KEY": "your-value",
"ARGOCD_API_URL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
ARGOCD_API_URL envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント asklokesh で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:ARGOCD_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.0)がレジストリに届いたのは10 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, 御府和田玉 在售作品查询
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Live in-stock Hetian jade from Yufu, Shanghai: prices, monthly price guide, book a viewing.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A Model Context Protocol (MCP) server for integrating ArgoCD GitOps continuous delivery tool with GenAI applications, enabling intelligent Kubernetes deployment management.
pip install argocd-mcp-server
Or install from source:
git clone https://github.com/asklokesh/argocd-mcp-server.git
cd argocd-mcp-server pip install -e .
Create a .env file or set environment variables:
# ArgoCD Connection
ARGOCD_SERVER=argocd.example.com ARGOCD_AUTH_TOKEN=your_auth_token ARGOCD_INSECURE=false
ARGOCD_GRPC_WEB=true ARGOCD_TIMEOUT=30 ARGOCD_CLIENT_CERT=/path/to/cert.pem ARGOCD_CLIENT_KEY=/path/to/key.pem
ARGOCD_PROD_SERVER=argocd-prod.example.com ARGOCD_PROD_TOKEN=prod_token
ARGOCD_DEV_SERVER=argocd-dev.example.com ARGOCD_DEV_TOKEN=dev_token
from argocd_mcp import ArgoCDMCPServer
server = ArgoCDMCPServer()
server.start()
Add to your Claude Desktop config:
{
"mcpServers": { "argocd": { "command": "python", "args": ["-m", "argocd_mcp.server"], "env": { "ARGOCD_SERVER": "argocd.example.com", "ARGOCD_AUTH_TOKEN": "your_auth_token" } } } }
{
"tool": "argocd_list_applications", "arguments": { "project": "default", "namespace": "argocd" } }
{
"tool": "argocd_create_application", "arguments": { "name": "my-app", "project": "default", "source": { "repoURL": "https://github.com/org/repo.git", "path": "manifests", "targetRevision": "main" }, "destination": { "server": "https://kubernetes.default.svc", "namespace": "production" }, "syncPolicy": { "automated": { "prune": true, "selfHeal": true } } } }
{
"tool": "argocd_sync_application", "arguments": { "name": "my-app", "prune": true, "force": false, "strategy": { "hook": { "force": true } } } }
{
"tool": "argocd_get_application_status", "arguments": { "name": "my-app", "refresh": true } }
{
"tool": "argocd_rollback_application", "arguments": { "name": "my-app", "revision": "abc123" } }
{
"tool": "argocd_create_project", "arguments": { "name": "production", "description": "Production applications", "sourceRepos": ["https://github.com/org/*"], "destinations": [ { "server": "https://kubernetes.default.svc", "namespace": "prod-*" } ], "clusterResourceWhitelist": [ {"group": "*", "kind": "*"} ] } }
{
"tool": "argocd_add_repository", "arguments": { "url": "https://github.com/org/repo.git", "name": "my-repo", "type": "git", "username": "git-user", "password": "git-token", "insecure": false } }
{
"tool": "argocd_add_helm_repository", "arguments": { "url": "https://charts.example.com", "name": "my-charts", "type": "helm", "username": "helm-user", "password": "helm-password" } }
{
"tool": "argocd_add_cluster", "arguments": { "name": "production-cluster", "server": "https://k8s-prod.example.com", "config": { "bearerToken": "cluster-token", "tlsClientConfig": { "insecure": false, "caData": "base64-encoded-ca" } } } }
{
"tool": "argocd_create_applicationset", "arguments": { "name": "multi-cluster-app", "generators": [ { "clusters": {}, "selector": { "matchLabels": { "environment": "production" } } } ], "template": { "metadata": { "name": "{{cluster}}-app" }, "spec": { "project": "default", "source": { "repoURL": "https://github.com/org/repo.git", "path": "{{cluster}}" }, "destination": { "server": "{{server}}", "namespace": "default" } } } } }
{
"tool": "argocd_get_application_health", "arguments": { "name": "my-app" } }
{
"tool": "argocd_get_resource_tree", "arguments": { "name": "my-app" } }
from argocd_mcp import ArgoCDMCPServer, ClusterConfig
clusters = { "production": ClusterConfig( server="argocd-prod.example.com", auth_token="prod_token", default_namespace="argocd" ), "staging": ClusterConfig( server="argocd-staging.example.com", auth_token="staging_token", default_namespace="argocd-staging" ), "development": ClusterConfig( server="argocd-dev.example.com", auth_token="dev_token", default_namespace="argocd-dev" ) }
server = ArgoCDMCPServer(clusters=clusters, default_cluster="production")
# Configure progressive delivery strategies
progressive_config = { "canary": { "steps": [ {"setWeight": 10}, {"pause": {"duration": "5m"}}, {"setWeight": 30}, {"pause": {"duration": "5m"}}, {"setWeight": 50}, {"pause": {"duration": "5m"}}, {"setWeight": 100} ] }, "blueGreen": { "activeService": "app-active", "previewService": "app-preview", "autoPromotionEnabled": false } }
server = ArgoCDMCPServer(progressive_config=progressive_config)
from argocd_mcp import ArgoCDMCPServer, DisasterRecoveryConfig
dr_config = DisasterRecoveryConfig( backup_enabled=True, backup_schedule="0 2 * * *", # Daily at 2 AM backup_location="s3://backups/argocd", restore_priority=["production", "staging", "development"] )
server = ArgoCDMCPServer(dr_config=dr_config)
See the examples/ directory for complete integration examples:
basic_gitops.py - Basic GitOps workflowsmulti_cluster_deployment.py - Multi-cluster application deploymentprogressive_delivery.py - Canary and blue-green deploymentsdisaster_recovery.py - Backup and restore workflowsgenai_gitops.py - AI-powered GitOps automationsecurity_scanning.py - Integration with security toolsThe server provides detailed error information:
try:
result = server.execute_tool("argocd_sync_application", { "name": "my-app" }) except ArgoCDError as e: print(f"ArgoCD error: {e.error_code} - {e.message}") if e.error_code == "OutOfSync": print("Application is out of sync") elif e.error_code == "ComparisonError": print("Error comparing application state")
Contributions are welcome! Please read our contributing guidelines and submit pull requests.
MIT License - see LICENSE file for details