Skip to main content

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.

Core capabilities​

Capability DomainWhat the Server Provides
Zero-YAML Workload MigrationInspect live Kubernetes Deployment specs, preserve probes, resource limits, and environment variables, and generate matching Rollout + Service CRDs (direct or workloadRef).
Canary & Blue-Green LifecycleConfigure multi-step canary weight increments (setWeight, pause), manage blue-green activeService / previewService cutovers, and update container images.
Automated Metric AnalysisGenerate and bind AnalysisTemplate CRDs backed by Prometheus PromQL queries or webhook gates to automate promote-or-abort decisions.
Live Rollout ControlPromote rollouts step-by-step or to 100%, pause/resume in-flight progressions, or abort degraded rollouts immediately back to the stable ReplicaSet.

Architecture​

Quickstart​

1
Verify prerequisites

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.)

2
Start the Argo Rollouts MCP Server container

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.

3
Connect your MCP client

Register the server endpoint in your MCP client configuration:

mcp.json
{
"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=False so you can inspect the synthesized Rollout, Service, and AnalysisTemplate YAML manifests before mutating the cluster.
  • Scoped RBAC: Bind the kubeconfig context used by the server to a Kubernetes Role scoped to argoproj.io Rollout, AnalysisTemplate, and AnalysisRun resources 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