Skip to main content
Glama
crunchtools

MCP RHHI CrunchTools

by crunchtools

Get Release Sbom Tool

get_release_sbom_tool
Read-only

Retrieve the SBOM package list for a specific historical container image release using its digest. Filter by architecture, category, or package name.

Instructions

Get the SBOM of a historical release by digest.

Input Schema

NameRequiredDescriptionDefault
archNoArchitecture whose packages to list (default amd64); counts cover all
nameYesImage name, e.g. 'python', 'nodejs', 'aspnet-runtime'
limitNoMax packages returned (default 100)
digestYesManifest list digest (sha256:... or bare hex) from get_release_history
categoryNoOnly packages in this category: runtime, build, source
package_queryNoCase-insensitive substring of the package name

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.2/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe, non-mutating read, so the description's only added behavioral fact is that the lookup targets a historical release rather than a current one. It says nothing about pagination limits (default 100, max 1000) or arch defaults, though those are documented in the schema rather than needed here.

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?

A single front-loaded sentence with zero filler and no repetition of the title. It is arguably too terse for a six-parameter tool, but nothing in it is wasted.

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?

An output schema exists, so return values need no explanation, and annotations plus full schema coverage handle safety and parameters. The remaining gap is the missing relationship to get_release_history_tool (digest provenance) and get_sbom_tool, which the agent must infer.

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

Parameters3/5

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

Schema description coverage is 100%: name, digest, arch, limit, category, and package_query all carry their own descriptions with examples, defaults, and enum values. The description adds no parameter meaning beyond that, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource (get the SBOM) plus a scoping qualifier (of a historical release by digest), which separates it from the sibling get_sbom_tool that presumably serves current tags. It never names an alternative sibling explicitly, so the differentiation is inferable rather than stated.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisite that a digest from get_release_history_tool must be obtained first (that hint lives only in the schema), and no routing between this tool, get_sbom_tool, and get_release_vulnerabilities_tool. The phrase 'by digest' hints at the required input but does not tell the agent when this tool is the right choice.

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