Production-grade platform engineering handbook — Kubernetes, Terraform, Flux CD, GitHub Actions, AWS, and more.
67
84%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
The Flux Operator MCP server (flux-operator-mcp) exposes live cluster state to AI assistants via the Model Context Protocol. It enables AI-assisted GitOps debugging without leaving the conversation.
# Homebrew (macOS / Linux)
brew install controlplaneio-fluxcd/tap/flux-operator-mcp
# Binary (AMD64 / ARM64)
# Download from: https://github.com/controlplaneio-fluxcd/flux-operator-mcp/releasesAdd to your MCP client config (Claude Code, Cursor, etc.):
{
"mcpServers": {
"flux-operator-mcp": {
"command": "flux-operator-mcp",
"args": ["serve"],
"env": {
"KUBECONFIG": "/Users/username/.kube/config"
}
}
}
}Use absolute paths — environment variables like
~and$HOMEdo not expand in JSON config.
For production clusters, add "--read-only" to args to prevent the AI from modifying cluster state.
1. get_kubernetes_api_versions → always call first; never assume apiVersion
2. get_flux_instance → FluxInstance status, Flux version, component health
3. list_flux_kustomizations → overview of reconciliation state
4. list_flux_helm_releases → HelmRelease statusAfter switching cluster contexts, run get_flux_instance before anything else.
1. get_flux_instance → confirm controllers healthy
2. get_flux_helm_release <name> → spec, status, conditions
3. get_kubernetes_resource → chart source (OCIRepository or HelmRepository)
4. get_kubernetes_resource → valuesFrom ConfigMaps/Secrets
5. list_kubernetes_resources pods → managed workload status
6. get_kubernetes_logs → pod logs for runtime errors1. get_flux_instance → confirm kustomize-controller healthy
2. get_flux_kustomization <name> → spec, status, conditions, inventory
3. get_kubernetes_resource → source (GitRepository / OCIRepository)
4. get_kubernetes_resource → substituteFrom ConfigMaps/Secrets
5. list_kubernetes_resources → managed resources
6. get_kubernetes_logs → pod logs1. get_flux_instance → confirm flux-operator healthy
2. get_kubernetes_resource resourceset → status, inputsFrom, dependsOn
3. get_kubernetes_resource resourcesetinputprovider → provider status, exported values
4. list_kubernetes_resources → generated Kustomizations/HelmReleases1. list_kubernetes_contexts → available clusters
2. For each context:
get_flux_instance → version, components
list_flux_kustomizations → desired state
3. Compare specs across clusters → identify drift# Reconcile source first, then the applier
flux reconcile source oci fleet-manifests -n flux-system
flux reconcile kustomization apps -n flux-system
# Or with --with-source flag (does both in one step)
flux reconcile kustomization apps --with-source -n flux-systemmatchLabels and container nameget_kubernetes_logs with pod and container namecontext deadline exceeded, artifact not found, and recurring patternsget_kubernetes_api_versionsapply_kubernetes_manifestIf the resource is Flux-managed, the overwrite: true flag is required — but warn the user:
Flux will revert changes on next reconciliation unless you also update the source.
get_kubernetes_api_versions first — never assume a resource's apiVersiondata keys with empty values; never expose secret contentget_flux_instance before proceeding — cluster state differs| Task | Starting point |
|---|---|
| General cluster health | get_flux_instance → list Kustomizations → check HelmReleases |
| HelmRelease not reconciling | Controller status → resource spec → source → valuesFrom → pod logs |
| Kustomization stuck | Controller status → resource spec → source → substituteFrom → inventory |
| ResourceSet not generating | Operator status → ResourceSet spec → InputProvider → generated objects |
| Force sync | Reconcile source first, then applier (or --with-source) |
| Drift across clusters | Iterate contexts → collect specs → compare desired state |
.claude-plugin
.github
commands
docs
examples
agent-self-improve
argocd
awesome-docs
aws
cloudfront
functions
lambda-edge
functions
azure
compliance
conventional-commits
datadog
llm-observability
demo
documentation
dora
dynatrace
fluxcd
github-actions
composite-actions
configure-cloud
db-migrate
docker-build-push
k8s-deploy
notify-slack
pr-comment
release-tag
security-scan
setup-env
setup-terraform
terraform-plan
helm
web-service
templates
kubernetes
kyverno
mcp
observability
openshift
pr-review
ownership
runtime-security
supply-chain
terraform
references
scripts
skills
platform-skills
tests