What Docker Agent is, the CLI plugin for building AI agents in YAML
Docker Agent is a Docker CLI plugin for building and running AI agents from declarative YAML, with MCP tools and multi-agent orchestration on any provider.
Docker Agent[1] is a Docker CLI plugin for building and running AI agents by describing them in a YAML file, no code required. It is maintained by Docker’s engineering team and the idea is simple: you define one or more agents, give them tools, and set them to collaborate with docker agent run. This article covers what it does, how you use it, and where it fits.
Key takeaways
- Docker Agent installs as a CLI plugin (
docker agent) and ships pre-installed in Docker Desktop 4.63 and later. - Agents are described in YAML: the model, the tools, and, when needed, several agents that delegate tasks to each other.
- Tools arrive over MCP (local, remote or container-based servers), plus built-in think, todo and memory utilities.
- It is not tied to one provider: it routes OpenAI, Anthropic, Gemini, Bedrock, Mistral, xAI or the Docker Model Runner.
- An agent is packaged and shared through any OCI registry, just like an image.
What it solves
Wiring an agent by hand means gluing the model, the tools and the orchestration together in code. Docker Agent moves that plumbing into declarative, versionable, shareable YAML, and reuses two things you already know from Docker: containers to isolate the tools and OCI registries to distribute them. If you already work with MCP servers, here they are first-class citizens. The README puts it bluntly:
"Define agents in YAML, give them tools, and let them work." — docker/docker-agent README
The difference from wiring it by hand is clearer piece by piece:
| Aspect | By hand (in code) | With Docker Agent |
|---|---|---|
| Agent definition | Python or TypeScript code | A declarative agent.yaml file |
| Tools | You integrate each SDK yourself | MCP servers, local or containerised |
| Isolating the tools | You build it | Containers, just like any image |
| Sharing the agent | Bespoke packaging | Any OCI registry (push / pull) |
| Model provider | Tied to the SDK you pick | OpenAI, Anthropic, Gemini, Bedrock, Mistral, xAI or the Model Runner |
What it looks like
A minimal agent fits in a few lines: a model and a set of tools over MCP.
agents:
root:
model: openai/gpt-5-mini
toolsets:
- type: mcp
ref: docker:duckduckgo
And you launch it with a single command:
docker agent run agent.yaml
docker agent new scaffolds the template interactively, and push and pull move the agent through an OCI registry.

Multiple agents and tools
The point is not a single agent, it is combining them. Docker Agent splits work between a root agent and subagents that delegate tasks, the same pattern we saw when comparing multi-agent frameworks. Each agent ships built-in utilities to think, manage tasks and remember, and can mount any MCP server, local, remote or container-based, plus RAG to query your own data.

Frequently asked questions
Does Docker Agent need Docker Desktop?
Not strictly. It ships pre-installed in Docker Desktop 4.63 and later, but you can also install it with Homebrew (brew install docker-agent) or from the binaries published on GitHub.
Which models does it work with?
Whichever you already have: it is compatible with OpenAI, Anthropic, Gemini, Bedrock, Mistral, xAI or the Docker Model Runner. It bundles no model of its own, so you need access to a provider.
How do I share an agent with my team?
You package it and push it to any OCI registry, just like a container image. It is then versioned and distributed with the same tools you already use for your images.
My take
It looks like a coherent move: Docker does not reinvent the agent, it packages the boring part. The declarative YAML and the OCI registry fit how we already ship software, and not locking you to a model provider is welcome.
The honest part: it is a young tool and declarative YAML has a ceiling; once the logic gets involved, sooner or later you end up writing your own tools. And it assumes you already have access to a model provider, because it routes whichever one you give it and bundles none. For prototyping and sharing reproducible agents it earns its place; for very bespoke logic you may outgrow it.
Conclusion
Docker Agent brings agent-building onto the ground Docker owns: a declarative file, containers for the tools, and OCI registries for sharing. With an Apache-2.0 license and pre-installed in Docker Desktop, trying an agent costs one command. It is worth it if you already live in the Docker ecosystem and want reproducible agents without wiring the plumbing by hand.
Sources
Source code
Access all the source code for this post on GitHub.
View on GitHub