Vulnerability Registry MCP Server
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool targets a distinct operation: get_vulnerability for a specific CVE, search_vulnerabilities for filtered lists, search_vendors for vendor lookup, get_vendor_overview for aggregate vendor data, and get_vulnerability_statistics for counts. There is no meaningful overlap between any pair of tools.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern using lowercase and underscores, with verbs limited to 'get' and 'search'. The naming clearly indicates whether a tool returns a single entity, a list, or statistics.
Tool Count5/5With 5 tools, the server is well-scoped for a vulnerability registry query interface. Each tool covers a distinct need without redundancy or bloat, fitting comfortably in the ideal 3-15 range.
Completeness5/5The tool set provides complete read-only coverage for a vulnerability registry: individual CVE lookup, flexible searching, vendor discovery, vendor-specific aggregation, and vulnerability statistics. No obvious gaps exist for the apparent domain.
Average 4/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 6 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
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
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the output (vulnerability counts) but does not explain query behavior (e.g., matching semantics, case sensitivity), pagination via limit/offset, or what happens with no results. This is minimal behavioral disclosure.
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, front-loaded sentence that conveys the core purpose and output without unnecessary words. It is concise and well-structured.
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?
Given the tool has an output schema and only 3 parameters, the description is minimally complete for a search tool. However, it lacks context on when to use it versus get_vendor_overview, and it does not specify pagination behavior or query nuance. The presence of an output schema helps, but the description still leaves 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?
Schema description coverage is 0%, so the description must compensate. It explains the 'query' parameter can contain name, category, or headquarters, adding meaning. However, it does not clarify the relationship between these search criteria (e.g., separate fields vs. combined search) or explain limit/offset, though those have schema defaults and constraints.
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 the specific verb 'Find' and clearly identifies the resource (vendors). It specifies search criteria (name, category, or headquarters) and the return value (vulnerability counts). This differentiates it from siblings like search_vulnerabilities and get_vendor_overview.
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 when to use the tool (when searching for vendors by attributes), but it does not provide explicit alternatives or exclusions. It does not contrast with get_vendor_overview or search_vulnerabilities, leaving some ambiguity for the agent.
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, the description carries the full burden. It discloses a key behavioral trait: 'without returning every matching record', implying aggregate output and non-destructive reads. However, it does not explain aggregation specifics (e.g., grouping, pagination) or any permissions/limits. This is adequate but not thorough.
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, with the primary action and resource stated immediately. It avoids fluff and every sentence contributes: the first defines behavior, the second gives a use-case example.
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?
With an output schema present, return values need not be described. The description gives a clear purpose and one usage example, but with no annotations and six parameters (all optional) lacking schema descriptions, the tool definition feels slightly under-specified for a fully self-contained agent evaluation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only implicitly references 'critical' and 'open' parameters. Parameter names and enums in the schema provide some self-evident meaning, but the description adds virtually no parameter-level detail beyond what the schema already shows.
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 specific verbs 'Count and summarize' with the resource 'vulnerabilities', clearly distinguishing this aggregation tool from sibling tools like get_vulnerability and search_vulnerabilities, which return records. It also gives an example question ('how many critical vulnerabilities are open') that reinforces the purpose.
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 states when to use this tool: for questions requiring counts or summaries rather than full matching records. It provides a concrete example, but does not explicitly name alternatives or state when not to use it, so it misses the bar for a 5.
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, the description carries the burden of behavioral disclosure. It implies a read-only operation through 'Search and filter,' but does not explicitly state that it does not modify data, nor does it mention pagination behavior or return format (though output schema exists). The description adds some context beyond the schema (e.g., returns lists) but lacks depth about side effects or edge cases.
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 exactly two sentences: the first states the action and filter dimensions, the second clarifies the use case. Every word earns its place with no redundancy or irrelevant detail, making it highly efficient and front-loaded.
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 tool's complexity (13 optional parameters, many enums, output schema), the description covers the essential context: the purpose, main filter categories, and the fact that it returns lists. The output schema covers return-value structure, and the filter dimensions are enumerated. It lacks explicit details about default pagination or search semantics, but this is adequately handled by the schema and the concise use-case note.
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 0%, so the description must compensate. It groups parameters into conceptual filters (text, vendor, severity, status, CVSS score, publication date), which adds high-level meaning. However, it stops short of mapping each filter to specific parameter names (e.g., 'text' → query) or explaining nuances like date range pairs, so it only partially clarifies the 13 parameters.
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 and filter') and identifies the resource ('vulnerabilities') with an explicit list of filter dimensions (text, vendor, severity, status, CVSS score, publication date). The phrase 'Use this for lists of matching CVEs' distinguishes it from sibling tools like get_vulnerability, indicating this is for list retrieval rather than single-record lookup.
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 provides clear usage context by stating 'Use this for lists of matching CVEs,' which tells the agent when to select this tool. It does not explicitly name alternatives or exclude cases, but the list-focused guidance is sufficient given the sibling tool names (e.g., get_vulnerability). No misleading or contradictory usage advice is present.
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, the description must disclose behavior. It states it retrieves data but does not mention error handling, authentication, rate limits, or what happens if the CVE is not found. The list of fields provides some context about the response, but the behavioral surface is minimal. Given the simplicity, a score of 3 is reasonable.
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 primary action and constraint. Every word adds value, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single required parameter and an existing output schema, the description sufficiently explains when to use the tool and what data it returns. The mention of specific fields and exact CVE identifier covers the prerequisites. The output schema handles return structure.
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 input schema already provides a full description of cveId with an example. The tool description only restates 'exact CVE identifier,' adding no new semantic information. Since schema coverage is 100%, the baseline 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 action ('Retrieve one vulnerability') and the key constraint ('by its exact CVE identifier'), distinguishing it from sibling search_vulnerabilities. It also lists the specific fields the caller can access, which reinforces the purpose.
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 the tool is for a single known CVE, saying 'exact CVE identifier' and listing details like score, status, and vendor. However, it does not explicitly mention alternative tools or when not to use it, though the word 'exact' suggests searching is for unknown CVEs. This is a clear context but lacks explicit exclusions.
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 of behavioral disclosure. It transparently describes what the tool returns: one vendor, aggregate vulnerability statistics, and the five most recent vulnerabilities. It doesn't mention error behavior or permissions, but for a simple read operation, the disclosed behavior is sufficient.
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 just two sentences, front-loading the primary action in the first sentence and usage context in the second. Every word contributes value; there is no filler or redundancy.
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 tool's moderate complexity and the presence of an output schema, the description covers essential aspects: what is returned (vendor, stats, recent vulns) and when to use it (after vendor ID identification). It doesn't cover edge cases like not-found behavior, but the usage instruction and output schema make the description sufficiently complete.
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?
The schema provides only a 'vendorId' string with no description (0% coverage), so the description must compensate. The phrase 'Use after identifying a vendor ID' clarifies that vendorId is the identifier of the vendor to fetch, which is sufficient for a single-parameter tool.
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 begins with 'Return one vendor, aggregate vulnerability statistics, and its five most recent vulnerabilities,' which clearly states the tool's function with a specific verb and resource. It also distinguishes itself from sibling tools like search_vendors and get_vulnerability by combining vendor details with statistics and recent vulnerabilities.
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 'Use after identifying a vendor ID' provides an explicit precondition for when to invoke this tool. While it doesn't explicitly contrast with siblings, the context signals and the instruction make it clear that this is for post-identification overview rather than discovery or individual vulnerability lookup.
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/MalkiLevinzon/vulnerability-registry-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server