Skip to main content
Glama

MCP SBOM Server

Python MCP

MCP server to perform a Trivy scan and produce an SBOM in CycloneDX format.

Installation

Prerequisites

Install the following.

MCP Clients

Configuration

"mcpServers": {
        "mcp-sbom": {
            "command": "uv",
            "args": [
                "--directory",
                "/path/to/mcp-sbom",
                "run",
                "mcp-sbom"
            ]
        }
    }

Building

NOTE

This project employsuv.

  1. Synchronize dependencies and update the lockfile.

uv sync

Debugging

MCP Inspector

Use MCP Inspector.

Launch the MCP Inspector as follows:

npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-sbom run mcp-sbom

MCP Inspector

Windows

When running on Windows, use paths of the style:

C:/Users/gkh/src/mcp-sbom-server/src/mcp_sbom

Available Tools

1 tool
scanA
Execute Trivy scanner to generate SPDX SBOM for a container image.
Supports the SPDX JSON format.

Args:
    image (str): The container image name/reference to scan

Returns:
    str: Test response or error message
ParametersJSON Schema
NameRequiredDescriptionDefault
imageYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions the tool executes a scanner and returns a test response or error message, but it lacks details on behavioral traits such as permissions required, rate limits, execution time, or what constitutes a 'test response' versus actual output. This leaves significant gaps in understanding the tool's behavior.

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 appropriately sized and front-loaded, starting with the core purpose. The structure with 'Args:' and 'Returns:' sections is clear, but the 'Returns' section is vague ('Test response or error message'), which slightly reduces efficiency. Overall, it is concise with minimal waste.

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

Completeness3/5

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

Given the tool's complexity (executing a scanner with one parameter) and lack of annotations and output schema, the description is moderately complete. It covers the purpose and parameter semantics but lacks details on behavioral aspects and output specifics, making it adequate but with clear gaps for an agent to rely on.

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

Parameters4/5

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

The description adds meaning beyond the input schema by explaining that the 'image' parameter is a 'container image name/reference to scan'. Since the schema description coverage is 0% (no schema descriptions provided), this compensates well for the single parameter, clarifying its purpose and format, though it could specify examples or constraints.

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 description clearly states the tool's purpose with specific verbs ('execute', 'generate') and resources ('Trivy scanner', 'SPDX SBOM', 'container image'), and distinguishes it by specifying the format ('SPDX JSON format'). There are no sibling tools to differentiate from, but the description is precise and unambiguous.

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

Usage Guidelines3/5

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

The description implies usage for scanning container images to generate SBOMs in SPDX JSON format, but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., other scanning tools or formats) or any exclusions. Since there are no sibling tools, the lack of alternatives is acceptable, but no broader context is given.

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

TDQS

A3.6/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'scan' has a clear and distinct purpose: generating an SPDX SBOM for a container image using Trivy scanner.

Naming Consistency5/5

With only one tool, naming consistency is inherently perfect. The tool name 'scan' follows a simple verb pattern, and there are no other tools to compare it against for inconsistency.

Tool Count2/5

A single tool is too few for a server named 'MCP SBOM Server', which suggests a broader scope related to Software Bill of Materials. While the tool covers scanning, typical SBOM workflows might include operations like listing, analyzing, or comparing SBOMs, making this feel thin and incomplete.

Completeness2/5

The tool surface is severely incomplete for an SBOM domain. It only provides scanning functionality, with no tools for retrieving, updating, deleting, or analyzing SBOMs. This creates significant gaps that will likely cause agent failures in broader SBOM-related tasks.

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

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/MCP-Mirror/gkhays_mcp-sbom-server'

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