Building Blocks

Tools that make our agents more capable and improve how we work with them: communication (Biff, Beadle), media (Vox for audio, Lux for visuals), and memory (Quarry), with MCP Proxy as the integration layer and Punt Kit as the scaffolding underneath. Each ships as a library, CLI, MCP server, and REST API from a single codebase. Every block works standalone; when peers are present they discover each other and compose, so Biff speaks through Vox and PR/FAQ searches through Quarry.

How they connect →

Beadle

v0.16.0 beta

emailEmail for your AI engineering assistant.

An MCP server that gives Claude the ability to send and receive email. PGP encryption and signing for outbound mail, automatic decryption for inbound. Four-level trust model — trusted, verified, untrusted, unverified — so the agent knows how much to trust what it reads. Supports Proton Bridge (implicit TLS), external SMTP hosts, and Resend API. Written in Go.

  • 18 MCP tools — list, read, send, move/archive, batch move, download attachments, verify signatures, inspect MIME, classify trust, list folders, address book, whoami, switch identity, inbox polling
  • Four-level PGP trust model — trusted (Proton E2E), verified (valid PGP), untrusted (bad PGP), unverified (no signature)
  • Multi-identity via ethos — identity resolved per-request from ethos sidecar
  • Two-dimensional trust — transport trust + identity permissions (rwx per contact)
  • Proton Bridge native — IMAP STARTTLS for reading, SMTP for sending, Resend API fallback
  • Credential isolation — secrets resolved at runtime from OS keychain, never stored in config
  • Inbound PGP decryption and outbound PGP signing (RFC 3156)
  • Implicit TLS for IMAP and SMTP — no STARTTLS fallback required
curl -fsSL https://raw.githubusercontent.com/punt-labs/beadle/e4460d7/install.sh | sh
GitHub →Code LevelL1L4

Biff

v1.12.0

coordinationTeam communication for engineers who never leave the terminal.

Resurrects the BSD Unix communication vocabulary as MCP-native slash commands over a NATS relay. Humans and AI agents show up side by side — no separate app, no browser tab, no context switch.

Speaks through Vox
  • BSD Unix vocabulary: /who, /finger, /write, /read, /wall, /talk, /plan, /mesg, /last, /tty
  • Interactive REPL — biff launches a terminal client with readline, real-time notifications, and modal talk
  • Humans and autonomous agents appear side by side in /who
  • Status bar — live unread count, wall broadcasts, talk messages wrapping your existing status line
  • /talk for real-time conversations with ≤2s notification latency
  • Cross-machine messaging via NATS relay
curl -fsSL https://raw.githubusercontent.com/punt-labs/biff/5ef62a3/install.sh | sh
GitHub →PyPICode LevelL1L4

Lux

v0.21.0 alpha

visualsA visual output surface for AI agents.

ImGui display server connected by Unix socket IPC — agents send JSON element trees via MCP tools, the display renders them at 60fps. 25 element kinds including interactive controls (sliders, checkboxes, combos, color pickers), data visualization (tables, plots, markdown), and layout nesting (windows, tabs, groups). Incremental updates patch elements by ID without replacing the scene. The visual counterpart to Vox.

Visual counterpart to Vox
  • 25 element kinds — text, buttons, images, sliders, tables, plots, markdown, draw canvases, and more
  • Persistent dismissable tabs — each show() opens a new tab, dismiss individually with close button
  • Layout nesting — windows contain tab bars contain groups contain any element, arbitrarily deep
  • High-level tools — show_table for filterable data explorers, show_dashboard for metrics and charts
  • Interaction events — clicks, slider changes, menu selections queue as events the agent reads via recv
  • Auto-spawn — display server starts on first connection if it isn't running
  • Lux applet for Beads — filterable issue board with detail panel via /beads command
curl -fsSL https://raw.githubusercontent.com/punt-labs/lux/00c88f6/install.sh | sh
GitHub →PyPICode LevelL1L4

MCP Proxy

v0.4.1 beta

isolationOne daemon, many sessions — process isolation for MCP servers.

Lightweight Go proxy bridging MCP stdio transport to a shared daemon process via WebSocket. Claude Code spawns a fresh MCP server per session — if the server loads an ML model or holds a database, each session duplicates all of it. MCP Proxy puts a process boundary between them: a ~6MB binary with <10ms startup forwards messages to a single shared daemon. The integration layer that fronts Quarry, Vox, and Lux — one shared daemon behind every session.

Used by Quarry, Vox, and Lux
  • Process isolation — daemon crashes don't take down Claude Code sessions
  • Shared state — one embedding model, one audio device, one connection pool across sessions
  • Hook speed — relays JSON-RPC to daemon in ~15ms, within Claude Code's hook budget
  • Auto-reconnect — WebSocket keepalive with 5s ping, 2s pong timeout
  • Works with any MCP server — never inspects message content
curl -fsSL https://raw.githubusercontent.com/punt-labs/mcp-proxy/16bbb3d/install.sh | sh
GitHub →Code LevelL1L4

Punt Kit

v0.11.2 alpha

standardsInternal scaffolding and the shared standards our tools are built against.

Mostly internal plumbing: the standards for code quality, CI, and project structure that Punt Labs projects share, plus scaffolding to apply them. Its one broadly interesting idea is the universal access pattern — library, CLI, MCP server, and REST from a single codebase — which Punt Kit defines and `punt init` scaffolds.

  • Defines the universal access pattern: library, CLI, MCP, and REST from one codebase
  • Python standards: ruff, mypy, pyright, pytest conventions
  • punt init scaffolds new projects from templates
  • punt audit checks compliance against all standards
  • Beads issue tracking for per-project and org-wide work
curl -fsSL https://raw.githubusercontent.com/punt-labs/punt-kit/e36a3bf/install.sh | sh
GitHub →PyPICode LevelL1L4

Vox

v4.15.0

speech & musicVoice and music for your AI engineering assistant.

General-purpose text-to-speech and music engine with multi-provider support — ElevenLabs, OpenAI, and AWS Polly. Delivers spoken notifications when tasks finish, chimes when Claude needs input, synthesizes arbitrary text, and generates background music with vibe-driven instrumental tracks. Opt-in only: no audio until you enable it.

  • Mic API — unmute/record/vibe/who MCP tools with uniform segment input
  • Five providers — ElevenLabs (recommended), OpenAI, AWS Polly, macOS say, Linux espeak-ng
  • Voice or chime — /mute switches to audio tones with no TTS API calls
  • Session vibe — /vibe sets mood, auto-mode reads session signals
  • CLI product commands: unmute, record, vibe, on/off, mute, version, status
  • Background music generation — vibe-driven instrumental tracks via /music command
curl -fsSL https://raw.githubusercontent.com/punt-labs/vox/ad2aa26/install.sh | sh
GitHub →PyPICode LevelL1L4

Quarry

v2.0.0 beta

recallUnlock the knowledge trapped on your hard drive.

Local semantic search across PDFs, images, spreadsheets, source code, and 30+ formats. Finds what you mean, not just what you typed. Runs entirely offline — no API keys required.

Powers PR/FAQ research
  • Semantic search across 30+ file formats including scanned documents via OCR
  • Fully local — embedding model downloads once, everything stays on your machine
  • Sub-second results with LanceDB backend
  • Named databases keep work and personal content isolated
  • Session capture — ambient hooks record web research, preserve the free-form conversation transcript before compaction, and nudge when commands drift from project conventions; the session-history counterpart to Ethos's mission capture
  • Works as CLI, MCP server, or macOS menu bar app
curl -fsSL https://raw.githubusercontent.com/punt-labs/quarry/606d462/install.sh | sh