Manage GitOps workflows with Flux and ArgoCD. Use for sync status, reconciliation, app management, source management, and GitOps troubleshooting.
GitOps workflows using Flux and ArgoCD with kubectl-mcp-server tools.
Requires the
gitopstoolset: start kubectl-mcp-server with--toolsets default,gitops(orMCP_TOOLSETS=default,gitops). For deep work, the project-maintained MCP servers may fit better: Argo CD: https://github.com/argoproj-labs/mcp-for-argocd; Flux: https://fluxoperator.dev/mcp-server/.
Use this skill when:
| Priority | Rule | Impact | Tools |
|---|---|---|---|
| 1 | Check source readiness before troubleshooting | CRITICAL | gitops_sources_list |
| 2 | Verify sync status before deployments | HIGH | gitops_app_get |
| 3 | Reconcile after git changes | MEDIUM | gitops_app_sync |
| 4 | Suspend before manual changes | LOW | kubectl_patch |
| Task | Tool | Example |
|---|---|---|
| List Flux kustomizations | gitops_apps_list |
gitops_apps_list(namespace) |
| Reconcile Flux | gitops_app_sync |
gitops_app_sync(kind, name, namespace) |
| List ArgoCD apps | gitops_apps_list |
gitops_apps_list(namespace) |
| Sync ArgoCD | gitops_app_sync |
gitops_app_sync(name, namespace) |
gitops_apps_list(namespace="flux-system")
gitops_apps_list(namespace)
gitops_sources_list(namespace="flux-system")
gitops_app_sync(
kind="kustomization",
name="my-app",
namespace="flux-system"
)
gitops_app_sync(
kind="helmrelease",
name="my-chart",
namespace="default"
)
kubectl_patch(resource_type="kustomization", name="my-app", namespace="flux-system", patch={"spec": {"suspend": true}}, patch_type="merge")
kubectl_patch(resource_type="kustomization", name="my-app", namespace="flux-system", patch={"spec": {"suspend": false}}, patch_type="merge")
See FLUX.md for detailed Flux workflows.
gitops_apps_list(namespace="argocd")
gitops_app_get(kind="application", name="my-app", namespace="argocd")
gitops_app_sync(kind="application", name="my-app", namespace="argocd")
gitops_app_sync(kind="application", name="my-app", namespace="argocd")
See ARGOCD.md for detailed ArgoCD workflows.
| Symptom | Check | Resolution |
|---|---|---|
| Source not ready | gitops_sources_list() |
Check git credentials |
| Kustomization failed | gitops_apps_list() |
Check manifest errors |
| HelmRelease failed | gitops_apps_list() |
Check values, chart version |
| Symptom | Check | Resolution |
|---|---|---|
| OutOfSync | gitops_app_get() |
Manual sync or check auto-sync |
| Degraded | Check health status | Fix unhealthy resources |
| Unknown | Refresh app | gitops_app_sync() |
gitops_app_sync(kind="kustomization", name="staging", namespace="flux-system")
gitops_app_sync(kind="kustomization", name="production", namespace="flux-system")
gitops_app_sync(kind="application", name="app-staging", namespace="argocd")
gitops_app_get(kind="application", name="app-staging", namespace="argocd")
gitops_app_sync(kind="application", name="app-production", namespace="argocd")
Manage GitOps across clusters:
gitops_apps_list(namespace="flux-system", context="cluster-1")
gitops_apps_list(namespace="flux-system", context="cluster-2")
gitops_app_sync(
kind="kustomization",
name="apps",
namespace="flux-system",
context="production-cluster"
)
Compare live state with desired:
gitops_app_get(kind="application", name="my-app", namespace="argocd")
gitops_apps_list(namespace="flux-system")
flux install
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml