mrkeyoor.com_
Tue 01 Sept 17:40 UTC
LLM Toolsevaluationupdated 27 Aug 2026

docker-agent review

Docker Agent is a Go runtime and Docker CLI plugin for defining AI agents in YAML, giving them tools, and letting them delegate work to other agents. It connects to cloud or local models, accepts MCP tools, can index documents for retrieval, and packages agent configurations in OCI registries.

+8 / 4dstars / 7d
Verdict

Our Docker Agent run built in 213 seconds, then 267 of 271 tests passed before the suite exited with 4 failures, so teams should trial it behind explicit safety and cost limits before standardizing on it. It is a strong fit when YAML, Docker distribution, MCP, and several model providers belong in the same operating layer. Choose a narrower coding agent or framework if you need one assistant, a smaller codebase, or a clean source test result today.

We ran it

Lab card: what happened when we ran docker-agentScreenshot of docker-agent (docker.github.io/docker-agent)
Install✓ · 78s370 packages
Build✓ · 213s
Tests✗ · 529s267 passed · 4 failed of 271 (go test)
Repo2459 files~485,823 lines of source · 49.7 MB · 10 CI workflows · Dockerfile

Answers from our run

Does docker-agent build from source?

Dependencies installed in 78 seconds (370 packages), and the build succeeded in 213 seconds. We cloned commit b407a13 into a clean Debian container with 3 CPUs and no project-specific setup.

Do docker-agent's tests pass?

Not all of them: 267 of 271 passed and 4 failed when we ran the project's own test command (go test). Some failures need services or credentials a bare container does not have.

Who should not use docker-agent?

Teams requiring a green full test run before adoption: our commit b407a13 run ended with 4 failures out of 271 tests, and the supplied log tail did not identify their cause.

What are the alternatives to docker-agent?

Goose, AutoGen, LangGraph. Our Docker Agent run built in 213 seconds, then 267 of 271 tests passed before the suite exited with 4 failures, so teams should trial it behind explicit safety and cost limits before standardizing on it.

Setup3/5Build passed, but 4 of 271 tests failed after a long run
Docs5/5Models, permissions, MCP, RAG, telemetry, and deployment are covered
Community4/53,292 stars with pushes and issue activity on August 27, 2026
Maturity3/5v1.127.0 is active, but our full test run was not green

Who it’s for

Docker users who want agent definitions stored as reviewable YAML beside application code.
Teams that need several model providers, MCP servers, retrieval, and sub-agents behind one CLI.
Platform engineers who want to distribute agent configurations through an OCI registry.
Claude Code or Claude Desktop users who want a Docker Agent configuration exposed as MCP tools.
Developers prepared to set explicit tool permissions, model credentials, and cost limits before unattended runs.

Who it’s NOT for

Teams requiring a green full test run before adoption: our commit b407a13 run ended with 4 failures out of 271 tests, and the supplied log tail did not identify their cause.
Developers seeking a small wrapper around one model API: the checkout contained about 485,823 source lines, installed 370 packages, and took 213 seconds to build.
Large semantic-embeddings RAG jobs that cannot tolerate provider bursts: issue 4060 documents repeated indexing restarts after a 30-second start timeout and resulting rate-limit pressure.
Organizations that prohibit usage telemetry unless an opt-out is enforced: telemetry is enabled by default and includes command, agent, model, tool, token, cost, duration, and error metadata.
Anyone who runs unreviewed agent files from a registry: the permissions guide says an author can declare autonomous safety, which allows every tool call unless a higher-priority user rule blocks it.

Setup reality

Our sandbox installed 370 packages in 78 seconds. The build succeeded in 213 seconds. Tests ran for 529 seconds and failed: 267 passed and 4 failed out of 271. The visible log tail shows several packages reporting ok, followed only by FAIL, so it does not establish the cause.

A useful agent needs a model path. Cloud providers require the relevant account and credential; Docker Model Runner needs a local model and Docker. Docker Desktop 4.63+ includes the plugin, while Homebrew and release binaries are separate options. OCI pulls, remote MCP servers, and hosted models add their own access requirements.

Tool permissions and network exposure need deliberate configuration. HTTP MCP defaults to loopback and requires a bearer token for non-loopback use unless insecure mode is chosen. Telemetry is enabled by default but can be disabled with TELEMETRY_ENABLED=false.

A 485,823-line runtime puts agent teams in YAML

Docker Agent turns an agent system into a declarative file: models, instructions, tools, sub-agents, retrieval sources, permissions, and runtime choices can live together in YAML. The measured checkout contained about 485,823 source lines across 2,459 files, so the simple configuration surface sits on a large Go codebase. That size buys more than chat. The runtime handles delegation, built-in reasoning tools, several model providers, MCP servers, retrieval strategies, a terminal interface, and OCI packaging for sharing an agent configuration.

The Docker integration is practical for teams already using its distribution model. An agent can run as a local YAML file or as an OCI reference pulled from a registry. Docker Desktop 4.63+ includes the CLI plugin, and Homebrew or release binaries cover other installations. The same agent can also be served as MCP tools to Claude Desktop, Claude Code, or another compatible client. This is most useful when the configuration itself needs version review and promotion between environments.

One working agent still needs a model and a safety policy

The README's smallest example is short, but it still names a model and an MCP toolset. A cloud route needs the provider's credential, such as an OpenAI, Anthropic, or Google key. Docker Model Runner provides a local path after a model is downloaded, while custom OpenAI-compatible endpoints can point at an existing gateway. The setup guide also documents a Claude Code harness that uses the authenticated CLI from a subscription instead of a provider API key.

Permissions deserve equal attention. Docker Agent has 4 named safety modes: strict, balanced, restricted, and autonomous. Restricted denies destructive or unknown calls that lack an explicit rule, while autonomous allows them. The documentation warns that an agent author can place a default in YAML, including autonomous mode, although user-owned flags and settings take priority. Treat any registry reference as executable policy. Pin it, inspect its tools and safety defaults, then set a user-controlled mode before the first run.

What happened when we ran it

Our sandbox installed Docker Agent in 78 seconds, adding 370 packages in an unprivileged golang:1.24-bookworm container with 3 CPUs and 8 GB of RAM. The source build completed successfully in 213 seconds. The 49.7 MB checkout included 10 CI workflow files and a Dockerfile. It had no top-level tests directory, although the Go test command discovered and ran package tests throughout the repository.

The full test step ran for 529 seconds and exited with code 1. Go reported 267 passed and 4 failed out of 271. The supplied tail lists successful packages under the terminal UI, upstream, user configuration, identity, and worktree areas, then ends with FAIL. It does not show the names or error messages for the 4 failed tests. We can say the suite was not green at commit b407a13; the available evidence cannot support a cause.

A 30-second RAG timeout can turn into provider pressure

Docker Agent supports BM25, chunked embeddings, semantic embeddings, hybrid fusion, and reranking. Semantic embeddings are the expensive path because an LLM summarizes chunks before they are embedded. Open issue 4060 describes a failure pattern around a hardcoded 30-second toolset start timeout: unfinished indexing restarts on later agent loop iterations, repeats work for a file, and can run into provider rate limits. The report is detailed enough that teams planning a large knowledge base should test cold indexing before connecting production credentials.

Issue 4067 narrows a related case in code mode. When some toolsets start and another receives a retryable error, the healthy subset remains available, but the degraded subset can be retried without the intended rate-limit backoff. Both reports were active on August 27, 2026. A cautious deployment can begin with BM25 or ordinary chunked embeddings, cap provider budgets, and watch debug logs during a representative initial index. The current docs also say semantic indexing adds an LLM call per chunk and extra API cost.

MCP HTTP has safe defaults, while telemetry starts enabled

MCP mode uses stdio by default. Its HTTP option listens on 127.0.0.1:8081, and a non-loopback address requires a bearer token unless the operator explicitly selects insecure operation. HTTP sessions default to restricted safety after command-line and agent configuration are considered. Those defaults are sensible, but exposing an agent still means protecting its model credentials, working directory, allowed tools, and registry source. An authenticated endpoint can still perform harmful work if its tool policy is too broad.

Anonymous usage telemetry is enabled by default and can be disabled with TELEMETRY_ENABLED=false. The documented events include command names and outcomes, agent and model names, tool calls, token totals, estimated costs, session durations, and error counts. Docker says prompts, responses, files, keys, and personal information are excluded. Organizations with strict outbound-data rules should set the opt-out centrally and verify it rather than relying on each developer to remember an environment variable.

v1.127.0 is active, but the 529-second test failure matters

GitHub recorded a push on August 27, 2026, and release v1.127.0 was published on August 21. That release added PAC-aware egress with SSRF protections and fixed toolset startup from blocking a conversation turn. GitHub showed 3,292 stars and 52 combined open issues and pull requests when fetched. New issues and same-day closed work on August 27 show active maintenance; the combined open count should not be read as 52 confirmed bugs.

Docker Agent earns a serious trial when a team needs one packaged layer for YAML agents, MCP, multiple providers, retrieval, and Docker distribution. Our 370-package install and 213-second build show that this convenience carries real code and dependency weight. The 4 failed tests prevent a blanket recommendation for the measured commit, especially when the log tail cannot explain them. Run the full suite in your own environment, start with restricted permissions, turn off telemetry if policy requires it, and test RAG indexing against a capped provider account before wider use.

Alternatives

ProjectWhat it isPick it when
Goose gh↗An extensible local agent focused on carrying out development work with different models.pick this instead when you want an interactive coding agent rather than a YAML runtime for packaging agent teams.
AutoGen gh↗A programming framework for composing agents and event-driven agent systems.pick this instead when agent behavior belongs in application code and Python or .NET is a better control surface than YAML.
LangGraph gh↗A framework for stateful agent graphs with explicit control over execution flow.pick this instead when durable state and graph-level orchestration matter more than Docker CLI and OCI packaging.

What people are saying

  1. [github-trending] docker/docker-agent

Sources

  1. Docker Agent repository and README
  2. Docker Agent v1.127.0 release
  3. Docker Agent model setup
  4. Docker Agent permissions
  5. Docker Agent telemetry
  6. Docker Agent MCP mode
  7. RAG retry storm report
  8. Code-mode partial-start retry report

More llm tools reviews

rig · open-knowledge · graphiti · cve-mcp-server · minimind · SillyTavern · the whole board →