Docker Agent

by Docker Agent framework in Agent frameworks & SDKs

Library Agent-ready

Docker, Inc. · docker.com since 1995 · who's behind it

Docker's open-source runtime for building and running AI agents from YAML or HCL files, formerly cagent. It runs as a docker agent CLI plugin with a terminal UI, headless mode, HTTP, MCP and A2A servers, and a Go library.

Good for Teams already on Docker who want agents defined in a file, shared through an OCI registry and run the same way in a terminal, in CI or behind an HTTP, MCP or A2A server.

Is this your product? Claim this listing or verify it

Assessment. An agent with an MCP server is eight lines of YAML, and the same file runs in a terminal, headless, or as an HTTP, MCP or A2A server. Usage telemetry is on by default and can carry prompts passed as command arguments, and two high-severity approval bypasses were fixed in August and September 2026.

Facts

Auth
None
Pricing
Free · Free · OSS
x402
No
Licence
Apache-2.0
Packages
oci docker/docker-agent
go github.com/docker/docker-agent
llms.txt
published
Last release
GitHub stars
4k
Interfaces
docker agent CLI plugin and docker-agent binary, terminal UI, headless run --exec, HTTP API server, OpenAI-compatible chat server, MCP server, A2A server, ACP, Go library
Agent definition
YAML or HCL, config schema version 16, with a JSON Schema in the repository (agent-schema.json). Older configs are migrated on load
Languages
Go library only. No code is needed for a YAML agent
Models
About 30 provider pages, including OpenAI, Anthropic, Google, Bedrock, Mistral, xAI and OpenRouter, plus local models through Docker Model Runner
MCP client
stdio, streamable HTTP and SSE, with OAuth and dynamic client registration. ref: docker:<name> pulls from Docker's MCP catalogue
Multi-agent
Sub-agents, hand-offs, background agents and transfer_task
Durable state
Sessions in SQLite, resumable with --session, and an API event stream with sequence numbers and replay
Approvals
Safety modes strict, balanced, restricted and autonomous, plus allow, ask and deny rules. The default asks for anything that isn't read-only
Sandbox
--sandbox runs the agent in a Docker Sandboxes VM. Off by default
Tracing
OpenTelemetry over OTLP/HTTP with --otel. Message content capture is off by default
Telemetry
On by default, sent to api.docker.com. TELEMETRY_ENABLED=false turns it off
Distribution
Agents push and pull as OCI artefacts. Binaries for macOS, Linux and Windows on amd64 and arm64, Homebrew, Docker Desktop 4.63 and later
Releases in 90 days
45 (v1.111.0 to v1.149.0)

Facts verified 2026-10-08 from vendor docs, repositories and package registries. JSON · Markdown

Strengths

  • An agent with one MCP server is eight lines of YAML, with a published JSON Schema for the config
  • Four safety modes, allow, ask and deny rules, and a --sandbox flag that runs the agent in a Docker Sandboxes VM
  • Headless run --exec with NDJSON events, structured output, and budgets for cost, tokens and time
  • The same config runs as an HTTP API, an OpenAI-compatible chat server, an MCP server or an A2A server
  • v1.149.0 on 7 October 2026, with 45 tagged releases in 90 days and a dated changelog

Weaknesses

  • Usage telemetry is on by default and command events can include prompts passed as arguments
  • Two high-severity advisories in 2026, each letting tools or shell commands run without approval, both fixed
  • Breaking changes ship in minor releases, three of them between July and September 2026
  • max_iterations is unlimited and no budget is set unless the config declares one
  • The --listen control plane has no built-in authentication, and A2A support is described as early

Before you call it notes for agents

  1. Set TELEMETRY_ENABLED=false before run or exec with a prompt on the command line. Telemetry is on by default and sends positional arguments
  2. For unattended runs pass --safety restricted with an allow-list, or --sandbox. Without a policy, --exec rejects every tool call that needs approval
  3. Set max_iterations and a budget block in the config. Both are unlimited by default
  4. Run 1.130.0 or later. Earlier versions ran shell commands embedded in local skills, and A2A sessions before 1.126.0 skipped tool approval
  5. Review runtime.safety in any config pulled from a registry or URL. An author default of autonomous runs every tool call unprompted

Who's behind it provenance 84/100

  • Legal entity namedDocker, Inc.20/20
  • Domain agedocker.com, registered 1995-01-25 (31 years)15/15
  • Endpoint on the vendor's domainno hosted endpointn/a
  • Terms of serviceread, states 7 of the 7 things a reader expects, and has 2 clauses that cost points6/10
  • Privacy policyread, states 8 of the 8 things a reader expects10/10
  • Status pagenot found0/10
  • Changelogpublished10/10
  • security.txtvalid10/10

Terms and privacy, as read

Terms of service dated 2026-08-26, states 7 of 7, 4 to know

TL;DR Dated 2026-08-26. States all 7 things a reader expects. To know before relying on it, limits on automated access, limits on benchmarking, cut-off without notice or for any reason and arbitration or a class action waiver.

Restricts automated accesscosts points
Use automated means (agents, robots, spiders, scrapers, or similar) to access the Website or Services except as permitted by Docker (for example, through documented APIs and within published limits).

A rule against bots, scrapers or automated means can cover an agent, depending on how the vendor reads it.

Restricts benchmarking or competitive usecosts points
Use the Services to build, operate, or offer a product or service intended to compete with Docker’s Services, or to mirror or replicate content for an unauthorized commercial service.

A clause against publishing test results or using the service to build something that competes.

Says access can be ended without notice or for any reason
Docker reserves the right to modify, restrict, or discontinue Free Hub Access at any time with or without notice, subject to the change-notice obligations in Section 18.

The vendor can suspend or close an account without warning, which would stop an agent mid-task.

Requires arbitration or waives class actions
You and Docker agree that the U.S. Federal Arbitration Act governs the interpretation and enforcement of these Terms, and that you and Docker are each waiving the right to a trial by jury or to participate in a class action.

Disputes go to an arbitrator, or a customer gives up joining a class action or a jury trial.

Gives the date it was last updated Last updated 2026-08-26
Effective as of: August 26, 2026

Without a date nobody can tell which version they agreed to.

Names the governing law or courts The law of the State of California
Except as provided in the SSA or another controlling written agreement, these Terms are governed by the laws of the State of California, without regard to conflict of laws rules.

Says where a dispute would be heard and under whose law.

States a limit on its liability Capped at the fees paid in the 6 months before the claim or $100
…PERMITTED BY LAW, DOCKER’S TOTAL AGGREGATE LIABILITY ARISING OUT OF OR RELATED TO THESE TERMS WILL NOT EXCEED THE AMOUNTS PAID BY YOU TO DOCKER FOR THE SERVICES GIVING RISE TO THE CLAIM DURING THE SIX (6) MONTHS BEFORE THE EVENT GIVING RISE TO LIABILITY OR ONE HUNDRED DOLLARS ($100), WHICHEVER IS GREATER.

Says the most the vendor would owe if the service causes a loss.

Says how the agreement or account can be ended
Docker may reclaim Account names or usernames (including on behalf of businesses or individuals that hold legal claims or trademarks to those usernames) and may suspend Accounts that use misleading business names or logos.

Says when the vendor can cut off access and what notice it gives.

Says how changes to the terms are announced Says it gives notice of a change
Docker may update these Terms from time to time by posting the updated version on the Website and, where required by law or where appropriate, providing additional notice.

Says whether a customer hears about a change before it binds them.

Lists what users may not do
You may not use the Services if you are listed on any U.S.

The acceptable-use rules an agent acting for a user has to stay inside.

Refers to a service level or uptime commitment
Docker Extensions Marketplace Developer Agreement (if you publish extensions): https://www.docker.com/legal/extensions_marketplace_developer_agreement/

Says whether availability is promised and where the promise is written.

Docker's total liability is capped at the greater of the amounts paid in the six months before the event and 100 US dollars.
DOCKER’S TOTAL AGGREGATE LIABILITY ARISING OUT OF OR RELATED TO THESE TERMS WILL NOT EXCEED THE AMOUNTS PAID BY YOU TO DOCKER FOR THE SERVICES GIVING RISE TO THE CLAIM DURING THE SIX (6) MONTHS BEFORE THE EVENT GIVING RISE TO LIABILITY OR ONE HUNDRED DOLLARS ($100), WHICHEVER IS GREATER.

Noted by a second reader on 2026-10-08.

By using the Services the user lets Docker use its trade names, trademarks, logos and domain names in marketing materials and customer lists to publicise that use.
By using the Services, you grant Docker permission to use your trade names, trademarks, service marks, logos, and domain names in Docker’s marketing materials, customer lists, financial reports, and website listings for the purpose of publicizing your use of the Services.

Noted by a second reader on 2026-10-08.

Users may not state that Output from the AI Functions is human generated, or that Docker or its subcontractors approved or endorsed it.
You will not represent that Output is human generated or approved or endorsed by Docker or its subcontractors.

Noted by a second reader on 2026-10-08.

The document · read 2026-10-08 · 5,584 words

Privacy policy dated 2026-08-26, states 8 of 8

TL;DR Dated 2026-08-26. States all 8 things a reader expects. The rules found no clause to flag.

Gives the date it was last updated Last updated 2026-08-26
Last Update: August 26, 2026

Without a date nobody can tell which version applied when data was collected.

Says what personal data is collected
Where you subscribe to Docker’s self-service AI services as an individual, this Privacy Policy applies to the personal data we collect from you as described below;

The basic statement a privacy policy exists to make.

Says how long data is kept Names a period of 7 days
earlier snapshots and images are deleted within 7 days.

Says when data sent to the service is deleted.

Says who else receives the data
(iv) credentials you choose to store — API keys and access tokens for third-party AI model providers and MCP-connected tools, which we store securely on your behalf in order to provide the Services;

Names the sub-processors or service providers the data is passed to, or where they are listed.

Says whether personal data is sold or shared for advertising Says it does not sell personal data
In the preceding 12 months we did not sell or share for cross context behavioral advertising, the personal information of California residents.

A plain statement either way.

Says what rights people have over their data
This includes the right to object to our processing of your personal data for direct marketing and the right to object to our processing of your personal data where we are performing a task in the public interest or pursuing our legitimate interests or those of a third party.

Access, correction, deletion and objection, and how to use them.

Gives a privacy contact privacy@docker.com
You may also contact Docker by emailing privacy@docker.com or by sending postal mail to: Docker, Inc., 3790 El Camino Real # 1052, Palo Alto, CA 94306, (415) 941-0376

An address or officer to send a request to.

Says where data is transferred or stored Relies on the Data Privacy Framework
Data Privacy Framework, Docker is responsible for the processing of personal data received from Customers from the EU, the UK, and Switzerland and onward transfers to a third party acting as an agent on our behalf.

The countries data goes to and the safeguard used.

A saved sandbox image or snapshot may contain the prompts and responses from the session.
If you save a sandbox image or snapshot, it may contain prompts and responses from your session.

Noted by a second reader on 2026-10-08.

Docker stores the API keys and access tokens for third-party AI model providers and MCP-connected tools that a user chooses to store.
API keys and access tokens for third-party AI model providers and MCP-connected tools, which we store securely on your behalf in order to provide the Services

Noted by a second reader on 2026-10-08.

Docker gives its customers information on how particular domains access and use the Website, Services and particular functions or uploads.
Docker also provides information on how particular domains (e.g., www.companyx.com ) access and use our Website, Services, and particular features or uploads to customers for their business purposes, for example, so they can improve or target their software and other offerings.

Noted by a second reader on 2026-10-08.

The document · read 2026-10-08 · 7,523 words

A reading by a fixed set of rules, each answered with the vendor's own sentence. It isn't legal advice, a rule can miss a clause or misread one, and the document itself is what binds. How it's read and scored.

The repository is under GitHub's docker organisation and SECURITY.md sends reports to security@docker.com. Docker's privacy policy names Docker, Inc.

www.docker.com/.well-known/security.txt gives security@docker.com, a policy URL and an expiry of 1 January 2030.

Main-branch docs are on docker.github.io/docker-agent and the stable docs on docs.docker.com/ai/docker-agent. Both loaded on 8 October 2026.

Docker's general terms and privacy policy are listed. Neither the README nor the telemetry page says which terms govern the open-source CLI.

No status page is listed because the software runs on the owner's machine. Usage telemetry goes to api.docker.com/events/v1/track per pkg/telemetry/client.go.

RDAP for docker.com gives a registration date of 1995-01-25.

Checked 2026-10-08 against the vendor's own pages and the domain registry. Provenance is half of Transparency & trust.

Live watched around the clock · updated 2026-10-08 16:08 UTC

  • github docker/docker-agent v1.149.0, released 2026-10-07
  • GitHub stars 4.2k
  • security.txt valid, expires 2030-01-01T05:00:00.000Z · 1 hour ago

Live data comes from our pollers, trackers and scrapers and doesn't change the score until a benchmark run. What we watch · /api/v1/live/docker-agent.json

Notable

  • Usage telemetry is on by default and command events include positional arguments, which for run and exec can include prompts. TELEMETRY_ENABLED=false turns it off source
  • Renamed from cagent. github.com/docker/cagent redirects to the repository, and the default config and data directories are still ~/.config/cagent and ~/.cagent source
  • Two high-severity advisories in 2026, both fixed. Tool calls without approval on the A2A server before 1.126.0, and shell commands run from local skills through read_skill before 1.130.0 source
  • Four safety modes (strict, balanced, restricted, autonomous) plus allow, ask and deny rules. The docs call them defence in depth and name --sandbox as the only isolation boundary source
  • A run attached with --listen exposes a control plane with no built-in authentication source
  • 45 tagged releases in the 90 days to 8 October 2026, v1.111.0 to v1.149.0, with breaking changes shipped in minor versions source

Reviews by the Anchor panel

Every review here is a desk review, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. The outcome says whether the reviewer's questions could be answered from public material. How reviews work.

n/a

0 desk reviews · from public material, no calls made

5★0
4★0
3★0
2★0
1★0
Reviewed by

Where reviews came from

PanelOur reviewer panel, every graded listing but Anthropic's. Desk reviews, no calls made
0
letme-checked agentsCalls checked through letme. Opens when calling through letme does
0
CommunityOpen submissions from other agents, not open yet
0

No reviews yet.

The review panel · How third-party agents will submit reviews · All reviews

Score breakdown methodology v0.4 · October 2026 research run

Assessed on 8 October 2026 from public evidence, against the published checklist. Confidence medium. Performance and Task success are pending until our probes and task suites run, so the total is over the 7 assessed categories, each weight divided by 80.

CategoryWeight this runScorePoints
Reliability 16%20 17.6
Read with the local-software lines, because the owner runs it. Binaries for macOS, Linux and Windows on amd64 and arm64 on every GitHub release, a Homebrew formula at 1.149.0, a Docker Hub image, and Docker Desktop 4.63 and later bundle it. Go 1.27 is the stated minimum for source builds (20). The ci workflow runs on every push to main with about 1,350 test files and an e2e directory. Nine of the last ten push runs passed, including the newest on 8 October, with one failure that morning (25). 25 open issues and 17 open pull requests, most labelled and answered, with 27 issues closed and 32 opened in the 30 days to 8 October. Open reports include a race in transfer_task (#4156), a hand-off dropped silently (#4242) and edit_file editing the first of several matches (#3929) (20). The changelog has Breaking Changes sections, but those changes ship in minor releases (1.114.0, 1.133.0 and 1.137.0 since July) and the major version has never moved (8). 1.149.0, past 1.0 (15).
Performancenot scored in this run 10%pending pending n/a
Schema & documentation 13%16.2 14.6
Framework reading. agent-schema.json in the repository is a JSON Schema for the whole config, and the chat server serves its OpenAPI document at /openapi.json. We found no OpenAPI document for the native /api server and didn't check the Go package reference (22). llms.txt on docker.github.io/docker-agent and on docs.docker.com (10). The docs say when to use the API server and when the chat server, compare six ways to pass large input, and state that permissions aren't a security boundary (17). Configs are parsed strictly, unknown fields fail to load with a hint, and safety fields accept four named modes only (13). An examples directory, a troubleshooting page of common errors and documented HTTP status codes for the API. We found no exit-code reference for run --exec (13). A dated CHANGELOG.md and a numbered config schema, now version 16, with migration on load (15).
Agent ergonomics 13%16.2 13.2
Framework reading, scored on what an agent with MCP needs. The README's agent with one MCP server is eight lines of YAML and no code, with deferred toolsets and a code mode (23). Budgets cap cost, tokens and time, tool results are bounded to 50 KiB since 1.148.0, and context is compacted, but max_iterations is unlimited and no budget applies unless declared (16). --json writes one NDJSON event per message, tool call and error, and the API documents 404, 409, 413 and 502 responses. No exit-code reference found for run --exec (14). Sessions resume from SQLite, the event stream replays from a sequence number, follow-ups accept an Idempotency-Key, and read-only and destructive tool annotations drive the safety modes (18). One binary and a model key or a local model are enough to start. The library is Go only (10).
Security & auth 14%17.5 12.2
Framework reading. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. Usage telemetry is on by default, with a notice on first start and TELEMETRY_ENABLED=false to stop it. The docs say command events include positional arguments, which for run and exec can include prompts, and error text (12). Four safety modes with allow, ask and deny rules, a default that asks for anything not read-only, --exec rejecting unapproved calls, --sandbox for a Docker Sandboxes VM, and HTTP MCP defaulting to loopback and restricted. A run's --listen control plane has no built-in authentication (19). The docs treat skill files and third-party configs as untrusted and restrict URI schemes against prompt injection, with no dedicated guidance page (10). Hooks for audit logging and approval decisions, opt-in OpenTelemetry traces, NDJSON transcripts and a session database (14). SECURITY.md with a 72-hour acknowledgement, a valid security.txt on docker.com, two advisories published on GitHub with fixed versions, and CodeQL and zizmor in CI. No paid bounty, and we saw no CVE identifiers on the advisories (15). SOC 2 isn't scored for a framework.
Payments & pricing 10%12.5 7.5
No payment protocol (0). Read with the self-hosted rule. The CLI is free and Apache-2.0 with nothing to buy, so 20, 20 and 20 on the last three lines. It installs without an account and runs local models through Docker Model Runner. Cloud sandboxes need a Docker login and weren't priced in this check.
Task successnot scored in this run 10%pending pending n/a
Maintenance & community 7%8.8 8.4
v1.149.0 published on 2026-10-07 (30). 45 tagged releases in the 90 days to 8 October, v1.111.0 to v1.149.0 (20). 25 open issues, most labelled by area and answered, 27 closed in the last 30 days and 17 open pull requests. We didn't measure reply times (21). The Homebrew formula was at 1.149.0 and the Docker Hub image was updated on 8 October, and the Go module ships from the same tags (15). Dependabot, CodeQL, zizmor and actions pinned to commit SHAs, with CI passing on main (10).
Transparency & trusteditorial 75, provenance 84 7%8.8 7.0
Apache-2.0 (30). The telemetry page lists what's collected and warns that arguments and error text can carry secrets or personal data. It doesn't name the endpoint (api.docker.com, per the source), link Docker's privacy policy or give a retention period (15). Breaking changes are dated in the changelog and one renamed variable kept a fallback for one release, with no written deprecation policy, and the changelog says frozen config schema versions aren't maintained long-term (10). Telemetry is disclosed in the README, the docs and a first-start notice, with an opt-out variable (20).
Negative events≤15
  • 2026-09-01. GHSA-8f6v-26r8-3r4h (high). read_skill was treated as read-only and could be auto-approved, yet it ran shell commands embedded in local skill files, so opening a repository that ships skills could run commands without a prompt. Affects 1.32.5 up to 1.130.0. Fixed in 1.130.0 and published, inside six months, -2. https://github.com/docker/docker-agent/security/advisories/GHSA-8f6v-26r8-3r4h
  • 2026-08-20. GHSA-f2g7-cxrq-x54m (high). docker agent serve a2a created unattended sessions with tool approval disabled, so a client that could reach the endpoint could run tools without approval. The listener binds to loopback by default. Affects 1.8.2 up to 1.126.0. Fixed in 1.126.0 and published, inside six months, -2. https://github.com/docker/docker-agent/security/advisories/GHSA-f2g7-cxrq-x54m
-4
Total76.5 · BB

Weight is the published weight, and the figure under it is that category's share of the 100 points in this run. A pending category has no score and adds nothing. What changes when it's scored.

Fix list 19 items, the biggest gain first

Everything this grade says the listing lacks, from the reasons above, the checklist, the provenance checks, the deductions, what we couldn't check and what the review panel asked for. Paste it into a coding agent working on Docker Agent, or have the agent fetch /fixes/docker-agent.md. A fix counts at the next check, once it's public.

Markdown · JSON

Show it
# Fix list: Docker Agent

From Anchor Terminal's listing at https://www.anchorterminal.com/tools/docker-agent, the October 2026 research run, assessed 8 October 2026. Grade BB, 76.5 out of 100.

This is everything the published grade says the listing lacks, the biggest possible gain to the total first. It comes from the reason given for each score, the checklist each category was scored against (https://www.anchorterminal.com/benchmark/#checklist), the provenance checks, the deductions, what we couldn't check and what the review panel asked for. A fix counts at the next check, once it's public.

For a coding agent working on Docker Agent: work through the items below in the product, its docs and its public pages. Each category gives the reason for its score, with the points each checklist item earned, and the checklist itself, so the gap is the items that earned less than their points. Change the product, not the wording, and keep a note of what you changed and where it's published.

## 1. Security & auth, 70 out of 100, up to 5.3 more on the total

Why it scored 70: Framework reading. 30 for what leaves the machine by default, 20 for approvals and sandboxing, 15 for prompt-injection posture, 15 for audit and 20 for the security programme. Usage telemetry is on by default, with a notice on first start and `TELEMETRY_ENABLED=false` to stop it. The docs say command events include positional arguments, which for `run` and `exec` can include prompts, and error text (12). Four safety modes with allow, ask and deny rules, a default that asks for anything not read-only, `--exec` rejecting unapproved calls, `--sandbox` for a Docker Sandboxes VM, and HTTP MCP defaulting to loopback and `restricted`. A run's `--listen` control plane has no built-in authentication (19). The docs treat skill files and third-party configs as untrusted and restrict URI schemes against prompt injection, with no dedicated guidance page (10). Hooks for audit logging and approval decisions, opt-in OpenTelemetry traces, NDJSON transcripts and a session database (14). SECURITY.md with a 72-hour acknowledgement, a valid security.txt on docker.com, two advisories published on GitHub with fixed versions, and CodeQL and zizmor in CI. No paid bounty, and we saw no CVE identifiers on the advisories (15). SOC 2 isn't scored for a framework.

The checklist (https://www.anchorterminal.com/benchmark/#checklist-security):

- 0 to 30, the credential model. 30 for OAuth 2.1 with scopes, or scoped and revocable keys with rotation. 20 for plain revocable API keys. 10 for one all-powerful key. 10 off when a secret can travel in a URL query string as a documented option.
- 0 to 20, read-only or least-privilege modes, and confirmation or approval for destructive actions.
- 0 to 15, prompt-injection posture where the tool returns untrusted content (documented mitigations or guidance). A tool that returns no untrusted content gets 10.
- 0 to 15, audit logs or per-call visibility for the operator.
- 0 to 20, a security programme. security.txt or a disclosure policy, a bug bounty, SOC 2 or ISO 27001, advisories handled in public.

Models are read for retention, whether API data trains models (and whether that's off by default), zero-retention options and certifications. Frameworks for telemetry defaults, approval hooks, guardrails and sandboxing.

## 2. Payments & pricing, 60 out of 100, up to 5 more on the total

Why it scored 60: No payment protocol (0). Read with the self-hosted rule. The CLI is free and Apache-2.0 with nothing to buy, so 20, 20 and 20 on the last three lines. It installs without an account and runs local models through Docker Model Runner. Cloud sandboxes need a Docker login and weren't priced in this check.

The checklist (https://www.anchorterminal.com/benchmark/#checklist-payments):

The published rubric, also on the [x402 page](https://www.anchorterminal.com/x402/).

- 40, a machine payment protocol (x402, MPP or L402) on the tool's own endpoints. 10 to 30 when it covers only some endpoints or only goes through a third party, and the note says which.
- 20, per-call or per-unit pricing published without a login. 10 for public plan-only pricing, 0 for "contact sales" or prices behind a login.
- 20, a free tier or trial that doesn't need a card.
- 20, autonomous onboarding, meaning an agent can get access without a person signing up in a browser (keyless use, x402, a programmatic key API).

Payment platforms and agent wallets rarely charge for their own API over a machine protocol, so the first line has steps for them, and the highest one that applies counts. 40 when x402, MPP or L402 runs on all their own endpoints, 30 when it runs on part of their own API, 25 when their merchants can accept one, 20 for running a facilitator, 15 for paying as a buyer, and 0 when the only protocol is their own. Merchant acceptance sits above a facilitator because the platform's own customers can charge agents through it, while a facilitator settles for sellers who wire up the protocol themselves. The counter-argument (a facilitator does more for the protocol as a whole) has a point. Each note says which step applied.

Open-source software you run yourself is scored on its hosted or paid option if it has one. A free, self-hosted package with nothing to buy gets 20, 20 and 20 for the last three lines, and 0 to 40 for the first only if it ships a payment protocol.

## 3. Agent ergonomics, 81 out of 100, up to 3.1 more on the total

Why it scored 81: Framework reading, scored on what an agent with MCP needs. The README's agent with one MCP server is eight lines of YAML and no code, with deferred toolsets and a code mode (23). Budgets cap cost, tokens and time, tool results are bounded to 50 KiB since 1.148.0, and context is compacted, but `max_iterations` is unlimited and no budget applies unless declared (16). `--json` writes one NDJSON event per message, tool call and error, and the API documents 404, 409, 413 and 502 responses. No exit-code reference found for `run --exec` (14). Sessions resume from SQLite, the event stream replays from a sequence number, follow-ups accept an `Idempotency-Key`, and read-only and destructive tool annotations drive the safety modes (18). One binary and a model key or a local model are enough to start. The library is Go only (10).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-ergonomics):

- 0 to 25, context cost. For MCP, the number and size of the tool definitions (25 for ten or fewer compact tools, 15 for 11 to 30, 5 for more than 30, plus up to 10 back for toolsets, dynamic loading or read-only subsets). For APIs, whether responses can be sized (field selection, limits, summaries).
- 20, pagination, filtering and output-size controls.
- 20, actionable, documented error responses, codes and messages an agent can recover from.
- 20, idempotency or safe retries, and for MCP the `readOnlyHint` and `destructiveHint` annotations.
- 15, sensible defaults, few required parameters, and official SDKs in at least two languages.

Models are read for tool use, structured output, prompt caching, context length, batch and SDKs. Frameworks for how much code and how many defaults a tool-calling agent with MCP needs.

## 4. Reliability, 88 out of 100, up to 2.4 more on the total

Why it scored 88: Read with the local-software lines, because the owner runs it. Binaries for macOS, Linux and Windows on amd64 and arm64 on every GitHub release, a Homebrew formula at 1.149.0, a Docker Hub image, and Docker Desktop 4.63 and later bundle it. Go 1.27 is the stated minimum for source builds (20). The ci workflow runs on every push to main with about 1,350 test files and an e2e directory. Nine of the last ten push runs passed, including the newest on 8 October, with one failure that morning (25). 25 open issues and 17 open pull requests, most labelled and answered, with 27 issues closed and 32 opened in the 30 days to 8 October. Open reports include a race in `transfer_task` (#4156), a hand-off dropped silently (#4242) and `edit_file` editing the first of several matches (#3929) (20). The changelog has Breaking Changes sections, but those changes ship in minor releases (1.114.0, 1.133.0 and 1.137.0 since July) and the major version has never moved (8). 1.149.0, past 1.0 (15).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-reliability):

Hosted APIs, MCP servers, models and platforms.

- 20, a public status page with component history (Statuspage, Instatus, BetterStack or the vendor's own).
- 0 to 30, the incident record for the last 90 days on that page. 30 for a clean record or trivial incidents only, 20 for minor incidents only, 10 for one major outage (an hour or more of a core API down, or errors across the board), 0 for several. 5 when there's no history we could read, and the note says so.
- 15, rate limits documented with numbers.
- 15, documented 429 or overload handling (Retry-After, backoff guidance), and idempotency keys or safe-retry guidance where writes are involved.
- 10, an SLA published for any paid tier.
- 10, the surface agents use is generally available, not beta or preview.

Local packages, SDKs, frameworks and stdio MCP servers.

- 20, installs from an official package with supported runtimes stated.
- 25, a public CI and test suite, passing on the default branch.
- 0 to 25, open crash or regression issues relative to activity (25 for few and handled, 0 for many, old and unanswered).
- 15, semver discipline and breaking changes called out in a changelog.
- 15, version 1.0 or later, or declared stable.

Protocols are read from their reference implementations, the public facilitators or servers, spec stability and test vectors.

## 5. Transparency & trust, 80 out of 100, up to 1.8 more on the total

Made of editorial 75, provenance 84.

Why it scored 80: Apache-2.0 (30). The telemetry page lists what's collected and warns that arguments and error text can carry secrets or personal data. It doesn't name the endpoint (api.docker.com, per the source), link Docker's privacy policy or give a retention period (15). Breaking changes are dated in the changelog and one renamed variable kept a fallback for one release, with no written deprecation policy, and the changelog says frozen config schema versions aren't maintained long-term (10). Telemetry is disclosed in the README, the docs and a first-start notice, with an opt-out variable (20).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-transparency):

- 0 to 30, source availability and licence clarity. 30 for open source under an OSI licence, 15 for closed with clear terms, 0 for unclear terms.
- 0 to 30, data handling and retention statements that agree with each other (privacy policy, DPA, retention periods, subprocessors).
- 0 to 20, a deprecation policy or notices with dates.
- 0 to 20, telemetry disclosed with an opt-out (local software), or subprocessors and data locations disclosed (hosted).

The other half of Transparency and trust is the provenance score, computed from checked facts (below). The category score is the mean of the two.

Provenance checks not met in full (half of this category, computed from checked facts):

- Terms of service: read, states 7 of the 7 things a reader expects, and has 2 clauses that cost points (6 of 10)
- Status page: not found (0 of 10)

## 6. Schema & documentation, 90 out of 100, up to 1.6 more on the total

Why it scored 90: Framework reading. agent-schema.json in the repository is a JSON Schema for the whole config, and the chat server serves its OpenAPI document at /openapi.json. We found no OpenAPI document for the native /api server and didn't check the Go package reference (22). llms.txt on docker.github.io/docker-agent and on docs.docker.com (10). The docs say when to use the API server and when the chat server, compare six ways to pass large input, and state that permissions aren't a security boundary (17). Configs are parsed strictly, unknown fields fail to load with a hint, and safety fields accept four named modes only (13). An examples directory, a troubleshooting page of common errors and documented HTTP status codes for the API. We found no exit-code reference for `run --exec` (13). A dated CHANGELOG.md and a numbered config schema, now version 16, with migration on load (15).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-schema):

APIs and MCP servers.

- 25, a machine-readable contract (a public OpenAPI file or similar; for MCP, typed JSON Schema inputs on every tool).
- 10, llms.txt or Markdown docs served for agents.
- 0 to 20, descriptions that say what a tool is for, when to use it and when not to, read from the tool definitions in the source or the API reference.
- 0 to 15, typed inputs with enums, constraints and required fields, and no free-form JSON blobs.
- 0 to 15, examples and documented error responses.
- 15, versioning and a public changelog.

Models are read from the API reference, the OpenAPI file, llms.txt, the structured-output and tool-use docs and the model cards. Frameworks from docs a model can follow, typed interfaces, examples and the API reference.

## 7. Maintenance & community, 96 out of 100, up to 0.4 more on the total

Why it scored 96: v1.149.0 published on 2026-10-07 (30). 45 tagged releases in the 90 days to 8 October, v1.111.0 to v1.149.0 (20). 25 open issues, most labelled by area and answered, 27 closed in the last 30 days and 17 open pull requests. We didn't measure reply times (21). The Homebrew formula was at 1.149.0 and the Docker Hub image was updated on 8 October, and the Go module ships from the same tags (15). Dependabot, CodeQL, zizmor and actions pinned to commit SHAs, with CI passing on main (10).

The checklist (https://www.anchorterminal.com/benchmark/#checklist-maintenance):

- 0 to 30, time since the last release, or the last published model or API change for a closed service. 30 within 30 days, 20 within 90, 10 within 180, 0 older.
- 20, at least three releases or dated changelog entries in the last 90 days.
- 0 to 25, responsiveness. Issues and pull requests answered on GitHub (the open issues and how recent the replies are). For closed services, a public changelog and a support or community channel that answers, 0 to 15.
- 15, presence in the official MCP registry under a verified namespace (MCP servers), or current official SDKs (APIs and models).
- 10, package health, current dependencies and CI.

Models are read for deprecation notice periods and model churn rather than release counts.

## Deductions

Each comes off the total. A fixed and documented problem counts for less at the next check.

- 2026-09-01. GHSA-8f6v-26r8-3r4h (high). `read_skill` was treated as read-only and could be auto-approved, yet it ran shell commands embedded in local skill files, so opening a repository that ships skills could run commands without a prompt. Affects 1.32.5 up to 1.130.0. Fixed in 1.130.0 and published, inside six months, -2. https://github.com/docker/docker-agent/security/advisories/GHSA-8f6v-26r8-3r4h
- 2026-08-20. GHSA-f2g7-cxrq-x54m (high). `docker agent serve a2a` created unattended sessions with tool approval disabled, so a client that could reach the endpoint could run tools without approval. The listener binds to loopback by default. Affects 1.8.2 up to 1.126.0. Fixed in 1.126.0 and published, inside six months, -2. https://github.com/docker/docker-agent/security/advisories/GHSA-f2g7-cxrq-x54m

## What we couldn't check

What we couldn't read counted as absent. Publishing it on a page a plain HTTP fetch can read (not only in a browser) lets the next check count it.

- Unchecked: CVSS scores and CVE identifiers for the two advisories. The GitHub API rate limit stopped the detail requests, and the advisory pages we loaded showed no CVE identifier
- Unchecked: reply times on issues and pull requests. Only counts, labels and comment numbers were read
- Unchecked: the Go package reference on pkg.go.dev
- Unchecked: pricing and terms for cloud sandboxes (`--cloud`), which need a Docker login
- The first release date isn't established. The clone was shallow, and the oldest tags date from July 2025 under the cagent name
- Neither the README nor the telemetry page says which Docker terms govern the open-source CLI, or how long telemetry is kept
- The category is arguable. Docker Agent is a finished CLI with a terminal UI as well as a Go library, so agent-harnesses would also fit. We kept the scout's frameworks
- No OpenAPI document was found for the native /api server, and no exit-code reference for `run --exec`

## Weaknesses

- Usage telemetry is on by default and command events can include prompts passed as arguments
- Two high-severity advisories in 2026, each letting tools or shell commands run without approval, both fixed
- Breaking changes ship in minor releases, three of them between July and September 2026
- `max_iterations` is unlimited and no budget is set unless the config declares one
- The `--listen` control plane has no built-in authentication, and A2A support is described as early

## What costs an agent a turn today

The notes we give agents before they call it. Each one is a workaround an agent shouldn't need.

- Set `TELEMETRY_ENABLED=false` before `run` or `exec` with a prompt on the command line. Telemetry is on by default and sends positional arguments
- For unattended runs pass `--safety restricted` with an allow-list, or `--sandbox`. Without a policy, `--exec` rejects every tool call that needs approval
- Set `max_iterations` and a `budget` block in the config. Both are unlimited by default
- Run 1.130.0 or later. Earlier versions ran shell commands embedded in local skills, and A2A sessions before 1.126.0 skipped tool approval
- Review `runtime.safety` in any config pulled from a registry or URL. An author default of `autonomous` runs every tool call unprompted

## When it's done

Send what changed and where it's published as a dispute (https://www.anchorterminal.com/builders/#disputes, or `POST https://www.anchorterminal.com/api/v1/contact` with `"kind": "dispute"`). Disputes are answered in public, and the listing is checked again by the same checklist. Paying for an audit or a listing claim changes nothing here.

What we couldn't check

  • Unchecked: CVSS scores and CVE identifiers for the two advisories. The GitHub API rate limit stopped the detail requests, and the advisory pages we loaded showed no CVE identifier
  • Unchecked: reply times on issues and pull requests. Only counts, labels and comment numbers were read
  • Unchecked: the Go package reference on pkg.go.dev
  • Unchecked: pricing and terms for cloud sandboxes (--cloud), which need a Docker login
  • The first release date isn't established. The clone was shallow, and the oldest tags date from July 2025 under the cagent name
  • Neither the README nor the telemetry page says which Docker terms govern the open-source CLI, or how long telemetry is kept
  • The category is arguable. Docker Agent is a finished CLI with a terminal UI as well as a Go library, so agent-harnesses would also fit. We kept the scout's frameworks
  • No OpenAPI document was found for the native /api server, and no exit-code reference for run --exec

Sources 24

  1. repository main branch (cloned), README, LICENSE, go.mod, agent-schema.json github.com · seen 2026-10-08
  2. changelog github.com · seen 2026-10-08
  3. security policy github.com · seen 2026-10-08
  4. repository statistics, releases and CI runs on main (GitHub API) api.github.com · seen 2026-10-08
  5. security advisories github.com · seen 2026-10-08
  6. advisory, shell commands in local skills github.com · seen 2026-10-08
  7. advisory, A2A tool calls without approval github.com · seen 2026-10-08
  8. open issues github.com · seen 2026-10-08
  9. telemetry (docs source) docker.github.io · seen 2026-10-08
  10. telemetry endpoint in source github.com · seen 2026-10-08
  11. permissions and safety modes (docs source) docker.github.io · seen 2026-10-08
  12. sandbox mode (docs source) docker.github.io · seen 2026-10-08
  13. headless and CI guide (docs source) docker.github.io · seen 2026-10-08
  14. API server (docs source) docker.github.io · seen 2026-10-08
  15. MCP mode (docs source) docker.github.io · seen 2026-10-08
  16. A2A server (docs source) docker.github.io · seen 2026-10-08
  17. OpenTelemetry (docs source) docker.github.io · seen 2026-10-08
  18. installation (docs source) docker.github.io · seen 2026-10-08
  19. llms.txt docker.github.io · seen 2026-10-08
  20. stable docs docs.docker.com · seen 2026-10-08
  21. Homebrew formula formulae.brew.sh · seen 2026-10-08
  22. Docker Hub image hub.docker.com · seen 2026-10-08
  23. security.txt docker.com · seen 2026-10-08
  24. privacy policy docker.com · seen 2026-10-08

Probe metrics

Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. The live panel above has what the pollers have seen so far, which doesn't change the score.

Pricing & changes

Free Free · OSS Free and Apache-2.0, with nothing to buy for the CLI. You pay your model provider, or nothing with a local model through Docker Model Runner. Cloud sandboxes need a Docker login and weren't priced in this check.

Recent changes

  • Latest release

Follow them as a feed at /feeds/tools/docker-agent.xml, or this listing's score history at history.json.

Get started

Install

brew install docker-agent   # bundled with Docker Desktop 4.63 and later as `docker agent`

Claude Code

claude mcp add --transport stdio myagent --env OPENAI_API_KEY=$OPENAI_API_KEY --env ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY -- docker agent serve mcp myorg/agent:tag --working-dir $(pwd)

Headless / CI

{
  "command": "docker agent run --exec --safety restricted agent.yaml --json \"$TASK\"",
  "env": {
    "OPENAI_API_KEY": "\u003ckey\u003e",
    "TELEMETRY_ENABLED": "false"
  }
}
Similar toolGrade ScoreShared capabilitiesx402
OpenAI Agents SDK OpenAIAA86.2agent.framework agent.multi-agent agent.durable agent.mcp-clientno
Pydantic AI PydanticA83.7agent.framework agent.multi-agent agent.durable agent.mcp-clientno
Agent Development Kit (ADK) GoogleBB74.7agent.framework agent.multi-agent agent.durable agent.mcp-clientno
LangGraph LangChainBB70.6agent.framework agent.multi-agent agent.durable agent.mcp-clientno
CrewAI CrewAIB67agent.framework agent.multi-agent agent.durable agent.mcp-clientno
AgentOS Framers Lab, Inc.BB75.3agent.framework agent.multi-agent agent.durableno

Machine-readable

Verify this listing

For the vendor

Is this your product? Link to this page from your own site or README, then tell us where. It shows people and agents that the listing is yours and that you know it's here. It never changes a grade, rank or review.

  1. Add the badge or a link

    Docker Agent on Anchor Terminal, BB, 76.5/100
    On a light page
    On a dark page
    <a href="https://www.anchorterminal.com/tools/docker-agent"><img src="https://www.anchorterminal.com/badges/docker-agent.svg" alt="Docker Agent on Anchor Terminal" height="20"></a>
    [![Docker Agent on Anchor Terminal](https://www.anchorterminal.com/badges/docker-agent.svg)](https://www.anchorterminal.com/tools/docker-agent)

    It counts on a page on docker.com or docker.github.io or one of their subdomains, or the README of github.com/docker/docker-agent.

  2. Tell us where it is

    We read it once now and again every week. If the link is missing two weeks in a row the listing says so, and a later check puts it back.

Agents send the same to POST /api/v1/verify as {"slug": "docker-agent", "url": "…"}, or call the verify_listing tool at /mcp. Ten checks an hour from one address. What we check.

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.