# ai.kaiv/docker-facts

> Does that Docker tag actually exist? Real tags, sizes and platforms, live from Docker Hub.

- name: ai.kaiv/docker-facts
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 77/100 flags: no-repository
- quality: 100/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/ai.kaiv%2Fdocker-facts
- tools: https://api.protogrid.dev/v1/servers/ai.kaiv%2Fdocker-facts/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "docker-facts": {
      "type": "http",
      "url": "https://api.kaiv.ai/api/bridge/mcp/docker-facts-adc41b39"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 85
- provenance: 45
- drivers: +dns-namespace +reachable +uptime-100% ~updated-46d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 100/100 (strong)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 60000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 3 of 3 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 556 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 3, about 556 tokens to load them all
- tool set hash: 17098bf58c51f1aba2a5557f2e85cb41
- badge: [![protogrid quality](https://protogrid.dev/badge/ai.kaiv/docker-facts.svg)](https://protogrid.dev/servers/ai.kaiv/docker-facts)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://api.kaiv.ai/api/bridge/mcp/docker-facts-adc41b39 (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (3)

- `check_image_tag`: Does this image:tag exist, how big is it, and which platforms does it cover?

Use this before writing a FROM line or a compose file. On a hit it returns size, platforms, arm64/amd64 support and the digest. On a miss it says whether the IMAGE exists but the tag is wrong, and lists real tags newest first so the caller can correct itself. Defaults to tag "latest" when none is given.
- `get_image_info`: Repository facts: official status, pulls, stars, whether it is archived.

Use to judge whether an image is the canonical one and still maintained. Archived images still pull but receive no security patches.
- `list_image_tags`: Real tags for an image, most recently updated first.

Use when choosing a tag rather than verifying one. Each entry carries size and platform list, so a choice can be made without a second call.
