# 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 ```bash make setup ``` ## Run deterministic lifecycle demo ```bash make demo ``` The demo creates a VM, starts it, runs `git --version`, and returns structured output. ## Runtime doctor ```bash make doctor ``` This prints bundled runtime paths, profile availability, checksum validation status, and KVM host checks. ## Run Ollama lifecycle demo ```bash 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 ```bash make run-server ``` ## Quality checks ```bash make check ``` Includes `ruff`, `mypy`, and `pytest` with coverage threshold. ## Pre-commit ```bash make install-hooks ``` Hooks execute the same lint/type/test gates.