Red Hat Security Data API MCP Server
Server Quality Checklist
Latest release: v1.0.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/5All 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/5Six 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/5The 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.
Average 3.8/5 across 6 of 6 tools scored. Lowest: 3/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 5 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under Apache 2.0.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- 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/5Is 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/5Given 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/5Does 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/5Does 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/5Does 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.
- 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/5Is 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/5Given 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/5Does 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/5Does 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/5Does 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.
- 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/5Is 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/5Given 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/5Does 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/5Does 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/5Does 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.
- 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/5Is 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/5Given 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/5Does 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/5Does 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/5Does 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.
- 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/5Is 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/5Given 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/5Does 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/5Does 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/5Does 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.
- 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/5Is 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/5Given 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/5Does 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/5Does 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/5Does 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.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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