Skip to main content

korvid

A tool-using bird for your cluster.

An AI-native Kubernetes TUI. Work from the keyboard, let an embedded agent investigate alongside you, or connect your editor's assistant over MCP. All three work with the same cockpit; you approve every cluster write.

Documentation | Latest release | PyPI

korvid demo - browsing pods, filtering, describe, live logs, and help

Recorded against synthetic demo data.

Why korvid

  • Useful without AI. Browse resources, follow logs, inspect relationships, and operate workloads from a keyboard-first TUI.
  • An agent that shares your screen. It sees the current view and selection, gathers evidence through structured tools, and opens the same panes you use. Normal keyboard input stays available.
  • Bring your own assistant. Local MCP stdio connects an external host to the running TUI, rather than creating a second Kubernetes client.
  • Approval is not delegated. Writes require a user keystroke and a fail-closed audit append. If the audit record cannot be written, the mutation is blocked. --readonly disables writes; protected contexts add confirmation.

Quick start

Requires Python 3.11+ and a working kubeconfig. uv can fetch a suitable Python automatically and installs korvid in an isolated tool environment:

uv tool install 'korvid[all]'
# or: pipx install 'korvid[all]'
korvid

These commands install the latest published package. For a reproducible pinned install and migration details, use the release notes. For unreleased main development, install the reviewed source instead:

uv tool install 'korvid[all] @ git+https://github.com/hellices/korvid'

python -m pip install 'korvid[all]' also works inside an activated virtual environment, including one created inside a container. Do not install into system Python or bypass PEP 668 with --break-system-packages: an externally-managed-environment error means you should use uv tool, pipx, or a venv.

Direct: use the keyboard

Key Action
: Command bar: pods, deploy all, helm, ns <name>, ctx <name>
/ Filter the table
Enter / Esc Drill down / back up
d / l / s Describe / logs / shell
g Resource dependencies and dependents
Ctrl-A Embedded agent panel
? Every effective keybinding, including your remaps

Shell/debug and port-forward operations require kubectl; Helm writes require helm. Browsing Helm releases does not require the Helm CLI.

Agent: choose a model, save a profile

Run :ai to search the model catalog and configure a connection. Named profiles keep independent models, endpoints, and authentication settings; once profiles exist, :ai opens the manager and Enter activates one. Use :model <reference> to change the active profile's model.

The bundled catalog covers over 2,000 models through LiteLLM. Use a local Ollama endpoint, a cloud API, an OpenAI-compatible server, or the supported GitHub Copilot sign-in flow. The low/high model tier adjusts tool and prompt budgets; automatic tier selection is the default. See agent setup and model search.

External assistant: connect over MCP stdio

Start the TUI first:

korvid --mcp

For VS Code, add this to .vscode/mcp.json:

{
  "servers": {
    "korvid": {
      "type": "stdio",
      "command": "korvid",
      "args": ["mcp", "stdio"]
    }
  }
}

The adapter privately discovers and authenticates to the running TUI. The host must run as the same user and find korvid on its PATH. No token belongs in host configuration or prompts.

Read and UI-drive tools are available; optional write proposals still wait for your approval in the TUI. Reconnect the host after switching cluster context or restarting MCP. Multiple instances require explicit selection. See MCP setup for other hosts and the tool-specific data boundary. OAuth, remote MCP, and headless mode are not part of this local flow.

Features

Explore What you get
Overview · Keybindings The three interaction paths and keyboard guide
Cluster browsing Resource tables, split panes, metrics, multi-pod logs, filters, and session timeline
Operations Approval previews, node maintenance, tracked port-forwards, file transfer, and audit
Relationships · Helm and operators Bounded dependency graphs, release hierarchies, and install/upgrade workflows
Agent · MCP Screen-aware investigation and external assistant integration
Provider extensions SpecialFlow declarations for nonstandard transports and korvid.credential authentication chains
Observability · Air-gapped operation Bounded Prometheus/Loki queries, internal endpoints, and corporate CA trust
Performance · Threat model Measured limits, masking guarantees, and residual risks

Cluster writes remain approval-gated and audited at every tier. Sensitive reads are masked at their documented boundaries; arbitrary log text is not guaranteed secret-free. External MCP hosts own their downstream model policy. Report vulnerabilities privately through SECURITY.md. For implementation details, see the architecture.

Watch MCP follow

One client. Korvid follows. A local MCP SDK client makes four read-only calls: list_resources, diagnose_pod, get_logs, and helm_list_releases. The TUI follows the unhealthy pod list, describe pane, logs, and Helm release. This recording uses the internal Streamable HTTP transport; configure new external hosts with stdio as shown above.

Show or hide the 14-second MCP follow animation

korvid MCP follow - one client drives pods, logs, and Helm

Recorded against the synthetic in-memory cluster, with no external client session metadata.

Status

The TUI, embedded agent, and local MCP integration are available in published releases. This README describes main; check the latest release for shipped changes, compatibility, and migration notes.

Installation

Install only the features you need:

uv tool install 'korvid'                       # base TUI
uv tool install 'korvid[agent]'                # embedded agent
uv tool install 'korvid[mcp]'                  # MCP server and stdio adapter
uv tool install 'korvid[agent,observability]'   # agent plus Prometheus/Loki
uv tool install 'korvid[mcp,observability]'     # MCP plus Prometheus/Loki
uv tool install 'korvid[all]'                  # full feature set
uv tool install 'korvid[all,entra]'            # also add Entra ID authentication

Choose one variant. To reinstall or expand an existing installation, specify the complete extra set instead of layering extras into a tool environment:

uv tool install --force 'korvid[all]'
# or
pipx install --force 'korvid[all]'

Tagged versions should be installed from PyPI; the source install in Quick start is for unreleased code. Without [agent], the agent panel and its keybindings are absent. Explicitly requesting a missing feature fails with an install hint, rather than silently enabling a partial configuration.

Homebrew users can run brew install hellices/korvid/korvid. The tap uses Homebrew's Python and follows its own reviewed update schedule. It excludes [mcp]; use PyPI for the MCP server and stdio adapter.

Remove the tool with its owning installer:

uv tool uninstall korvid
# or
pipx uninstall korvid

Uninstall removes the package, not your configuration, audit history, exports, or OS keyring credential (korvid / github-oauth). State locations are documented and cleanup is explicit and opt-in in the release runbook.

Releases

Tagged releases publish the same wheel and source distribution to PyPI and GitHub, with checksums, SBOM, offline bundles, and provenance attestations. The versioned release notes contain pinned installation and verification commands. Maintainers follow the release runbook for exact-source validation, upgrade testing, and protected publication.

Development

git clone https://github.com/hellices/korvid && cd korvid
uv sync --frozen --dev --all-extras
uv run korvid
make check

Contributor guide | Windows contributor notes

Metadata

Release files for korvid 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for korvid 0.4.1
File Size Uploaded Provenance
korvid-0.4.1.tar.gz 9.5 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for korvid 0.4.1
File Interpreter ABI Platform
korvid-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 10.4 MB

Release files / korvid-0.4.1.tar.gz

Download URL korvid-0.4.1.tar.gz
Size 9.5 MB
Tags Source
SHA-256 checksum
How to use checksums
6d3f735174bc39bd586b483a60b252792314e4954941ca1ee024c32bcf6ac292
BLAKE2b-256 checksum
How to use checksums
90dbaac75c20ae6835f48a6516912515a02504b0eac05c4bc950103dcfc081cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / korvid-0.4.1-py3-none-any.whl

Download URL korvid-0.4.1-py3-none-any.whl
Size 923.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
85e8a4f888d0d076b5299012542fd496c50af74d08c581e45b8b5f7d8e102b4f
BLAKE2b-256 checksum
How to use checksums
f27aed7d446cb045b6ce083e73ea66a0556b9d25f2f95453a47d32e2c3f0ad16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Security for korvid 0.4.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for korvid-0.4.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page