Skip to main content
Fracta is a multi-agent orchestration system. It lets you spawn parallel AI agents from Claude Code, Codex, or OpenCode — each working on a separate task — and coordinate their output. You keep using your preferred AI CLI as you normally would; fracta adds the ability to fan work out to multiple agents and bring it back together. This guide covers the core concepts, how credentials flow, and which deployment mode to pick. Each mode has its own quickstart with step-by-step instructions.

Architecture at a Glance

Every deployment mode shares the same thin-client architecture. Your AI runtime talks to fracta serve over stdio; fracta serve forwards requests to the control plane over HTTP. The control plane owns agent lifecycle, and the gateway provides MCP tools to agents.
The thin-client boundary is the key insight: whether the control plane runs as a local daemon, a Docker container, or a Kubernetes pod, the client side is identical. Only the infrastructure behind the HTTP API changes.

How Your AI CLI Connects to Fracta

Each runtime reads its MCP server config from a specific file: All three point to the same command: bin/fracta serve --config <path>. The config path determines which deployment mode the thin client connects to. Each scaffold (fracta init --scaffold <mode>) materializes the deployment artifacts you’ll edit (fracta.yaml, deployment/). The runtime CLI configuration that wires fracta into Claude / Codex / OpenCode lives at the project root (.mcp.json for Claude, .codex/config.toml for Codex, opencode.json for OpenCode). The simplest version of those configs runs fracta serve from the project root:
fracta serve reads ./fracta.yaml from your project root by default, so the same minimal runtime config works regardless of which scaffold you initialized. Wrap the command with your secret manager (op run --, doppler run --, etc.) if you need to inject host-side env vars. After editing, restart your AI CLI (or /mcp in Claude Code) to reconnect.

How Credentials Work

There are two separate credential flows. Confusing them is the most common setup mistake.

1. LLM Runtime Credentials

These authenticate agents to their LLM provider (Bedrock, OpenAI). They are configured in fracta.yaml and resolved at spawn time.
Each runtime authenticates differently: Where the token command runs depends on the deployment mode:
  • Local process: on your machine (e.g. bedrock-auth-helper)
  • Docker Compose / K8s: inside the container/pod (e.g. fetch-bedrock-token script calling a corporate proxy)
For the full credential pipeline reference, see credential-pipeline.md.

2. MCP Server API Credentials

These authenticate MCP backend tools (Elasticsearch, VendorSecurity, etc.) to their external APIs. They are completely separate from LLM credentials. The injection pattern differs by deployment mode:
The key variables: Any secret injector that sets environment variables works: op run, doppler run, vault exec, or plain export. The repo defaults to 1Password (op) but nothing in fracta requires it. Without MCP server credentials, agents still get graph tools, strategy tools, and fracta lifecycle tools — they just can’t query Elasticsearch or VendorSecurity.

Deployment Modes

Fracta runs in three modes. All share the thin-client architecture above.
* Docker is only needed for FalkorDB in local-process mode. ** Runtime CLIs (claude, codex, opencode) are needed on the host for local-process mode. In Compose/K8s the container image bundles them.

Which mode should I use?

For detailed architecture and configuration of each mode, see deployment-modes.md.

Prerequisites


Quickstarts

Follow these in order of complexity:
  1. Local Process Quickstart — Build fracta, start FalkorDB, spawn your first agent. Everything runs on your machine. (~10 min)
  2. Docker Compose Quickstart — Build the Docker image, start 7 services, spawn agents through the compose stack. (~15 min)
  3. Kubernetes Quickstart — Deploy to a local K8s cluster, spawn agents as K8s Jobs. (~20 min)

Reference Documentation

Once you’re up and running, these references cover the full depth:

Glossary