MCP server: One MCP server.

Paqtra

@zyvoraiMCP server · External

Read-only Cilium and Hubble network observability and flow investigation for Kubernetes.

v2.2.3Apache-2.0Rust
Freeno charge per call

Runs on your machine from its package; the steps are below.

Paqtra — Cilium-native network observability and operations for Kubernetes
From the README · 1 of 8

What it does

  1. Reads
  2. Writes
  3. High impact

Not assessed yet.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

Dockerghcr.io/zyvorai/paqtra-mcp:2.2.3

Run

docker run -i --rm ghcr.io/zyvorai/paqtra-mcp:2.2.3

MCP client config

{
  "mcpServers": {
    "paqtra": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/zyvorai/paqtra-mcp:2.2.3"
      ]
    }
  }
}
README10 min read

Paqtra

CI License: Apache 2.0 Rust Cilium Changelog Docs

Book a demo 30-day PoC Install

Paqtra — Cilium-native network observability and operations for Kubernetes

Why can't A reach B? Paqtra traces every flow and shows Cilium's verdict.

Cilium-native network observability and operations for Kubernetes. Every Hubble flow stored and searchable, drops explained by Cilium reason, CiliumNetworkPolicy changes simulated before you apply them, and enforcement left with Cilium.

Web dashboard · REST API · Terminal TUI · Why denied? on any flow · Read-only toward the datapath · Free, Apache 2.0

📖 Read the full docs: quickstart, architecture, the Cilium boundary, and a product tour.


What's new

Per-second metrics platform (Unreleased)Every agent streams host, network, disk, pod, process-group and app metrics each second; the API keeps them in 1 s / 1 min / 1 h tiers, adds Hubble flow, verdict, drop, HTTP and DNS series, flags anomalies per dimension, runs 45 built-in metric alerts and exports to Prometheus remote write, OTLP or Graphite. docs/metrics.md
MCP server (2.2.3)paqtra-mcp, a read-only stdio MCP server with 39 tools, lets an AI agent query a Paqtra deployment with the caller's own credentials. Published from the v2.2.3 release as ghcr.io/zyvorai/paqtra-mcp:2.2.3 and to the MCP Registry as io.github.zyvorai/paqtra. docs/mcp-integration.md
Installs like cilium-cli (2.2.0)The Helm chart is compiled into the paqtra binary: install, upgrade, status --wait, --with-cilium, prerequisite checks, doctor.
Signed releases (2.2.0)Static musl Linux and macOS binaries with sha256sums.txt, a cosign keyless signature, an SBOM and a Homebrew formula.
Rule-level policy editing (2.2.0)Add, replace or delete one rule of a CiliumNetworkPolicy, with ?dry_run=true, conflict detection and audit entries.
Cilium Insights (2.2.0)Read-only views of Cilium features, Hubble nodes, BGP, LB-IPAM, L2, pod IP pools, CIDR groups and Gateway API resources.
Change impact and shareable investigations (2.2.0)Before/after flow correlation for a change, and investigation bundles with a time-limited, redacted share link.
Why denied? (2.1.0)From any dropped flow: identities, candidate CNP/CCNP, the drop reason and a draft allow.
Large flow stores stay fast (2.2.1, 2.2.2)Reads never block ingest, every read has a deadline, and recent-window queries go through the time index.

Full history: CHANGELOG.md.


Why Paqtra

When this happens…Paqtra gives you…
A request fails and nobody knows whyPath explain and Why denied? on any flow, with confidence-tagged evidence
Cilium drops packets and the reason is buriedDrop analytics by Cilium reason, plus a per-packet explanation
You want to change policy without breaking thingsSimulate a CiliumNetworkPolicy against indexed flows before you apply it
The flow you need scrolled out of Hubble minutes agoA continuous Hubble follow-stream into a local SQLite flow store, queried by time window
Network tooling that touches the datapath is a non-starterRead-only toward Cilium: no BPF map writes, no program attach, not a second CNI
Every Cilium add-on needs its own install storypaqtra install with the Helm chart built in, paqtra status --wait, paqtra doctor

Paqtra is observe-first. Flows come from Hubble; node-local enrichment may read the BPF map inventory. Enforcement stays with Cilium: policy changes go through CiliumNetworkPolicy (CNP), never through Paqtra's own datapath.

Capabilities at a glance: Observe, Investigate, Secure, Operate


Paqtra vs Hubble UI

Paqtra vs Hubble UI: from live flows to a verdict you can act on

Paqtra does not replace Hubble; it reads Hubble's flows through Hubble Relay and builds on them.

PaqtraHubble UI (ships with Cilium)
Flow sourceHubble Observer gRPC follow-streamHubble Relay
Flow historyLocal SQLite flow store, queried by time windowLive flows from Hubble's in-memory buffers
Service mapService map and observed-traffic topologyService map per namespace
"Why can't A reach B?"Path explain with observed / inferred / unavailable evidenceInspect the flows yourself
DropsDrop analytics by Cilium reason, Why denied? per flowVerdict and drop reason on each flow
PolicyRule builder, YAML editor, AutoPolicy, simulate, apply as CNPNot a policy editor
InterfacesWeb dashboard, REST API, terminal UI, CLIWeb UI (plus the hubble CLI)
Choose Hubble UI whenLive flows and a service map are all you need and you want only what ships with Cilium

See it live

Paqtra live demo

Captured against a live lab cluster with Cilium and Hubble. Full tour on the docs site gallery.

Paqtra dashboard — Overview

Observe

Live Hubble flows with verdict coloring and WebSocket streaming, a service map and an observed-traffic topology built from real flows. Real L7 DNS query/rcode/latency when Cilium DNS visibility is on; L4-only never invents SERVFAIL. Capabilities →

Per-second node metrics next to the flows: CPU, memory, disks, interfaces, TCP, conntrack, pod cgroups, process groups (by comm only) and annotated apps (nginx, Redis, Envoy, CoreDNS, etcd, any Prometheus endpoint), with live canvas charts, per-dimension anomaly detection, "what changed here?" correlation and Netdata-style metric alerts that notify but never apply policy. paqtra metrics … covers the same from the terminal. Metrics → · Alerts → · Anomalies → · Apps →

Hubble flows with verdict coloring

Service map from observed flows

Observed-traffic topology

Investigate

Ask "why can't A reach B?" and get an answer with observed, inferred or unavailable evidence labels. Click Why denied? on any dropped flow. Investigate → · Root cause →

Path investigation — why can't A reach B?

Drop analytics by Cilium reason

Diagnostics

The dashboard also includes real kernel eBPF data views powered by bpftool: conntrack tables, policy maps, IP cache, LB maps and drop analytics. All read-only. eBPF integration →

eBPF map and program inventory (read-only)

Secure

A visual rule builder, a YAML editor, ML-powered AutoPolicy and an evidence-backed simulator, all applied as CiliumNetworkPolicy through the Kubernetes API. Cilium enforces. AutoPolicy → · Simulator →

Policies

Also included: compliance audits (CIS, NIST, SOC 2), anomaly detection, chaos engineering, canary deployments and multi-cluster views. Everything Paqtra does →

MCP

paqtra-mcp is a stdio Model Context Protocol server that lets an AI agent (Claude Desktop, Hermes Agent, any MCP client) read a running Paqtra deployment. It exposes 39 tools, all read-only with respect to the cluster: no policy apply, edit or delete, no chaos, no healer fix, no cluster sync, no flow-store purge. The two investigate tools store an evidence bundle in the API and nothing else. Every call is made with your own API credentials, so RBAC and namespace scoping apply.

  • Registry name: io.github.zyvorai/paqtra (published from the v2.2.3 release)
  • Image: ghcr.io/zyvorai/paqtra-mcp:2.2.3
  • Configuration: PAQTRA_URL, plus PAQTRA_TOKEN or PAQTRA_USERNAME / PAQTRA_PASSWORD; use a viewer-role account.

Setup, tool scope and the protocol: docs/mcp-integration.md.


How it fits together

Hubble in, answers out, Cilium still decides

ComponentPortRole
API (ghcr.io/zyvorai/paqtra-api)9191Rust + Axum REST API: Hubble ingest into the flow store, investigate, drops, policy, JWT auth
UI (ghcr.io/zyvorai/paqtra-ui)8443React dashboard, served over TLS by default
Node agent (ghcr.io/zyvorai/paqtra)9192DaemonSet on every node: health and read-only map and program inventory
paqtra CLI—Install, upgrade, status, doctor, ui, hubble enable; the Helm chart is built in

Ports are the Helm chart defaults in chart/values.yaml. Architecture in depth: docs/architecture.md · docs/web-architecture.md.

What Paqtra never does

Paqtra observes, Cilium decides — what it reads, what it never does

Hard boundaries, enforced by review and repeated in AGENTS.md:

  • Never writes Cilium BPF maps or pins over cil_* programs.
  • Never attaches, detaches or replaces Cilium (or Netra) programs. Attachment inventory is read-only classification (cil_* / netra_* / other).
  • The agent observes, reports health and inventories. Policy apply goes through Cilium CRDs.
  • Does not collect application payloads, argv/cmdline, or Secret contents.
  • Does not introduce a second CNI or compete with Cilium's datapath.
  • Prefers Hubble for flows; uses maps for node-local enrichment only.

Details: docs/cilium-brotherhood.md and docs/ebpf-integration.md.


Quickstart

Prerequisites: a Kubernetes cluster and a kube-context. Cilium with Hubble Relay is required too; paqtra install --with-cilium sets it up if it is missing.

bash
# Install the CLI (downloads, verifies and installs the latest release)
curl -fsSL https://raw.githubusercontent.com/zyvorai/paqtra/main/install.sh | sh   # or: brew install zyvorai/tap/paqtra

# Install Paqtra into the current kube-context (the Helm chart is built in)
paqtra install            # add --with-cilium if the cluster has no Cilium yet
paqtra status --wait
paqtra ui                 # open the console

# Something wrong?
paqtra doctor

Build from source, Docker, Helm, environment variables and testing: Install guide · CLI reference: docs/cli.md.


Paqtra vs PacketWolf

Paqtra vs PacketWolf — what the commercial platform adds

Paqtra is the free, Apache-2.0 community edition. PacketWolf is Zyvor's commercial platform on the same Cilium-native foundation, for teams that need to go from seeing the network to securing and operating it.

Paqtra (Apache 2.0)PacketWolf (commercial)
Flows, verdicts, service map, drops, root cause✅✅
AutoPolicy, simulator, healer, chaos, canary, replay, multi-cluster✅✅
Which process opened each socket (kernel attribution, syscall tracing, netpred explain)—✅
Custom eBPF probes with honest attach status— (read-only by design)✅ opt-in
Threat detection: learned baselines, DGA and beaconing, attack graph, GeoThreat, Tetragon correlation—✅
Containment: six profiles, gated auto-response with rollback, forensic pack—✅
Zero-Trust Pilot, policy insight scorecard, blast radius, drift scan, KubePosture—✅
Ask Zyra network copilot (58 read-only tools, gated write actions)—✅
Compliance Lens (SOC 2, PCI-DSS, HIPAA), CVE posture, cost-aware egress, risk forecastBasic audits (CIS, NIST, SOC 2)✅
Kubernetes operator and CRDs, netpred CLI—✅
OIDC, SAML, LDAP sign-in, tenant views, SIEM exportJWT✅
KubeVirt VM console and VNC, in-browser shell, podman/docker visibility—✅
SupportCommunityZyvorAI Labs

Full breakdown: docs/paqtra-vs-packetwolf.md. For a demo, a trial or pricing, book a demo, start a 30-day PoC or contact sales@zyvor.dev or visit zyvor.dev.

Paqtra or Netra?

Netra is the independent eBPF sibling: its own programs and maps under /sys/fs/bpf/netra, with leased emergency control. The two must not fight.

Choose Paqtra when…Choose Netra when…
Cilium is already the CNI of recordYou need CNI-independent observe on cgroup v2 alone
You want Hubble flows, path investigation and policy preview in one placeYou want a leased emergency deny with automatic return to observe
Policy changes should stay in Cilium CNPsYou need kernel drop attribution and packet capture without a CNI

Who owns what: Suite placement · Cilium boundaries.

Security

JWT authentication (HS256, 32+ char secret) with no default credentials, RBAC-ready middleware, input validation on all kubectl-bound fields, an explicit CORS origin allowlist, rate limiting and confirmation dialogs on destructive operations.

Report vulnerabilities through SECURITY.md. Deeper reading: docs/client/security-whitepaper.html.

Documentation map

I want to…Read
See everything Paqtra doesCapabilities and stack · Features · Overview
Understand the architectureArchitecture · Web architecture
Install, build and deployInstall guide · QUICKSTART.md · Deploy options
Call the APIREST API · OpenAPI · API reference
Use the terminal UITUI
Watch node and app metricsMetrics platform · Metric alerts · Anomaly detection · App collectors
Browse the repositoryRepository layout
Compare with PacketWolfPaqtra vs PacketWolf
ContributeCONTRIBUTING.md · AGENTS.md · CHANGELOG.md

Maturity

Paqtra is at 2.2.3 (CHANGELOG.md). Its boundary is fixed by design: it observes, investigates and authors CiliumNetworkPolicy; Cilium enforces. Kernel attribution, custom eBPF probes, threat detection and containment are not part of Paqtra; they are in PacketWolf (see above).


Part of the Zyvor stack

ProductRole next to Paqtra
PaqtraCilium-native flow tracing, drop explanations and policy preview
PacketWolfZyvor's commercial superset of Paqtra: kernel attribution, threat detection, containment, operator
NetraCNI-independent eBPF observe and leased emergency control; Paqtra never touches its programs
RivoraeBPF L4 load balancer for Kubernetes type: LoadBalancer, next to any CNI

→ zyvor.dev


Support

Free under Apache-2.0. If it helps you, you can donate any amount you like: https://rzp.io/rzp/utwdYh3. A donation is voluntary and supports development and maintenance. It is not a purchase: it buys no support, SLA, features, priority or license, and it is not tax-deductible (Zyvor AI Labs Private Limited is a company, not a charity). Zyvor Enterprise (supported releases, SLAs, a named contact and enterprise features) is separate: sales@zyvor.dev.

License

Paqtra is free and open source under the Apache License 2.0 (see NOTICE). Contributions are accepted under the same license.

Zyvor Enterprise adds what production teams ask for: supported releases, deployment and upgrade guidance, priority incident triage, a named technical contact and 24x7 critical intake. Plans and terms: docs/SUBSCRIPTION-MODEL.md · Pricing · sales@zyvor.dev.

Report vulnerabilities privately per SECURITY.md. Contributing: CONTRIBUTING.md.

Built on Cilium, Hubble, Ratatui, Axum, React and Tailwind CSS.


Find out why A can't reach B, today

Book a demo 30-day PoC Pricing Contact sales Star on GitHub

Similar modules