Skip to main content
Glama

system_login

Authenticate with a Docker registry using a username and password to access private repositories for image pull and push operations.

Instructions

Authenticate with a Docker registry.

Security: the password is sent as a tool argument, which many MCP clients log verbatim. Prefer running docker login once on the host so the docker module reuses the credentials cached in ~/.docker/config.json, and avoid calling this tool from an agent loop. Credentials let image_pull / image_push reach private repositories; system_logout clears them.

args: username - Registry username password - Registry password or token email - Registry account email registry - URL to the registry (defaults to Docker Hub) reauth - Force re-authentication even if valid credentials exist dockercfg_path - Path to a custom dockercfg file returns: dict - The login response: {"Status"} always; "IdentityToken" only when the registry issues one

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
emailNo
reauthNo
passwordYes
registryNo
usernameYes
dockercfg_pathNo
Behavior4/5

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

Discloses a significant security trait (password sent as tool argument, likely logged) and implies statefulness by mentioning that system_logout clears credentials. Annotations only provide readOnlyHint=false and destructiveHint=false, so this added context about logging and credential lifecycle goes beyond the schema. However, it does not explicitly state whether the tool persists credentials to ~/.docker/config.json, leaving a minor ambiguity.

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

Conciseness4/5

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

The description is front-loaded with the purpose sentence, followed by a crucial security warning, then an args list and return format. Every section earns its place, though the args block duplicates parameter names already in the schema; however, the added explanations justify the length. Not overly verbose.

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

Completeness4/5

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

For a tool with 6 parameters and no output schema, the description is quite complete: it covers return format, security implications, related tools, and parameter semantics. It does not mention error conditions or prerequisites like Docker being running, but these are less critical for a login operation and may be assumed.

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?

Schema description coverage is 0%, yet the description's args list provides meaningful one-line explanations for all 6 parameters, including defaults (registry defaults to Docker Hub) and behavior (reauth forces re-authentication). This fully compensates for the absence of schema descriptions and adds value beyond parameter names.

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?

Description begins with 'Authenticate with a Docker registry', a specific verb+resource statement that clearly distinguishes this from other system tools like system_logout. It further clarifies purpose by noting credentials enable image_pull/image_push and that system_logout clears them.

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?

Explicitly advises preferring `docker login` on the host and avoiding agent loops due to credential logging risk. It also states when credentials are needed (private repositories) and names the alternative for clearing credentials (system_logout), providing clear when/when-not guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/L337-org/docker-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server