← Back to archive

Repo of the Day

juan52878911/kindling: Herramientas MCP serverless sobre microVMs de Firecracker

Published: Sep 28, 2026

Open repository ↗

Herramientas MCP serverless sobre microVMs de Firecracker - juan52878911/kindling

Summary

kindling is a tool that runs microVMs — Firecracker on Linux, Virtualization.framework on macOS — that wake in milliseconds from frozen templates instead of booting. A single daemon and a kling CLI power the system, and its functionality grows through extensions for MCP servers, sandboxes, disposable databases, and Android emulators.

What it is useful for

The project targets workloads that need VM-grade isolation without paying a full boot cost. A frozen machine is a file on disk: it costs no CPU and no RAM until it is thawed, and isolation comes from a hypervisor rather than a shared kernel. The README documents four extensions:

  • kling mcp — runs any MCP server (npm or PyPI) as an on-demand service that wakes from a golden snapshot, behind one gateway for an AI agent.
  • kling sandbox — multi-tenant sandboxes for code agents with tokens, quotas, templates, and a prewarmed pool.
  • kling db — disposable Postgres, MySQL, Redis, or SQLite per test or agent, copied from a warm template in milliseconds.
  • kling phone — Android (Redroid) phones in microVMs, each with its own identity and an MCP server.

These map to realistic engineering problems: spinning up an isolated MCP tool per agent request, giving every CI test its own database, or handing a code agent a sandboxed runtime without slow container or VM starts.

How engineers can use it

Install on a Linux host with KVM (amd64 or arm64):

curl -fsSL https://raw.githubusercontent.com/juan52878911/kindling/main/scripts/install.sh | sh
kling up

On Apple Silicon (macOS 14+), no root is needed:

curl -fsSL https://raw.githubusercontent.com/juan52878911/kindling/main/scripts/install.sh | sh
brew install e2fsprogs
kling up -check
kling image copy min -from ssh://user@linux-arm64-host

The daemon can also run on a remote host via make deploy HOST=ssh://user@host, and the CLI can target it with kling context add lab ssh://user@host; the daemon never listens on a network port.

Quick start commands from the README:

kling try -- uname -a   # throwaway microVM
kling run -name demo
kling freeze demo
kling thaw demo
kling doctor            # diagnose daemon, versions, extensions
kling plugin install <name>

Engineers writing their own extensions can consult docs/extensions.md. Programmatic access to the daemon is documented in docs/api.md. The README points to SECURITY.md for the threat model and notes that some problems are not yet solved. Measured numbers, including thaw latency, live in docs/benchmarks.md alongside the hardware they were taken on, so users should look there for concrete performance figures rather than the README.