Introduction
cagent is a powerful, customizable multi-agent system that lets you build, run, and share AI agents using simple YAML configuration.
What is cagent?
cagent is an open-source tool by Docker that orchestrates AI agents with specialized capabilities and tools. Instead of writing code to wire up LLMs, tools, and workflows, you declare your agents in YAML — their model, personality, tools, and how they collaborate — and cagent handles the rest.
Multi-Agent Architecture
Build hierarchical teams of agents that specialize in different tasks and delegate work to each other.
Rich Tool Ecosystem
Built-in tools for files, shell, memory, and todos. Extend with any MCP server — over 1000+ available.
Multi-Model Support
OpenAI, Anthropic, Google Gemini, AWS Bedrock, Docker Model Runner, and custom OpenAI-compatible providers.
Package & Share
Push agents to OCI registries and pull them anywhere — just like Docker images.
Multiple Interfaces
Interactive TUI, headless CLI, HTTP API server, MCP mode, and A2A protocol support.
Security-First Design
Tool confirmation prompts, containerized MCP tools via Docker, client isolation, and resource scoping.
Why cagent?
After spending years building AI agents using various frameworks, the Docker team kept asking the same questions:
- How do we make building agents less of a hassle? — Most agents use the same building blocks. cagent provides them out of the box.
- Can we reuse those building blocks? — Declarative YAML configs mean you can mix and match agents, models, and tools without rewriting code.
- How can we share agents easily? — Push agents to any OCI registry and run them anywhere with a single command.
cagent is built in the open so the community can make use of this work and contribute to its future.
How it Works
At its core, cagent follows a simple loop:
- You define agents in YAML — their model, instructions, tools, and sub-agents.
- You run an agent via the TUI, CLI, or API.
- The agent processes your request — calling tools, delegating to sub-agents, and reasoning step by step.
- Results stream back in real-time via an event-driven architecture.
# A minimal agent definition
agents:
root:
model: openai/gpt-4o
description: A helpful assistant
instruction: You are a helpful assistant.
toolsets:
- type: think
# Run it
$ cagent run agent.yaml
Jump straight to the Quick Start if you want to build your first agent right away.