Skip to main content
Glama

docs_lookup

Read-only

Look up Docker SDK, CLI, or registry reference docs by section. Fetch any section's content to get exact syntax for Compose, Dockerfile, or buildx files before using Docker tools.

Instructions

Look up Docker SDK/CLI/registry reference documentation by section.

A tool-callable mirror of the docker-docs:// resources, for clients that can't read MCP resources (e.g. Claude Desktop, Cursor). Always registered regardless of DOCKER_MCP_SERVER_DISABLE - looking something up costs nothing and isn't tied to any single Docker feature area - but an individual section still refuses if the domain it documents is disabled, matching the equivalent docker-docs://{section} resource exactly.

Omit section to list every available section with its source URL (same as docker-docs://contents); pass a section name to fetch that page's content (same as docker-docs://{section}). Most useful before constructing an extra_kwargs-style passthrough dict for a tool like container_run/container_create/service_create (their docstrings only list common keys, not every key docker-py accepts), or before writing Compose/Dockerfile/buildx bake-file syntax, which no tool generates.

Args: section: Section name (from a no-argument call's index); omit to list all sections instead

Returns: str: JSON section index (no section) or that section's raw HTML/Markdown content

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sectionNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.0.1

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds valuable behavioral context: the tool is always registered regardless of DOCKER_MCP_SERVER_DISABLE, it costs nothing, it is not tied to any single Docker feature area, and individual sections still refuse when their documented domain is disabled. It also discloses that the return value is a JSON index or raw HTML/Markdown content. These details go well beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place. It front-loads the one-sentence purpose, then explains operational behavior, use-case timing, the parameter semantics, and the return format in a logical order. There is no filler or redundant restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-optional-parameter lookup tool, the description covers exactly what the agent needs: how to make both call forms, where section names come from, what each call returns, when the tool is most useful, and how disabled domains behave. The inclusion of return types and the index behavior makes the tool fully callable without additional inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only provides a bare optional string 'section' with no description, so the description carries the full burden. It does this well: omitting section returns the index, passing section fetches that page's content, and valid section names come from a no-argument call's index. This is exactly the semantic help an agent needs and is not present in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific verb ('Look up'), a precise resource ('Docker SDK/CLI/registry reference documentation'), and a scoping dimension ('by section'). This clearly distinguishes docs_lookup from all operational sibling tools. It is not a tautology and it tells the agent what the tool's domain is immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states when to use the tool concretely: before constructing extra_kwargs-style passthrough dicts for container_run/container_create/service_create and before writing Compose/Dockerfile/buildx bake-file syntax. It also clarifies behavior in edge cases: omit section to list all sections, pass a section to fetch content, and a section refuses if its domain is disabled. This gives the agent explicit decision context for call selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools