Skip to main content
Glama
MCP RHHI CrunchTools

MCP RHHI CrunchTools

by crunchtools

MCP RHHI CrunchTools

A secure, read-only MCP (Model Context Protocol) server for the Hummingbird / Red Hat Hardened Images catalog. It wraps the public catalog API at https://api-hummingbird.hummingbird-project.io so an agent can find minimal, distroless images, pick the right tag, and check its container config, SBOM and CVEs without scraping anything.

Overview

  • Read-only - every tool is a GET against the catalog and publishes readOnlyHint: true

  • No credentials - the catalog API is public; there is nothing to leak

  • Trimmed responses - the catalog-wide CVE feed is ~500 KB and an SBOM ~100 KB; tools filter and cap server-side so an agent gets the answer, not the dump

  • Containerized - quay.io/crunchtools/mcp-rhhi, built on the Hummingbird Python image it describes

Related MCP server: Docker Hub MCP Server

Naming Convention

Component

Name

GitHub repo

crunchtools/mcp-rhhi

Container

quay.io/crunchtools/mcp-rhhi

Python package (PyPI)

mcp-rhhi-crunchtools

CLI command

mcp-rhhi-crunchtools

Module import

mcp_rhhi_crunchtools

Key Concepts

  • Image name - short identifier used in every call (python, nodejs, aspnet-runtime)

  • Stream - version family within an image (3.14, 24, latest)

  • Variant - default (distroless, production), builder (adds bash, dnf, shadow-utils), fips, and image-specific ones

  • Canonical tag - version-pinned tag used by the detail, SBOM and CVE tools (3.14.8, 3.14.8-builder)

  • Superseded - a tag replaced by a newer one in its stream+variant; hidden unless asked for

Tools (14)

Images

  • list_images - all images with streams, variants and pull URL; filter by text or category

  • get_image - one image's metadata, optionally its README as plain text

Tags

  • list_tags - current tags with pull_url, digest, canonical, sizes; filter by stream and variant

  • get_tag_details - user, entrypoint, cmd, env, ports, Containerfile, source commit, SLSA level, per arch

  • get_sbom - package counts per arch and a filterable package list

Vulnerabilities

  • get_tag_vulnerabilities - CVE scan for one tag, filterable by minimum severity

  • get_catalog_vulnerabilities - catalog-wide stats over every current tag, with per-image counts

  • find_cve - which current images and tags a CVE, GHSA or GO advisory affects

Release history

  • get_release_history - past releases of a stream+variant (digest, date, source commit)

  • get_release_details, get_release_sbom, get_release_vulnerabilities - the same views for a historical digest

Image requests

  • list_image_requests - requests for new images on images.redhat.com/image-requests; filter by status or a title/key substring

  • get_image_request - one request by HUM key or image title; returns status, status note and the public deep_link

Each request includes its HUM key, title, friendly status (Submitted / In progress / Delivered / Declined) and a deep_link of the form https://images.redhat.com/image-requests?request=REQ-NNNN that opens it on the site. (The site resolves the public REQ- alias; the API's underlying Jira key keeps the HUM- prefix with the same number.)

Installation

# uvx
claude mcp add mcp-rhhi-crunchtools -- uvx mcp-rhhi-crunchtools

# pip
pip install mcp-rhhi-crunchtools

# Container
claude mcp add mcp-rhhi-crunchtools -- podman run -i --rm quay.io/crunchtools/mcp-rhhi

# HTTP (streamable-http)
podman run -d -p 127.0.0.1:8030:8030 quay.io/crunchtools/mcp-rhhi \
    --transport streamable-http --host 0.0.0.0 --port 8030

Environment Variables

Variable

Required

Default

Description

RHHI_API_URL

No

https://api-hummingbird.hummingbird-project.io

Catalog API base URL; HTTPS required except for localhost

RHHI_REQUESTS_API_URL

No

request gateway behind images.redhat.com

Image-request API base URL (a separate gateway from the catalog); HTTPS required except for localhost

RHHI_SITE_URL

No

https://images.redhat.com

Public site base URL used to build image-request deep links

RHHI_TIMEOUT

No

30

Request timeout in seconds (max 300)

Example Usage

Which Hummingbird image should I use for a Go service, and what are the builder and runtime pull URLs?
Does the python 3.14 image ship openssl, and which version?
Which images are affected by CVE-2025-12781?
Show critical and high CVEs across the catalog
What user and entrypoint does nodejs 24 run with?

Security

See SECURITY.md. In short: every parameter is validated against a published pattern before it reaches a URL, path segments are URL-encoded, TLS is verified, requests time out, and responses are capped at 20 MB.

Development

uv sync --all-extras
uv run ruff check src tests
uv run mypy src
uv run pytest -v
podman run --rm -v .:/src:Z -w /src quay.io/crunchtools/gourmand:latest check --full

License

AGPL-3.0-or-later

Available Tools

14 tools
find_cve_toolFind Cve ToolB
Read-only

Find which current catalog images and tags a CVE affects.

Inputs: cve_id (required). Returns: object

get_catalog_vulnerabilities_toolGet Catalog Vulnerabilities ToolA
Read-only

Get catalog-wide CVE stats across every current tag, with per-image counts.

catalog_summary is the unfiltered catalog total; images, matched and cves reflect the image and min_severity filters.

Inputs: image, limit, min_severity. Returns: object

get_image_request_toolGet Image Request ToolA
Read-only

Get one image request by HUM key or image title.

Returns the HUM key, title, friendly status, submitted/updated dates, the public status note, and the deep_link that opens it on images.redhat.com.

Inputs: request (required). Returns: object

get_image_toolGet Image ToolC
Read-only

Get an image's metadata: summary, streams, variants, licenses, architectures.

Inputs: name (required), include_readme, readme_max_chars. Returns: object

get_release_details_toolGet Release Details ToolA
Read-only

Get the container config and provenance of a historical release by digest.

Inputs: name (required), digest (required), arch. Returns: object

get_release_history_toolGet Release History ToolB
Read-only

List past releases (digest, date, source commit) of a stream and variant.

Inputs: name (required), stream (required), limit, variant. Returns: object

get_release_sbom_toolGet Release Sbom ToolB
Read-only

Get the SBOM of a historical release by digest.

Inputs: name (required), digest (required), arch, limit, +2 more. Returns: object

get_release_vulnerabilities_toolGet Release Vulnerabilities ToolB
Read-only

Get the CVE scan of a historical release by digest.

Inputs: name (required), digest (required), limit, min_severity. Returns: object

get_sbom_toolGet Sbom ToolB
Read-only

Get a tag's SBOM: package counts per arch and a filterable package list.

Inputs: name (required), canonical (required), arch, limit, +2 more. Returns: object

get_tag_details_toolGet Tag Details ToolA
Read-only

Get a tag's container config and provenance per architecture.

User, entrypoint, cmd, env, exposed ports, working dir, labels, the Containerfile, source repo/commit, SLSA level and build system.

Inputs: name (required), canonical (required), arch. Returns: object

get_tag_vulnerabilities_toolGet Tag Vulnerabilities ToolB
Read-only

Get the CVE scan for a tag: summary counts and each CVE with components.

Inputs: name (required), canonical (required), limit, min_severity. Returns: object

list_image_requests_toolList Image Requests ToolA
Read-only

List image requests from images.redhat.com/image-requests.

Each request carries its HUM key, title, friendly status (Submitted/In progress/Delivered/Declined) and the public deep_link that opens it on the site. Filter by status or a title/key substring.

Inputs: search, status. Returns: object

list_images_toolList Images ToolA
Read-only

List images in the Hummingbird catalog with streams, variants and pull URL.

The response also lists every category, for use as category.

Inputs: query, category. Returns: object

list_tags_toolList Tags ToolA
Read-only

List an image's tags with pull_url, digest, canonical tag and sizes.

Only current (non-superseded) tags unless include_superseded is set.

Inputs: name (required), stream, variant, include_superseded. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 14 tools

    Disambiguation4/5

    Most tools target distinct resources and actions, but the set has several closely related vulnerability and SBOM tools that differ mainly by scope (catalog, tag, release, or CVE). Descriptions clarify the boundaries, though an agent must still choose carefully among them.

    Naming Consistency5/5

    All 14 tools consistently use snake_case verb_noun_tool naming (find/list/get + resource + _tool). There are no mixed conventions or ambiguous verb styles.

    Tool Count5/5

    With 14 tools, the set is well scoped for a read-only catalog/release/security inspection server. Each tool maps to a meaningful operation and the count stays comfortably within a manageable range.

    Completeness5/5

    The surface covers the apparent read-only domain thoroughly: images, tags, tag details, image requests, CVE lookups across catalog/tag/release scopes, SBOMs for tags and releases, and release history/details. There are no obvious dead ends for catalog inspection, vulnerability review, or historical release examination.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables users to interact with container registries through the ORAS CLI, providing information about container images, platforms, and signatures via natural language queries.
      7
      Apache 2.0
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables LLMs to search Docker Hub repositories, discover container images, and manage Docker Hub repositories and tags through natural language queries. Supports both public content access and authenticated operations with Docker Personal Access Tokens.
      171
      Apache 2.0
    • A
      license
      B
      quality
      C
      maintenance
      Enables read-only access to a local-first catalog of portable agent skills, exposing tools to discover ranked matches, inspect stored artifacts, traverse declared relationships, and view configuration.
      5
      MIT