Argo Rollouts MCP server
The Argo Rollouts MCP Server is a Model Context Protocol server for progressive delivery on Kubernetes. It enables AI agents to convert standard Kubernetes Deployment workloads into Rollout CRDs (including workloadRef migrations for ArgoCD), orchestrate canary and blue-green traffic shifts, attach Prometheus-backed AnalysisTemplate gates, and execute instant rollbacks.
Validate Deployment readiness, generate Rollout and active/preview Service manifests, step canary weights, and trigger instant aborts.
Follow step-by-step runbooks for zero-YAML Deployment conversion, canary rollouts, blue-green cutovers, and cost-aware delivery.
Inspect live rollout phases, replica counts, traffic weights, and historical ReplicaSet revisions via argorollout:// resources.
Configure kubeconfig mounting, transport modes (http or stdio), and dry-run generation defaults (apply=False).
Core capabilities
| Capability Domain | What the Server Provides |
|---|---|
| Zero-YAML Workload Migration | Inspect live Kubernetes Deployment specs, preserve probes, resource limits, and environment variables, and generate matching Rollout + Service CRDs (direct or workloadRef). |
| Canary & Blue-Green Lifecycle | Configure multi-step canary weight increments (setWeight, pause), manage blue-green activeService / previewService cutovers, and update container images. |
| Automated Metric Analysis | Generate and bind AnalysisTemplate CRDs backed by Prometheus PromQL queries or webhook gates to automate promote-or-abort decisions. |
| Live Rollout Control | Promote rollouts step-by-step or to 100%, pause/resume in-flight progressions, or abort degraded rollouts immediately back to the stable ReplicaSet. |
Architecture
Quickstart
Ensure your Kubernetes cluster has the Argo Rollouts Controller (v1.6+) installed and that you have a valid local ~/.kube directory. (If the controller is not yet installed, you can deploy it with the Helm MCP Server.)
Mount your ~/.kube directory read-only and expose port 8768:
docker run --rm -it \
-p 8768:8768 \
-v ~/.kube:/app/.kube:ro \
-e K8S_KUBECONFIG=/app/.kube/config \
talkopsai/argo-rollout-mcp-server:latest
Mount the full ~/.kube directory rather than only ~/.kube/config so client certificate files referenced by local clusters (such as minikube or kind) remain accessible inside the container.
Register the server endpoint in your MCP client configuration:
{
"mcpServers": {
"argo-rollout": {
"url": "http://localhost:8768/mcp",
"description": "MCP Server for managing Argo Rollouts and K8s Progressive Delivery"
}
}
}
Security and dry-run defaults
- Preview before applying: Migration and strategy generator tools support
apply=Falseso you can inspect the synthesizedRollout,Service, andAnalysisTemplateYAML manifests before mutating the cluster. - Scoped RBAC: Bind the kubeconfig context used by the server to a Kubernetes
Rolescoped toargoproj.ioRollout,AnalysisTemplate, andAnalysisRunresources in target namespaces.
Project structure
argo-rollout-mcp-server/
├── argo_rollout_mcp_server/
│ ├── tools/ # MCP tools (conversion, rollout control, analysis generators)
│ ├── resources/ # Rollout status, health, metrics, and revision history
│ ├── prompts/ # Guided onboarding, canary, blue-green, and cost-aware prompts
│ ├── services/ # Argo Rollouts CRD client and YAML generator services
│ ├── server/ # FastMCP server setup
│ └── utils/ # Validation and Kubernetes helpers
├── Dockerfile
└── pyproject.toml