Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Inspect Kairon VMs, network policy and VM-edge flows from an agent. Read-only by default.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
KAIRON_KUBE_URL, KAIRON_KUBE_TOKEN, KAIRON_KUBE_CA, KAIRON_KUBE_INSECURE, KAIRON_UI_URL, KAIRON_UI_TOKEN, KAIRON_UI_CA, KAIRON_UI_INSECURE, KAIRON_LLM_URL, KAIRON_LLM_MODEL, KAIRON_LLM_API_KEY, KAIRON_MCP_TENANTValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"kairon": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"KAIRON_KUBE_URL",
"-e",
"KAIRON_KUBE_TOKEN",
"-e",
"KAIRON_KUBE_CA",
"-e",
"KAIRON_KUBE_INSECURE",
"-e",
"KAIRON_UI_URL",
"-e",
"KAIRON_UI_TOKEN",
"-e",
"KAIRON_UI_CA",
"-e",
"KAIRON_UI_INSECURE",
"-e",
"KAIRON_LLM_URL",
"-e",
"KAIRON_LLM_MODEL",
"-e",
"KAIRON_LLM_API_KEY",
"-e",
"KAIRON_MCP_TENANT",
"ghcr.io/zyvorai/kairon-mcp:v0.10.2"
],
"env": {
"KAIRON_KUBE_URL": "your-value",
"KAIRON_KUBE_TOKEN": "your-value",
"KAIRON_KUBE_CA": "your-value",
"KAIRON_KUBE_INSECURE": "your-value",
"KAIRON_UI_URL": "your-value",
"KAIRON_UI_TOKEN": "your-value",
"KAIRON_UI_CA": "your-value",
"KAIRON_UI_INSECURE": "your-value",
"KAIRON_LLM_URL": "your-value",
"KAIRON_LLM_MODEL": "your-value",
"KAIRON_LLM_API_KEY": "your-value",
"KAIRON_MCP_TENANT": "your-value"
}
}
}
}Run this in your terminal
claude mcp add kairon --env KAIRON_KUBE_URL=your-value --env KAIRON_KUBE_TOKEN=your-value --env KAIRON_KUBE_CA=your-value --env KAIRON_KUBE_INSECURE=your-value --env KAIRON_UI_URL=your-value --env KAIRON_UI_TOKEN=your-value --env KAIRON_UI_CA=your-value --env KAIRON_UI_INSECURE=your-value --env KAIRON_LLM_URL=your-value --env KAIRON_LLM_MODEL=your-value --env KAIRON_LLM_API_KEY=your-value --env KAIRON_MCP_TENANT=your-value -- docker run -i --rm -e KAIRON_KUBE_URL -e KAIRON_KUBE_TOKEN -e KAIRON_KUBE_CA -e KAIRON_KUBE_INSECURE -e KAIRON_UI_URL -e KAIRON_UI_TOKEN -e KAIRON_UI_CA -e KAIRON_UI_INSECURE -e KAIRON_LLM_URL -e KAIRON_LLM_MODEL -e KAIRON_LLM_API_KEY -e KAIRON_MCP_TENANT ghcr.io/zyvorai/kairon-mcp:v0.10.2Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"kairon": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"KAIRON_KUBE_URL",
"-e",
"KAIRON_KUBE_TOKEN",
"-e",
"KAIRON_KUBE_CA",
"-e",
"KAIRON_KUBE_INSECURE",
"-e",
"KAIRON_UI_URL",
"-e",
"KAIRON_UI_TOKEN",
"-e",
"KAIRON_UI_CA",
"-e",
"KAIRON_UI_INSECURE",
"-e",
"KAIRON_LLM_URL",
"-e",
"KAIRON_LLM_MODEL",
"-e",
"KAIRON_LLM_API_KEY",
"-e",
"KAIRON_MCP_TENANT",
"ghcr.io/zyvorai/kairon-mcp:v0.10.2"
],
"env": {
"KAIRON_KUBE_URL": "your-value",
"KAIRON_KUBE_TOKEN": "your-value",
"KAIRON_KUBE_CA": "your-value",
"KAIRON_KUBE_INSECURE": "your-value",
"KAIRON_UI_URL": "your-value",
"KAIRON_UI_TOKEN": "your-value",
"KAIRON_UI_CA": "your-value",
"KAIRON_UI_INSECURE": "your-value",
"KAIRON_LLM_URL": "your-value",
"KAIRON_LLM_MODEL": "your-value",
"KAIRON_LLM_API_KEY": "your-value",
"KAIRON_MCP_TENANT": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"kairon": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"KAIRON_KUBE_URL",
"-e",
"KAIRON_KUBE_TOKEN",
"-e",
"KAIRON_KUBE_CA",
"-e",
"KAIRON_KUBE_INSECURE",
"-e",
"KAIRON_UI_URL",
"-e",
"KAIRON_UI_TOKEN",
"-e",
"KAIRON_UI_CA",
"-e",
"KAIRON_UI_INSECURE",
"-e",
"KAIRON_LLM_URL",
"-e",
"KAIRON_LLM_MODEL",
"-e",
"KAIRON_LLM_API_KEY",
"-e",
"KAIRON_MCP_TENANT",
"ghcr.io/zyvorai/kairon-mcp:v0.10.2"
],
"env": {
"KAIRON_KUBE_URL": "your-value",
"KAIRON_KUBE_TOKEN": "your-value",
"KAIRON_KUBE_CA": "your-value",
"KAIRON_KUBE_INSECURE": "your-value",
"KAIRON_UI_URL": "your-value",
"KAIRON_UI_TOKEN": "your-value",
"KAIRON_UI_CA": "your-value",
"KAIRON_UI_INSECURE": "your-value",
"KAIRON_LLM_URL": "your-value",
"KAIRON_LLM_MODEL": "your-value",
"KAIRON_LLM_API_KEY": "your-value",
"KAIRON_MCP_TENANT": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
KAIRON_KUBE_CA envKAIRON_KUBE_INSECURE envKAIRON_UI_URL envKAIRON_UI_CA envKAIRON_UI_INSECURE envKAIRON_LLM_URL envKAIRON_LLM_MODEL envKAIRON_MCP_TENANT envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
The registry name was verified with the GitHub account zyvorai, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: KAIRON_KUBE_URL, KAIRON_KUBE_TOKEN, KAIRON_UI_TOKEN, KAIRON_LLM_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.10.2) reached the registry 22 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Mcphost
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Hosted MCP runtime where your agent publishes its own tools by tool call and keeps working.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Real virtual machines, scheduled by Kubernetes, run straight on KVM. No virt-launcher pod per VM, no libvirt in the hot path, no operator zoo. A Machine is desired state, kairon-controller places it, and kairon-node runs it on FluxVM with QEMU, Cloud Hypervisor, Firecracker or FluxVM's own hypervisor.
Zero pods per VM · Four hypervisors, one CRD · eBPF on every VM edge · No silent split-brain · AI agents built in (MCP)
Dashboard tour captured against the local sample-data stack ( how ), not a production cluster.
Experimental operations: Kairon Rehearsal tests upgrades on isolated CSI copies. Advanced operations adds health-gated configuration change plans, application recovery verification, traffic/RTT placement recommendations, and incident reproduction with fix verification. Includes runnable scenarios and failure-path tests. VM/CSI and host-isolation hardware qualification is still pending.
New since v0.6.0 (latest tag: v0.10.2; the rows down to incident bundles are new in v0.10.0):
| Agent sessions (experimental) | An AgentSession is a FluxVM agent session: a sandbox VM with a git workspace, a compiled egress/filesystem/process policy, budgets, checkpoints, live forks and an event ledger, scheduled and quota-counted like a Machine. Commands can wait for an admin's approval; chunked uploads, an interactive shell, credential grants the guest never sees, and the Mac guest's screen. kaironctl session, session_* MCP tools, both SDKs and a dashboard page. Mac nodes on FluxVM 0.4.8+. Guide → | |
| Coming from virtctl | kaironctl covers virtctl's verbs: console and VNC (with screenshots), restart/soft-reboot, exports and memory dumps, guest info, SSH keys and passwords, expose, freeze, guestfs, cdrom, create clone, objectgraph, --dry-run -o yaml, wait. CLI → | |
| Self-test: is it all working? | kaironctl selftest (or the dashboard's Self-test page) boots a tiny CirrOS VM and proves power, network, hotplug, snapshot-restore and more, with live coloured logs and a PASS / FAIL / SKIP table. deploy-remote.sh --self-test runs it right after a deploy. Guide → | |
| Deploy without building locally | deploy-remote.sh --remote-build copies a small source tarball and compiles on the host, so a laptop needs no Go, no Node and no build cache. Fastest path → | |
| HTTPS by default | The dashboard and the VNC console relay serve TLS out of the box (generated or bring-your-own certificate); plain HTTP is a named opt-out. Dashboard guide → | |
| Mac Fabric (experimental) | Several Macs as one pool: each publishes its chip, macOS, Rosetta, nested virtualization and Thunderbolt Bridge; spec.apple places vz Machines by them, and a MacNetwork gives Machines on different Macs one private network over Thunderbolt. Run against simulated Macs so far. Guide → | |
| Cross-cluster DR (experimental) | A MachineProtectionPlan replicates a group of Machines to S3 and keeps their specs and restore points on a second cluster, with RPO and RTO objectives. kaironctl dr failover brings them up there in dependency order, --planned with nothing lost; kaironctl dr test restores copies into an isolated network while production runs, also on a schedule. Machines keep their VirtualNetwork addresses and DNS names follow the active site through external-dns. Guide → | |
| vGPU profiles and GPU health (experimental) | spec.devices[].profile gives a Machine a slice of a GPU (NVIDIA vGPU or MIG-backed profile) instead of a whole one, scheduled by free instances and GPU memory, created when the Machine starts and returned when it stops; unhealthy GPUs are skipped. Guide → | |
| Accelerator profiles (experimental) | A cluster-scoped MachineAcceleratorProfile names an accelerator shape (count, vendor or vGPU profile, memory per device, one PCIe root for peer to peer, one NUMA node, an RDMA NIC next to the GPUs); Machines ask for it with spec.accelerators. The profile's status says how many more Machines fit on each node. Guide → | |
| Node maintenance and DRS (experimental) | kaironctl node maintenance enter NODE cordons a node, migrates its Machines away, and stops or hibernates the ones with nowhere to go; exit puts everything back. DRS (`-drs-mode recommend | automatic) evens out reserved CPU and memory across nodes, or moves Machines off nodes whose measured CPU, memory or IO pressure (PSI) is high, and kaironctl drs plan` previews it. Guide → |
| Per-disk I/O QoS | IOPS and bandwidth limits on a Machine's root and data disks (io.throttle), with bursts, enforced by QEMU and changed live on a running Machine. Guide → | |
| NVMe-oF storage (experimental) | Kairon's CSI driver provisions nvme-tcp and nvme-rdma volumes through the kernel NVMe target with native multipath; raw Block volumes boot Machines in place and attach as data disks with per-disk QEMU I/O. Guide → | |
| Hibernate (experimental) | spec.powerState: Hibernated saves RAM and device state to disk and frees the node; resume continues the same boot, on its own node or a compatible one with shared storage. Guide → | |
| Virtual networks (experimental) | VirtualNetwork: isolated IPv4 networks routed in eBPF with a Geneve overlay, per-network gateway, egress SNAT and floating IPs. Guide → | |
| Elastic memory (experimental) | Run more Machine memory than the node has: guaranteed minimums, a virtio-balloon reclaim loop and a KaironMemoryPressure signal the scheduler respects. Guide → | |
| Topology-aware placement (experimental) | NUMA, GPU, NIC and NVMe locality: the scheduler picks the node, exact CPUs, NUMA memory and PCI devices together. Guide → | |
| Incident bundles (experimental) | kaironctl diagnose machine --deep: one redacted tar.gz with the Machine's cluster state plus QMP, cgroup, console, dataplane and pcap from its node, and an opt-in guest memory dump. Guide → | |
| Lifecycle, diagnostics and namespaces (v0.9) | kaironctl doctor, connectivity test, logs, events, sysdump, config, history/rollback; kaironctl upgrade keeps your previous Helm values. The dashboard has a namespace selector, an all-namespaces Machines view and bulk Start/Stop. Release notes → | |
| `v1` API and new dashboard | kairon.zyvor.dev/v1 is the storage version (v1beta1/v1alpha1 served, deprecated). The dashboard is redesigned and gains Storage (Atlas), Pools & claims, Images and Backups pages; kairon-ui now listens on :18082. Guide → | |
| Native macOS node | kairon-node registers an Apple silicon Mac as a Node and runs backend: vz Machines through FluxVM. Verified on an M4; multi-Mac clusters not yet. Guide → · Mac cluster → | |
| Developer ecosystem kit | Python and TypeScript SDKs, digest-pinned recipes, disposable-VM GitHub Actions, Terraform composition. Kit → | |
| Fleet automation (experimental) | Opt-in Redfish fencing, balancing, autoscaling, backup and recovery plans, template claims, usage CSV and a Fleet dashboard. Guide → | |
| Kairon vs KubeVirt benchmark | Same node, same guest, one script driving both; method and raw JSON in docs/benchmarks. | |
| Import from VMware | kaironctl import ova streams an OVA once, reads vCPU, memory and firmware from the OVF, and FluxVM converts and repairs the disk. Guide → | |
| Warm pools and claims | MachinePool keeps booted Machines ready; a MachineClaim binds one in a single reconcile tick, with per-claim egress allowlists. Guide → | |
| VM fork | kaironctl fork and the MCP fork_machine tool fork a running Machine through FluxVM. Guide → | |
| Agent sandboxes (experimental) | spec.lifecycle pauses idle Machines and wakes them on connect, deletes them after a max lifetime; paused warm pools, per-claim usage, and Sandbox classes in both SDKs. Guide → | |
| Backups | MachineBackup and MachineBackupRestore with guest filesystem freeze, plus Atlas S3 backup jobs for Atlas volumes. Incremental S3 backups with policies and GFS retention (experimental). Guide → | |
| Live disks and NICs | Hot-attach PVC disks and hot-add or remove extra NICs on running Machines (kaironctl disk, kaironctl nic). Guide → | |
| Tenant fence | kairon.zyvor.dev/tenant-fence turns spec.tenant into an east-west deny of other tenants' guest addresses in the namespace. Guide → | |
| Preemption by Halt | An opted-in high-priority Machine that can't be placed halts an opted-in lower-priority one, and it resumes when the preemptor leaves. Guide → |
| Hotplug survives restart | A stop/start boots at the hotplugged CPU and memory; hotplug-persist writes it back into spec.
Only the beginning is shown; read the rest in the repo