outrig
Run an LLM agent's tools inside a podman-managed container. This is the
library crate: it acquires a container image, starts the container, connects the MCP servers
running inside it, and hands you a typed surface for listing and calling their tools. The agent
loop, LLM providers, and the outrig command-line tool live in the companion
outrig-cli crate — depend on this crate when you want to
embed container-isolated MCP tools in your own program and stay free of the LLM-side dependency
graph.
The curated entry point is [Outrig::launch].
Example
# async
LaunchSpec also has LaunchSpec::build (build an image from a Dockerfile) and
LaunchSpec::from_image_config (drive it from a parsed config), plus builder methods for mounts,
capability profiles, network policy, and embedded MCP handling. By default, OutRig merges MCP
servers from an image's org.outrig.mcp label with the launch spec. Library callers that want the
launch spec's MCP map to be authoritative can opt out:
# use ;
# use BTreeMap;
let spec = from_image
.with_embedded_mcp_policy;
Documentation
Full docs render as an mdbook at https://tgockel.github.io/outrig/. Source lives in the repository.
License
Licensed under the Apache License, Version 2.0.