Skip to main content
Glama
dmc5179

Red Hat Security Data API MCP Server

by dmc5179

Red Hat Security Data API MCP Server

Сервер Model Context Protocol (MCP), который предоставляет LLM, таким как Claude, доступ к Red Hat Security Data API. Запрашивайте CSAF-уведомления, CVE и данные потоков OVAL на естественном языке.

Что он делает

Этот сервер предоставляет шесть инструментов, которые оборачивают Red Hat Security Data API v1.0:

Инструмент

Описание

search_csaf

Поиск документов CSAF-уведомлений по дате, серьезности, CVE, пакету или RHSA ID

get_csaf_details

Получение полного документа CSAF для конкретного уведомления

search_cves

Поиск CVE по дате, серьезности, оценке CVSS, CWE, пакету или продукту

get_cve_details

Получение полных сведений о CVE, включая затронутые выпуски и меры по смягчению последствий

list_oval_streams

Список доступных файлов потоков OVAL v2

get_oval_stream

Получение данных потока OVAL для конкретного продукта (например, RHEL9)

Related MCP server: Control-Inventory-MCP-Server

Быстрый старт

npm install
npm run build
npm start

Сервер работает через stdio с использованием протокола MCP. См. документацию ниже для подключения его к Claude Desktop или другим MCP-клиентам.

Документация

Структура проекта

src/
  index.ts          MCP server entry point and tool registration
  api-client.ts     HTTP client for the Red Hat Security Data API
  tools/
    csaf.ts         search_csaf, get_csaf_details
    cve.ts          search_cves, get_cve_details
    oval.ts         list_oval_streams, get_oval_stream
Containerfile       Multi-stage production build
build.sh            Container image build script (Podman)
podman-compose.yml  Local testing configuration (podman compose)

Лицензия

См. LICENSE.

Available Tools

6 tools
get_csaf_detailsA

Retrieve the full CSAF document for a specific Red Hat Security Advisory (RHSA) by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
rhsa_idYesThe RHSA advisory ID (e.g. RHSA-2024:1234)

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full transparency burden. It accurately implies a read-only retrieval operation and communicates the principal behavior, but it does not disclose potential error cases, response format details, or whether the document is returned whole or truncated.

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

Conciseness5/5

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

One sentence, front-loaded with the action and object, and zero filler. Every word contributes directly to understanding the tool's purpose.

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 simple single-parameter retrieval tool, the description plus schema are mostly sufficient. The lack of an output schema and annotations means some detail about return structure is absent, but 'full CSAF document' adequately communicates the expected result for a get-by-ID operation.

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%, so the input schema already fully documents the single parameter including an example format. The description adds little beyond 'by its ID,' which is redundant with the schema, so the baseline score of 3 applies.

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 uses a specific verb ('Retrieve') and clearly identifies the resource ('full CSAF document for a specific Red Hat Security Advisory'). It also distinguishes itself from sibling search tools by emphasizing retrieval by a specific RHSA ID rather than searching.

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

Usage Guidelines4/5

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

The phrase 'for a specific Red Hat Security Advisory (RHSA) by its ID' clearly indicates this tool is for fetching a known advisory's full document. It implies the user must already have the exact RHSA ID, though it does not explicitly state when to use an alternative like search_csaf.

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

get_cve_detailsA

Retrieve full details for a specific CVE including severity, CVSS scores, affected releases, package state, mitigations, and references.

ParametersJSON Schema
NameRequiredDescriptionDefault
cve_idYesThe CVE ID (e.g. CVE-2024-1234)

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It indicates a read-only operation ('Retrieve') and lists the return contents, but it does not disclose error handling, availability, authentication, or behavior for invalid CVE IDs. This is adequate but lacks depth for full transparency.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the action ('Retrieve full details') and efficiently lists key return items without unnecessary words or repetition.

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 one parameter and no output schema, the description adequately explains what the tool does and what information it retrieves. It misses edge-case behavior like not-found or invalid ID handling, but the tool's simplicity means this is nearly complete.

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?

The schema description already fully covers the single parameter cve_id with an example format ('CVE-2024-1234'). The tool description adds no new semantic information beyond what the schema already provides, so with 100% schema coverage, the baseline score of 3 is appropriate.

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 function: 'Retrieve full details for a specific CVE' and enumerates specific data elements (severity, CVSS scores, affected releases, package state, mitigations, references). This clearly distinguishes it from sibling tools like search_cves (searching) and get_csaf_details/OVAL tools (different data domains).

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

Usage Guidelines4/5

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

The description implies when to use the tool ('for a specific CVE') and what it returns, but it does not explicitly mention alternatives or when not to use it. The context is clear, but there is no explicit when-not guidance or reference to sibling tools.

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

get_oval_streamA

Retrieve OVAL stream data for a specific Red Hat product by base name (e.g. RHEL7, RHEL9).

ParametersJSON Schema
NameRequiredDescriptionDefault
baseYesThe OVAL stream base name (e.g. RHEL7, RHEL9)

TDQS

A3.5/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 of behavioral disclosure. It only says 'Retrieve OVAL stream data' and does not disclose return format, read-only guarantees, error behavior, or whether the data is raw XML, JSON, or something else.

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

Conciseness5/5

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

The description is a single clear sentence with no filler. It front-loads the key verb and resource, making the tool's purpose immediately understandable.

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?

The tool is simple with one fully documented parameter, but the description omits relation to list_oval_streams and does not clarify what the returned 'OVAL stream data' looks like. Without an output schema or annotations, this is minimally adequate but leaves meaningful gaps.

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?

The schema already describes the only parameter 'base' with the same example values (RHEL7, RHEL9), so schema description coverage is 100%. The description adds no additional semantic meaning beyond what the schema provides, so the baseline score of 3 is appropriate.

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 uses a specific verb ('Retrieve'), a clear resource ('OVAL stream data'), and a selection criterion ('specific Red Hat product by base name'). This clearly distinguishes it from siblings like list_oval_streams, which presumably enumerates available streams, and from the CVE/CSAF search tools.

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 when a specific base name such as RHEL7 or RHEL9 is known, but it does not explicitly state when to use this tool versus list_oval_streams or other alternatives. There is no when-not-to-use guidance or mention of prerequisite steps.

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

list_oval_streamsB

List available Red Hat OVAL v2 stream files, optionally filtered by product label or modification date.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNoReturn OVAL streams modified after this date (ISO 8601, e.g. 2024-01-01)
labelNoProduct version label to filter by (e.g. jboss-eap-8, rhel-9)

TDQS

B3/5.0
Behavior1/5

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

No annotations are supplied, and the description carries the full burden for behavioral disclosure. It only states that this lists streams, optionally filtered; it does not disclose security requirements, read-only nature, pagination, return format, or whether it accesses stream metadata. Minimal behavioral context beyond the action itself.

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

Conciseness5/5

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

A single concise 20-word sentence that front-loads the primary action and filters. No redundancy or descriptive fluff.

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?

Adequate for a simple listing tool with 2 well-described params. It lacks a cross-reference to the sibling grabbing tool 'for fetching single streams', and it does not mention what information is returned for each stream (possibly no such announcement is ok because no output schema is defined. Completeness is constrained by the absence of alternative-use and output info.

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?

Schema description coverage is 100% (both 'after' and 'label' have descriptions). The description adds semantic context by explaining 'after' as a filter for modification date in ISO 8601 format and 'label' as a product version label (e.g., jbossalem-eap-8, rhel-9). This is a moderate baseline because the schema already provides complete param info.

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?

Description uses specific verb 'List' and identifies the resource 'available Red Hat OVAL v2 streams' with two explicit filter options (product label, modification date). It does not explicitly differentiate from the sibling tool 'get_oval_stream' for retrieving a specific stream, but 'List' vs 'get' plus the optional filters conveys an adequate listing vs. retrieval distinction.

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?

No guidance on when to use this vs. alternative tools. It does not mention that 'get_oval_stream' should be used to fetch a single stream's details, nor does it state any prerequisites. The optional filters are described but no context is provided for typical usage.

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

search_csafA

Search Red Hat CSAF advisory documents by date, severity, CVE, package, Bugzilla ID, or RHSA ID. Returns a paginated list of advisory summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
bugNoComma-separated Bugzilla IDs (e.g. 1326598,1084875)
cveNoComma-separated CVE IDs (e.g. CVE-2024-0001,CVE-2024-0002)
pageNoPage number (default: 1)
afterNoReturn CSAF documents after this date (ISO 8601, e.g. 2024-01-01)
beforeNoReturn CSAF documents before this date (ISO 8601, e.g. 2024-03-01)
packageNoPackage name to filter by (e.g. kernel, thunderbird)
per_pageNoResults per page (default: 1000)
rhsa_idsNoComma-separated RHSA IDs (e.g. RHSA-2024:1234,RHSA-2024:5678)
severityNoSeverity level: low, moderate, important, or critical
created_days_agoNoReturn CSAF documents created within this many days

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of disclosure. It adds value by stating results are paginated summaries, but omits behavioral details like how multiple filters are combined (AND/OR), default sort order, rate limits, or maximum page size. It's not misleading, just incomplete.

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

Conciseness5/5

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

Two efficiently structured sentences front-load the verb and resource, enumerate the filter dimensions, and state the return type. Every clause earns its place with zero redundancy. This is an exemplary model of concise tool documentation.

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?

Given that all 10 parameters are thoroughly documented in the schema and the description covers the key runtime behavior (paginated summaries), the combination is quite complete for a search tool. Minor omissions like default result ordering or behavior with no filters prevent a perfect score, but the description is strong enough for an agent to use it effectively.

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%, so the schema fully documents all 10 parameters. The description adds context about the paginated, summary output but no new parameter semantics beyond what the schema already provides. Per the rubric, high schema coverage yields a baseline of 3, which is appropriate here.

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 uses a specific verb ('Search') with a well-defined resource ('Red Hat CSAF advisory documents') and enumerates concrete filter dimensions (date, severity, CVE, package, Bugzilla ID, RHSA ID). It distinguishes itself from siblings like 'search_cves' and 'get_csaf_details' by focusing on CSAF documents and returning 'a paginated list of advisory summaries.'

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

Usage Guidelines4/5

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

The description clearly positions this as the search/filter entry point for CSAF advisories and indicates the output is summaries, implicitly distinguishing it from detail-fetching siblings like 'get_csaf_details.' However, it does not explicitly name alternative tools or provide when-not-to-use guidance.

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

search_cvesA

Search Red Hat CVEs by date, severity, CVSSv3 score, CWE, package, product, advisory, or Bugzilla ID. Returns a paginated list of CVE summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
bugNoComma-separated Bugzilla IDs (e.g. 1326598,1084875)
cweNoComma-separated CWE IDs (e.g. 295,300)
idsNoComma-separated CVE IDs (e.g. CVE-2024-0001,CVE-2024-0002)
pageNoPage number (default: 1)
afterNoReturn CVEs after this date (ISO 8601, e.g. 2024-01-01)
beforeNoReturn CVEs before this date (ISO 8601, e.g. 2024-03-01)
packageNoPackage name to filter by (e.g. kernel, openssl)
productNoProduct name filter (supports Perl-compatible regex, e.g. 'linux 7', 'openstack')
advisoryNoComma-separated advisory IDs (e.g. RHSA-2024:0614)
per_pageNoResults per page (default: 1000)
severityNoSeverity level: low, moderate, important, or critical
cvss_scoreNoMinimum CVSSv2 score (e.g. 7.0)
cvss3_scoreNoMinimum CVSSv3 score (e.g. 7.0)
created_days_agoNoReturn CVEs created within this many days
include_package_stateNoInclude package_state information in results

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool returns a paginated list of CVE summaries and mentions the filter dimensions. For a read-oriented search tool, this is adequate behavioral disclosure, though it omits details like error handling, pagination defaults, or whether results are sorted. Still, it is a clear and honest overview.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core purpose, and directly states the return type. Every word is necessary and there is no redundancy or filler.

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?

Given the complexity (15 parameters, 0 required) and that the schema already documents all parameters, the description adequately covers the tool's purpose and output (paginated CVE summaries). There is no output schema, but the description indicates the output is a list of summaries, which is sufficient for a search tool. It could be slightly more complete by stating pagination defaults or result field, but it is not a significant gap.

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%, so the baseline is 3. The description adds a high-level grouping of filter types (date, severity, etc.) which can help the agent understand available query capabilities, but it does not add extra meaning beyond what each parameter's description in the schema already provides. No compensation needed since coverage is complete.

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 searches Red Hat CVEs by multiple specific criteria (date, severity, CVSSv3 score, CWE, package, product, advisory, Bugzilla ID) and returns a paginated list of CVE summaries. The verb 'Search' and resource 'Red Hat CVEs' are specific, and it distinguishes from siblings like get_cve_details by explicitly targeting a list result.

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 searching/filtering CVEs but does not provide explicit when-to-use vs. when-not-to-use guidance or mention alternatives like search_csaf or get_cve_details. It is clear for a search tool, but without exclusions or explicit differentiation, it leaves some inference to the agent.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv1.0.0
    • First observedget_csaf_details
    • First observedget_cve_details
    • First observedget_oval_stream
    • First observedlist_oval_streams
    • First observedsearch_csaf
    • First observedsearch_cves

TDQS

A4/5.0
Disambiguation5/5

Each tool targets a distinct resource-action combination (search vs. details for CSAF and CVE; list vs. get for OVAL). The three data domains (CSAF, CVE, OVAL) do not overlap, making tool selection unambiguous.

Naming Consistency5/5

All tool names follow the same verb_noun pattern using 'search', 'get', or 'list' as prefixes. Naming is consistently snake_case and descriptive, making the API predictable.

Tool Count5/5

Six tools is well within the ideal 3-15 range for a focused API server. Each tool is necessary and the scope is well-defined without unnecessary bloat or excessive granularity.

Completeness5/5

The API covers the full read-only lifecycle for the domain: search and detailed retrieval for both CSAF and CVE data, plus listing and retrieval for OVAL streams. No obvious operations are missing for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for OSIDB (Red Hat Product Security's vulnerability management system). Enables read-only querying of flaws, affects, trackers, and status via natural language from MCP clients like Cursor or Claude Desktop.
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides search, detail lookup, and gap listing tools for a security control inventory, enabling natural language queries about control status and gaps.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides read-only access to MISP threat intelligence data, enabling event and attribute search, tag and taxonomy browsing, and galaxy lookups through natural language.
    10
    AGPL 3.0
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables security analysts and risk managers to query a legacy CVE registry via natural language, providing tools for searching vulnerabilities, retrieving details, and obtaining statistics.
    -

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/dmc5179/redhat-security-data-api-mcp'

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