pyro-mcp/README.md

2 KiB

pyro-mcp

pyro-mcp is an MCP-compatible tool package for running ephemeral development environments with a VM lifecycle API.

v0.1.0 Capabilities

  • Split lifecycle tools for coding agents: vm_list_profiles, vm_create, vm_start, vm_exec, vm_stop, vm_delete, vm_status, vm_reap_expired.
  • Standard environment profiles:
  • debian-base: minimal Debian shell/core Unix tools.
  • debian-git: Debian base with Git preinstalled.
  • debian-build: Debian Git profile with common build tooling.
  • Explicit sizing contract for agents (vcpu_count, mem_mib) with guardrails.
  • Strict ephemerality for command execution (vm_exec auto-deletes VM on completion).
  • Ollama demo that asks an LLM to run git --version through lifecycle tools.

Runtime

The package includes a bundled Linux x86_64 runtime payload:

  • Firecracker binary
  • Jailer binary
  • Profile artifacts for debian-base, debian-git, and debian-build

No system Firecracker installation is required for basic usage.

Host requirements still apply:

  • Linux host
  • /dev/kvm available for full virtualization mode

Requirements

  • Python 3.12+
  • uv
  • Optional for Ollama demo: local Ollama server and llama:3.2-3b model.

Setup

make setup

Run deterministic lifecycle demo

make demo

The demo creates a VM, starts it, runs git --version, and returns structured output.

Runtime doctor

make doctor

This prints bundled runtime paths, profile availability, checksum validation status, and KVM host checks.

Run Ollama lifecycle demo

ollama serve
ollama pull llama:3.2-3b
make ollama-demo

Defaults are configured in Makefile. The demo streams lifecycle progress logs and ends with a short text summary.

Run MCP server

make run-server

Quality checks

make check

Includes ruff, mypy, and pytest with coverage threshold.

Pre-commit

make install-hooks

Hooks execute the same lint/type/test gates.