Skip to main content
Ecosystem & Marketplaces›Open-Source MCP Servers (10)›ArgoCD MCP Server

ArgoCD MCP server

The ArgoCD MCP Server is a Model Context Protocol server for GitOps continuous delivery on Kubernetes. It exposes 29 tools, real-time MCP resources (argocd://), and operational prompts covering the complete ArgoCD v2.x lifecycle—repository onboarding, AppProject multi-tenancy, application creation, manifest diffing, dry-run synchronization, health diagnostics, and revision rollbacks.

Core capabilities​

DomainCapabilities
Application LifecycleCreate, update, validate, and delete ArgoCD Application resources; inspect per-resource health, sync status, and Kubernetes event streams.
Sync & Rollback OperationsPreview live vs. target Git manifest diffs, run dry-run syncs, prune orphaned resources, hard/soft refresh caches, cancel in-flight operations, and roll back to previous revisions.
Repository OnboardingRegister and validate HTTPS or SSH Git repositories using server-side credentials that are never exposed to the LLM context window.
Projects & Multi-TenancyCreate AppProject resources with scoped source repositories, destination clusters/namespaces, resource allow/deny lists, and RBAC roles.
Diagnostics & Log AnalysisRetrieve pod logs with automatic error-line filtering, correlate failed sync hooks, and inspect cluster-wide GitOps health metrics.

Architecture​

Quickstart​

1
Prepare your ArgoCD API token

Ensure you have a running ArgoCD v2.x instance and an authentication token (ARGOCD_AUTH_TOKEN).

2
Start the ArgoCD MCP Server container

Run the Docker image and pass your ArgoCD server URL and credentials via environment variables:

docker run --rm -it \
-p 8770:8770 \
-e ARGOCD_SERVER_URL="https://host.docker.internal:8080" \
-e ARGOCD_AUTH_TOKEN="your-argocd-token" \
-e MCP_PORT=8770 \
-e MCP_PATH="/mcp" \
-e ARGOCD_INSECURE="true" \
-e MCP_ALLOW_WRITE="false" \
talkopsai/argocd-mcp-server:latest

Use host.docker.internal:8080 when connecting to a locally port-forwarded ArgoCD server (kubectl port-forward svc/argocd-server -n argocd 8080:443). Set MCP_ALLOW_WRITE="true" only when you want to permit sync, create, or rollback mutations.

3
Connect your MCP client

Register the server URL in your MCP client configuration:

mcp.json
{
"mcpServers": {
"argocd-mcp-server": {
"url": "http://localhost:8770/mcp",
"disabled": false
}
}
}

Security model​

  • Read-only by default: Keep MCP_ALLOW_WRITE=false for observability and incident triage so agents can inspect diffs, events, and logs without mutating GitOps state.
  • Server-side credential isolation: Git tokens (GIT_PASSWORD, SSH_PRIVATE_KEY_PATH) and ARGOCD_AUTH_TOKEN remain inside the MCP server process and are never required as LLM tool arguments.
  • Dry-run verification: Always preview manifest diffs (get_application_diff) and run sync_application(dry_run=True) before applying production changes.

Project structure​

argocd-mcp-server/
├── argocd_mcp_server/
│ ├── tools/ # 29 MCP tools (apps, deploy, repos, projects, diagnostics)
│ ├── resources/ # Real-time argocd:// resource streams
│ ├── prompts/ # Guided deployment, onboarding, and rollback workflows
│ ├── services/ # Async ArgoCD REST/gRPC client services
│ ├── server/ # FastMCP server setup
│ └── utils/ # Validation and formatting helpers
├── scripts/ # Token helper utilities (fetch_argocd_token.py)
├── tests/ # Unit and integration tests
└── pyproject.toml # Project configuration