NewAgent Observability — find failures before customers do.
Back to directory
Flagger logo

Flagger MCP server: read canary status via community tools

Flagger shifts traffic to a new version step by step and promotes or rolls back on metric checks. Its verdict lives on a Canary object that general MCP servers can read.

Connector
Community only
Coverage
Canary weight, checks, status
Tools
2 in kubectl-mcp-server
Working route
Read Canary objects, read-only

Checked 3 October 2026 · from Flagger and Flux documentation, the Flux MCP server tool reference, and GitHub and PyPI data

One of 91 guides to monitoring and developer tools. Each covers what an AI coding agent can get out of the tool through MCP, the protocol that lets the agent query the tool directly.

Summary

The Flux project, which owns Flagger, has not published a Flagger MCP server as of 3 October 2026. An MCP server, short for Model Context Protocol, gives an AI assistant tools it can call.

Two servers still reach Flagger's state. rohitg00/kubectl-mcp-server has get_flagger_canaries and get_flagger_canary. The Flux MCP server's get_kubernetes_resources reads any resource kind, Canary included.

Flagger itself is active, with 5,416 GitHub stars and a push on 21 September 2026.

How Flagger works with MCP

Flagger automates progressive delivery on Kubernetes. It moves traffic to a new version in steps, runs metric checks at each step, then promotes or rolls back.

It works through a service mesh or ingress controller, which does the traffic splitting. Prometheus is the default metrics source in its documentation.

Flagger records its progress on a Canary custom resource, an object type Kubernetes learns from Flagger. The status holds the canary weight, failed checks, iterations and conditions.

Servers that reach Flagger

ServerFlagger accessStatus on 3 October 2026
rohitg00/kubectl-mcp-serverget_flagger_canaries, get_flagger_canary; read-onlyAbout 960 stars; last push 8 April 2026
Flux MCP server (flux-operator-mcp)get_kubernetes_resources with apiVersion: flagger.app/v1beta1, kind: Canary766 stars; last push 2 October 2026

kubectl-mcp-server's README lists the Flagger tools as flagger_canaries_list and flagger_canary_get. Its source registers the names in the table.

Every vendor here gets the same four checks: official, maintained, distributed and usable. Flagger passes 2 of them.

CheckResultEvidence
OfficialFailAs of 3 October 2026 the fluxcd GitHub organization, which owns Flagger, has no MCP repository. The Flux MCP server has no Flagger-specific tools.
MaintainedPassThe Flux MCP server's repository, controlplaneio-fluxcd/flux-operator, was last pushed on 2 October 2026.
DistributedPassflux-operator-mcp installs from Homebrew (controlplaneio-fluxcd/tap/flux-operator-mcp) or prebuilt binaries. kubectl-mcp-server 1.24.0 is on PyPI.
UsableUnknownNeither server documents a Flagger example; reading Canary objects follows from their generic and Flagger tools.
Part of the workWhat Flagger has hereCan an agent reach it
CI & releaseCanary releases, traffic shifting, automated rollbackYes, read-only. Canary status through kubectl-mcp-server or the Flux MCP server
Production observabilityMetric checks against Prometheus and other providersPartial. Failed-check counts are on the Canary; the series stay with the provider

An agent can say whether a canary promoted, how far its weight got and how many checks failed. Why a check failed is in the metrics provider and the Canary's events.

What can an AI agent do with Flagger?

The agent sees a failed canary but not why it rolled back

The Canary status records counts and conditions. Flagger writes the step-by-step reasons as Kubernetes events on the Canary.

The Flux MCP server's get_kubernetes_events tool reads those events. A server limited to the Canary object misses them.

Guard: Read the Canary's events alongside its status before reporting a rollback cause.

The Flux server applies or deletes resources

The Flux MCP server includes apply_kubernetes_manifest, patch_kubernetes_resource and delete_kubernetes_resource. Flux's documentation shows it started with --read-only so the agent can inspect but not change the cluster.

Guard: Start flux-operator-mcp with --read-only unless the agent is meant to change the cluster.

The agent calls flagger_canary_get and gets an unknown-tool error

kubectl-mcp-server's README and its registered tool names differ. The server registers get_flagger_canary.

Guard: Use the tool names your client lists after connecting.

How to configure Flagger MCP for agents

  1. 1

    Pick one server

    The Flux MCP server suits clusters already run with Flux. kubectl-mcp-server suits clusters without it.

  2. 2

    Narrow the cluster role

    Grant get, list and watch on canaries in the flagger.app API group, plus events.

  3. 3

    Keep Flagger's identity separate

    Flagger's own service account shifts traffic and rolls back workloads; the agent should not share it.

Paste this into your agent’s instructions

Terminal
When you report on a Flagger canary:
- Name the canary, namespace and cluster context.
- Give the canary weight, failed checks, iterations and the Promoted condition.
Read the canary's events before stating why it rolled back.
Do not apply, patch or delete resources unless asked.

Do you need the MCP server at all?

Without a server, kubectl get canary --all-namespaces lists each canary with its status. kubectl describe canary <name> adds the events.

Flagger's documentation shows kubectl wait canary/podinfo --for=condition=promoted for scripts that block until promotion.

For the metrics behind each check, connect Prometheus, Datadog or Grafana, whichever the Canary's metric templates query.

Read the Canary for the verdict and its events for the reason. Read the metrics provider for the evidence.

Flagger integration setup

Both servers run locally and use your kubeconfig. Nothing on the Flagger side needs installing or configuring.

Claude Code, Flux MCP server

This is the command Flux's agent-skills page documents. With --read-only, the agent can inspect but not mutate the cluster.

Terminal
claude mcp add --scope user --transport stdio flux-operator-mcp \
  --env KUBECONFIG=$HOME/.kube/config \
  -- flux-operator-mcp serve --read-only

Cursor, kubectl-mcp-server

Install the Python package with pip install kubectl-mcp-server first. Its --read-only flag blocks every write tool on the server.

Terminal
{"mcpServers":{"k8s-flagger":{
  "command":"python3",
  "args":["-m","kubectl_mcp_tool.mcp_server","--read-only"]}}}

Every other client

Each block below is the configuration for one client, with the file path and the key that client expects.

Install the Flux MCP server

Flux's announcement post gives Homebrew as the install route. Prebuilt binaries cover Linux, macOS and Windows.

Terminal
brew install controlplaneio-fluxcd/tap/flux-operator-mcp

What the vendor documents

Flux introduced its MCP server in a post by Stefan Prodan on 14 May 2025. It describes tracing issues from HelmReleases and Kustomizations down to deployments and pod logs.

Should you connect an agent to Flagger?

Yes, through a general Kubernetes or Flux MCP server, if your agent needs to report canary progress. Best for teams on Flux who already use, or plan to use, the Flux MCP server.

Strongest fit
Yes, through a general Kubernetes or Flux MCP server, if your agent needs to report canary progress.
Main advantage
Flagger keeps its whole state on one Kubernetes object, so a generic resource reader returns the verdict.
Main weakness
No server explains a failed check; the agent has to combine events with metric queries.
Operational risk
The Flux MCP server's apply, patch and delete tools are available unless it runs read-only.

From Oodle

One platform for agent traces and infrastructure

Agent traces usually sit in a different product from the rest of your telemetry, so when a slow database makes an agent slow the symptom is in one tool and the cause is in another. Oodle keeps both in one query surface.

See agent observability

Frequently asked questions

Does Flagger have an MCP server?

Not from the Flux project as of 3 October 2026. kubectl-mcp-server and the Flux MCP server can both read Flagger's Canary objects.

Does the Flux MCP server cover Flagger?

Indirectly. Its get_kubernetes_resources tool takes any API version and kind, so it reads flagger.app/v1beta1 Canary resources.

Can an agent promote or roll back a Flagger canary?

Not through a Flagger tool. kubectl-mcp-server's two Flagger tools only read. Promotion is Flagger's decision, driven by its metric checks.

Where does Flagger record why a canary failed?

In Kubernetes events on the Canary. The status shows the failed-check count and conditions.

Changelog

  • 14 May 2025. Flux introduced the Flux MCP server in the Flux Operator project.
  • 3 October 2026. Added kubectl-mcp-server's Flagger tools and the Flux MCP server route. Removed an unsourced claim about why Flux has not built a Flagger server.

Sources

Every number on the page traces to one of these

  1. Flagger documentation, how it works, read 3 October 2026
  2. Flagger Istio tutorial, showing Canary events, read 3 October 2026
  3. Flux agent skills documentation, read 3 October 2026
  4. AI-Assisted GitOps with Flux Operator MCP Server, Flux blog, 14 May 2025
  5. Flux MCP server tool reference, read 3 October 2026
  6. kubectl-mcp-server source registering the Flagger tools, read 3 October 2026
  7. kubectl-mcp-server package page on PyPI, version 1.24.0, read 3 October 2026
  8. fluxcd/flagger on GitHub, read 3 October 2026
  9. GitHub repository search for MCP repositories in the fluxcd organization, 3 October 2026: none

For the metrics a canary is judged on:

Other progressive delivery tools: