ZEN SecDB
Server Details
ZEN SecDB MCP server for CVE intelligence, CVSS/EPSS scoring, advisories, SSVC, and package audits.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.7/5 across 11 of 11 tools scored.
Most tools have clearly distinct purposes (e.g., vulnerability_search for discovery, vulnerability_info for full details, vulnerability_score for CVSS/EPSS, epss_timeseries for history). However, pairs like vulnerability_info vs. vulnerability_score and linux_audit vs. purl_audit have overlapping functionality, though detailed descriptions help differentiate them.
All tool names follow a consistent lowercase snake_case pattern with a descriptor and an operation noun (e.g., vulnerability_info, linux_audit, sightings_search, ssvc_calculator). No mixed conventions or stylistic deviations are present.
The 11 tools are well-scoped for a vulnerability intelligence server, covering search, details, scoring, trends, audits, reports, and prioritization. The count is within the expected 3-15 range and each tool contributes a distinct capability.
The tool surface covers the full vulnerability intelligence lifecycle: discovery (vulnerability_search), detailed lookup (vulnerability_info), risk scoring (vulnerability_score), EPSS history, real-world sightings, SSVC prioritization, audits for both OS packages and application dependencies, and aggregated reports. No obvious dead-end or missing critical operation is apparent.
Available Tools
11 toolsepss_timeseriesAInspect
Get the historical EPSS time series for a specific CVE.
What this tool does
Returns the historical EPSS score, percentile, and model version available for a CVE across time, ordered by date. Useful for analyzing how exploitability likelihood has evolved over time.
When to use this tool
Use this tool when the user asks about:
EPSS trend over time
how exploitability probability changed
whether EPSS spiked or dropped
historical comparison of risk
If the user only wants the current EPSS score, use vulnerability_score instead.
Inputs
cve_id: valid CVE identifier (
CVE-YYYY-NNNNN).
Outputs
series: array of objects, each containing:
date: measurement date in ISO formatscore: EPSS scorepercentile: EPSS percentilemodel: EPSS model version
LLM usage guidelines
Never guess EPSS values-use this tool for all EPSS time-series questions.
If
cve_idis malformed or incomplete, ask the user to correct it before calling.If the user mentions multiple CVEs, call the tool once per CVE as needed.
If no historical data is available, return an empty series and state that no EPSS history was found.
| Name | Required | Description | Default |
|---|---|---|---|
| cve_id | Yes | CVE identification (CVE-YYYY-NNNNN) |
Output Schema
| Name | Required | Description |
|---|---|---|
| series | No |
Tool Definition Quality
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 the return structure (series with date, score, percentile, model), ordering by date, and handles the empty-series edge case. However, it does not explicitly state that the tool is read-only or describe any potential side effects, which is a minor gap for a retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear headers: purpose, when to use, inputs, outputs, and LLM guidelines. It is detailed but not verbose; each sentence serves a purpose, and the most critical information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only one parameter, an output schema, and no annotations. The description covers everything needed: what the tool does, when to use it, input format, output structure, and edge-case behavior (no history). It also distinguishes from a sibling tool, making it contextually complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by specifying the CVE format ('CVE-YYYY-NNNNN') and providing guidance on handling malformed IDs (asking the user to correct). This goes beyond the schema's minimal description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Get the historical EPSS time series for a specific CVE.' It clearly identifies the tool's scope (historical time series) and differentiates from the sibling `vulnerability_score` by explicitly stating that tool covers current EPSS scores.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes a dedicated 'When to use this tool' section listing concrete user intents (e.g., 'EPSS trend over time', 'whether EPSS spiked or dropped') and provides an explicit alternative: 'If the user only wants the current EPSS score, use `vulnerability_score` instead.' Also includes LLM-specific directives like never guessing values and handling malformed CVE IDs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
feed_reportAInspect
Run a public ZEN SecDB feed report.
What this tool does
Executes a predefined report on ZEN SecDB public feed data and returns structured results for analytics, trends, distributions, and top-N summaries.
Supported reports can cover public datasets such as:
CVEs
security advisories
EPSS
weaknesses
CPE vendors and products
exploit references
sightings and IOC-related data
Use feed_report_catalog to discover the list of available reports and their supported input parameters.
When to use this tool
Use this tool when the user asks about:
distributions, trends, or counts across public vulnerability data
top CVEs, top weaknesses, top vendors, or similar rankings
timeline-based summaries such as yearly or monthly trends
aggregated views over public SecDB feed data
Do not use this tool when the user asks for details about a single CVE, advisory, or exploit. Use the dedicated lookup tools instead.
Inputs
report_id: identifier of the report to execute
filters: optional object with report-specific filters
limit: optional maximum number of results to return, when supported by the selected report
Outputs
summary: Optional Markdown summary of the report results
report: structured JSON object containing:
report_id: executed report identifierfilters: applied filtersdata: structured report rows or aggregated values
LLM usage guidelines
Use
feed_report_catalogwhen you need to discover which public reports are available or which parameters they support.Do not guess report IDs-use the catalog when uncertain.
Present
summarydirectly to the user-it is already Markdown.Use
reportfor structured follow-up analysis, comparisons, or tool chaining.If the selected report does not exist, return a clear not-found error instead of guessing an alternative.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | optional maximum number of results to return, when supported by the selected report | |
| filters | No | optional object with report-specific filters | |
| report_id | Yes | identifier of the report to execute |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | structured report rows or aggregated values |
| filters | No | optional JSON schema describing supported input parameters |
| summary | No | Optional Markdown summary of the report results |
| report_id | Yes | executed report identifier |
Tool Definition Quality
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 transparency. It discloses the purpose, describes the output structure (summary and report), notes that 'limit' is only applied 'when supported by the selected report,' and specifies error handling: 'If the selected report does not exist, return a clear not-found error instead of guessing an alternative.' This goes beyond the schema in explaining behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is comprehensive yet efficiently structured with clear sections: 'What this tool does,' 'When to use this tool,' 'Inputs,' 'Outputs,' and 'LLM usage guidelines.' Each section serves a specific purpose, front-loads the core action, and avoids redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully equips an agent to decide when to use the tool, how to discover valid report IDs, what parameters are available, what output format to expect, and how to handle missing reports. The presence of an output schema is complemented by the description's explanation of summary vs. report structure, making the context complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the description adds critical usage semantics: it advises using 'feed_report_catalog' to discover supported input parameters, warns not to guess report IDs, and clarifies that the 'limit' parameter is conditional on report support. This adds practical value beyond the raw schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description immediately states 'Run a public ZEN SecDB feed report' and elaborates with 'Executes a predefined report on ZEN SecDB public feed data and returns structured results for analytics, trends, distributions, and top-N summaries.' It clearly distinguishes from siblings by explicitly saying 'Do not use this tool when the user asks for details about a single CVE, advisory, or exploit. Use the dedicated lookup tools instead.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a dedicated 'When to use this tool' section with bullet points for appropriate use cases, and a 'Do not use' section pointing to alternatives. It also instructs to use 'feed_report_catalog' for discovering reports and parameters, and warns against guessing report IDs. This provides explicit when-to-use and 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.
feed_report_catalogAInspect
List available public ZEN SecDB feed reports.
What this tool does
Returns the catalog of available ZEN SecDB public feed reports, including their identifiers, descriptions, and supported input parameters.
This tool helps discover which reports can be executed through feed_report.
When to use this tool
Use this tool when:
the user asks what public reports are available
you need to discover the correct report ID before running a report
you need to inspect supported filters or input parameters
you are unsure which report best matches the user request
Inputs
This tool does not require any input.
Outputs
reports: array of report definitions, each containing:
report_id: report identifiertitle: human-readable report titledescription: short explanation of what the report returnsinput_schema: optional JSON schema describing supported input parameters
LLM usage guidelines
Use this tool before
feed_reportwhenever the correct report ID or supported parameters are not already known.Do not invent report IDs or parameters not present in the catalog.
Prefer the most specific matching report for the user request.
When useful, briefly summarize the most relevant available reports before calling
feed_report.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| reports | No |
Tool Definition Quality
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 clearly indicates a read-only catalog operation ('List','Returns') and describes the output structure. It does not mention auth, rate limits, or side effects, but for a zero-input, non-destructive listing tool, this is sufficient context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear markdown sections (What this tool does, When to use, Inputs, Outputs, LLM usage guidelines) and front-loaded purpose. Despite length, every sentence provides actionable guidance with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter catalog tool, the description fully covers purpose, usage, inputs, outputs, and relationship to the sibling feed_report. The output section describes the report objects, and the guidance on not inventing IDs adds important safety context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is 100% and the baseline is 4. The description explicitly reinforces this with 'This tool does not require any input.' This adds clarity beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'List available public ZEN SecDB feed reports' and explains it returns a catalog of report identifiers, descriptions, and input parameters. It explicitly distinguishes from the sibling tool feed_report by stating it enables discovery of reports executable through feed_report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes a dedicated 'When to use this tool' section with concrete criteria (e.g., user asks what reports are available, need to discover report ID, inspect filters). LLM usage guidelines add explicit direction: 'Use this tool before feed_report whenever the correct report ID or supported parameters are not already known,' indicating when to use versus the alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linux_auditAInspect
Perform a Linux package vulnerability audit using SecDB.
What this tool does
Analyzes the installed packages of a Linux system-identified by OS and OS version-and returns vulnerability information plus a Markdown summary. The audit results are based exclusively on the package list provided by the user.
When to use this tool
Use this tool when the user wants to determine:
whether installed packages contain known vulnerabilities
whether a host, VM, container, or base image is affected by security advisories
which packages require patching or upgrading
If the user does not know the valid values for os or version, first call the linux_os tool to retrieve the exact supported combinations.
Inputs
os: Linux distribution identifier supported by SecDB (use
linux_osto obtain allowed values).version: OS version or codename corresponding to the selected distribution.
packages: list of installed packages, one per line, generated using the appropriate system command:
For RPM-based distributions (RHEL, CentOS, Rocky, Alma, SUSE)
rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n'For DEB-based distributions (Ubuntu, Debian)
dpkg-query -W -f='${Package} ${Version} ${Architecture}\n'For Alpine Linux
apk list -IThe raw output of these commands can be passed directly as the packages input (one package per line).
...
python3 3.12.3-0ubuntu2.1 amd64
systemd 255.4-1ubuntu8.10 amd64
tmux 3.4-1ubuntu0.1 amd64
...Outputs
report: structured objects describing the advisories affecting the audited packages.
summary: Markdown summary including total vulnerabilities, severity breakdown, and key findings.
LLM usage guidelines
Never guess whether a package is vulnerable-always call this tool for Linux audits.
If
osorversionis unclear or missing, calllinux_osand ask the user to choose a valid combination.Normalize the package list to “one entry per line” if the user provides unstructured output.
The
summaryis already Markdown and can be shown directly.Use
reportwhen deeper technical analysis is required.
| Name | Required | Description | Default |
|---|---|---|---|
| os | Yes | Linux distribution identifier supported by SecDB (use `linux_os` to obtain allowed values) | |
| version | Yes | OS version or codename corresponding to the selected distribution | |
| packages | Yes | list of installed packages, **one per line**, generated using the appropriate system command |
Output Schema
| Name | Required | Description |
|---|---|---|
| report | No | |
| summary | No | Markdown summary including total vulnerabilities, severity breakdown, and key findings |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It clearly states that 'audit results are based exclusively on the package list provided by the user,' setting expectations about scope and limitations. It also describes the two outputs (report and summary) and notes the summary is ready-to-show Markdown, which is valuable contextual information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with clear headings, bullet points, and code blocks. It is longer than average, but every section earns its place: the one-line summary front-loads the purpose, and the subsequent sections provide necessary commands, usage context, and output details. No redundant or filler sentences exist.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers input preparation (exact commands per distro), validation (call linux_os for valid values), normalization (one entry per line), output interpretation (report vs. summary), and behavioral caveats (exclusivity on provided packages). Combined with the output schema existence and high schema coverage, this tool is fully specified for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although the schema already covers all three parameters, the description significantly enriches them. For 'packages' it provides per-distro commands and an example format; for 'os' and 'version' it points to linux_os to obtain authoritative values. This goes well beyond the schema descriptions, making the parameters actionable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Perform a Linux package vulnerability audit using SecDB.' It clearly distinguishes this tool from sibling linux_os by explicitly instructing users to call linux_os for valid OS values. The scope (analyzing installed packages and returning vulnerability info plus a Markdown summary) 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
A dedicated 'When to use this tool' section lists three concrete use cases (known vulnerabilities, affected hosts/VMs/containers/base images, patching needs). It explicitly directs users to first call linux_os when os/version values are unknown, and provides exact package-list generation commands for RPM-, DEB-, and Alpine-based systems. The LLM guidelines further clarify when to always use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
linux_osAInspect
List supported Linux operating systems and their corresponding versions for use with the linux_audit tool.
What this tool does
Returns an array of supported OS/version pairs, each in the form:
{"os":"name", "versions":["version or codename"]}This allows the LLM and the user to know exactly which inputs are valid for the linux_audit tool.
When to use this tool
Use this tool when:
the user does not know which OS names or versions are supported
the user provides unclear or ambiguous OS information
you need to validate
os/versionbefore performing a Linux audit
This tool should typically be called before linux_audit whenever parameters are uncertain.
Inputs
This tool does not require any input.
Outputs
Returns an array of objects:
os: supported Linux distribution identifier
versions: corresponding list of supported release or codename
Example:
[
{"os": "ubuntu", "versions": ["noble","focal"]},
{"os": "debian", "versions": ["bookworm","sid"]},
{"os": "redhat", "version": ["redhat-9.0"]}
]LLM usage guidelines
Use this tool to validate or suggest correct OS/version combinations before calling
linux_audit.If the user provides invalid or misspelled OS names, retrieve the official list here and ask them to select one.
Do not guess operating system identifiers-always rely on this tool to confirm correctness.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| supported | No |
Tool Definition Quality
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 requires no input, returns an array of objects, and shows the output format with an example. It also clarifies its non-destructive, informational nature and warns against guessing OS identifiers. It could explicitly state there are no side effects or that it is a static list, but the behavior is well understood from the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear headings, bullet points, and an example. It is longer than necessary but each section adds value: what it does, when to use, inputs, outputs, and LLM guidelines. It is front-loaded with the main purpose, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete given the tool's simplicity. It fully explains the purpose, output format, and usage context, and the inclusion of an example provides concrete guidance. Since there is no input schema beyond '{}', there are no gaps, and the output is fully described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the description explicitly states 'This tool does not require any input.' This exceeds the baseline for 0-parameter tools by confirming there is nothing to provide, eliminating any ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'List supported Linux operating systems and their corresponding versions for use with the linux_audit tool.' It specifies the exact resource (supported OS/version pairs) and distinguishes itself from sibling tools like linux_audit by noting it provides the valid inputs for that tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides 'When to use this tool' with bullet points, states it 'should typically be called before linux_audit whenever parameters are uncertain,' and includes LLM usage guidelines that clarify when to use it for validation and correction. This is thorough alternative/context guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purl_auditAInspect
Perform a software package vulnerability audit using SecDB.
What this tool does
Analyzes a list of software packages identified by PURL (Package URL) and returns vulnerability information plus a Markdown summary. The audit results are based exclusively on the package list provided.
When to use this tool
Use this tool when the user wants to determine:
whether application dependencies contain known vulnerabilities
whether a project is affected by security advisories
which packages require patching or upgrading
Supported ecosystems
npm - Node.js packages (e.g. pkg:npm/lodash@4.17.21)
maven - Java/JVM packages (e.g. pkg:maven/org.apache.logging.log4j/log4j-core@2.14.1)
pypi - Python packages (e.g. pkg:pypi/django@4.2.0)
gem - Ruby gems (e.g. pkg:gem/rails@7.0.0)
cargo - Rust crates (e.g. pkg:cargo/openssl-src@111.10)
nuget - .NET packages (e.g. pkg:nuget/Newtonsoft.Json@13.0.1)
golang - Go modules (e.g. pkg:golang/github.com/gin-gonic/gin@1.9.1)
composer - PHP packages (e.g. pkg:composer/symfony/symfony@6.4.0)
Inputs
purls: list of Package URLs, one per entry. Generate them from your project manifest files:
Node.js: package.json / package-lock.json
Python: requirements.txt / Pipfile.lock / pyproject.toml
Ruby: Gemfile.lock
Go: go.mod / go.sum
Rust: Cargo.lock
PHP: composer.lock
Java: pom.xml / build.gradle
.NET: *.csproj / packages.lock.json
Outputs
report: structured JSON objects describing the advisories affecting the audited packages.
summary: Markdown summary including total vulnerabilities, severity breakdown, and key findings.
LLM usage guidelines
Never guess whether a package is vulnerable — always call this tool.
Only submit PURLs from the supported ecosystems listed above; others will be ignored.
The
summaryis already Markdown and can be shown directly.Use
reportwhen deeper technical analysis is required.
| Name | Required | Description | Default |
|---|---|---|---|
| purls | Yes | List of Package URLs (PURL) to audit |
Output Schema
| Name | Required | Description |
|---|---|---|
| report | No | |
| summary | No | Markdown summary including total vulnerabilities, severity breakdown, and key findings |
Tool Definition Quality
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 discloses that results are based exclusively on the provided package list, that unsupported ecosystem PURLs will be ignored, and what outputs to expect (report and summary). This provides strong behavioral transparency beyond basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear headings (What, When, Supported ecosystems, Inputs, Outputs, LLM guidelines). While lengthy, every section earns its place by providing essential details like examples and manifest file sources. It is informative without being redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (one parameter but many ecosystem variations), the description is complete: it covers supported ecosystems, input generation, output format, and usage rules. With an output schema present, it doesn't need to detail return structure, but it still mentions the two outputs. This is exceptional contextual coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds substantial meaning: it explains what PURLs are, gives examples for each supported ecosystem, and lists manifest files to generate them from. This goes far beyond the schema's bare 'List of Package URLs' and gives the agent concrete guidance for constructing valid inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a vulnerability audit on a list of PURLs, returning vulnerability information and a Markdown summary. It uses specific verb+resource ('Perform a software package vulnerability audit') and distinguishes from sibling tools by focusing on PURL-based package audits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use this tool (e.g., when user wants to know if dependencies contain known vulnerabilities), and provides 'LLM usage guidelines' such as 'Never guess whether a package is vulnerable — always call this tool.' It also clarifies which ecosystems are supported, giving clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sightings_searchAInspect
Search real-world vulnerability sightings in SecDB.
What this tool does
Retrieves information about where and how a vulnerability appears in the real world, including:
Exploit-DB, Metasploit modules, PoCs
Scanner plugins (Nessus, OpenVAS/Greenbone)
Vendor advisories
Social/media references (Reddit, Mastodon, Bluesky)
MISP threat-intel sightings
When to use this tool
Use this tool when the user asks:
"Is this CVE exploited in the wild?"
"Is there a PoC or exploit available?"
"Does Nessus or OpenVAS have a plugin for this CVE?"
"Is this vulnerability being discussed online?"
"Show me all advisories/exploits for this CVE/product."
Inputs
Any of the following may be used:
cve_id: search by specific CVE
query: full-text search (name, product, advisory ID, exploit reference, etc.)
category: filter sightings by type (e.g.,
exploit,nasl,advisory,scanner,poc,social,misp)status: filter by sighting state (
exploited,mitigated,seen,confirmed, etc.)
Outputs
Returns an array of sightings, typically containing:
cve_idstatuscategoryreferencedetails(object with additional structured data)
LLM usage guidelines
Use
cve_idwhen the question targets a specific vulnerability.Use
queryfor broad or exploratory searches.Only use valid enum values for
categoryandstatus.Use this tool instead of assuming exploitation, PoCs, or plugin availability.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Full-text-search for vulnerability name, CVE ID or Advisory ID, categories, etc. | |
| cve_id | No | CVE identification (CVE-YYYY-NNNN) | |
| status | No | Sighting status | |
| category | No | Sighting category (scanner, exploit, advisory, nasl, etc.) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the tool's read-only character implicitly, enumerates the sources it covers, describes the output shape (array with cve_id, status, category, reference, details), and gives operational guidance about valid enum values. It doesn't mention rate limits or pagination, but otherwise provides rich behavioral context beyond minimal expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but tightly structured with headers (What, When, Inputs, Outputs, LLM usage guidelines) and front-loads the core purpose in the first sentence. No filler or repetition; every section contributes actionable detail, though it could be slightly trimmed without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with four optional parameters and no output schema, the description covers purpose, use cases, parameter semantics, output structure, and usage heuristics. It even includes example queries and enum guidance, leaving little ambiguity for an agent about when and how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema already documents all four parameters at 100% coverage, and the description reinforces this by defining each parameter with examples (e.g., 'category' values like exploit, nasl, advisory, scanner, poc, social, misp) and providing heuristics for choosing between cve_id and query. The description adds contextual meaning beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb+resource statement ('Search real-world vulnerability sightings in SecDB') and enumerates specific content types (Exploit-DB, Metasploit, scanner plugins, advisories, social media, MISP) that clearly distinguish it from sibling tools like vulnerability_info or vulnerability_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'When to use this tool' section lists concrete user questions that should trigger this tool, and the LLM usage guidelines advise using cve_id for targeted queries and query for broad searches. It stops short of naming sibling alternatives or explicitly saying when not to use it, so not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ssvc_calculatorAInspect
Compute CISA SSVC (Stakeholder-Specific Vulnerability Categorization) for a CVE.
What this tool does
Calculates the SSVC decision (Track, Track*, Attend, Act) using:
exploitation status
technical impact
automatable exploitation
mission prevalence (user-provided)
public well-being impact (user-provided)
This reflects CISA's official SSVC prioritization model.
When to use this tool
Use this tool when the user asks about:
how urgently a CVE should be remediated
CISA SSVC priority or risk category
a structured decision model for remediation
Inputs
cve_id: the vulnerability to evaluate (
CVE-YYYY-NNNNN)mission_prevalence:
M,S, orE(must be provided by the user)public_well_being_impact:
M,A, orI(must be provided by the user)
Outputs
decision: one of Track, Track*, Attend, Actexploitationtechnical_impactautomatablemission_prevalencepublic_well_being_impactmission_and_well_being_impact_valuevector_stringsummary: Markdown explanation of the outcome
LLM usage guidelines
Always ask the user for mission_prevalence (M/S/E) and public_well_being_impact (M/A/I) before calling.
Never guess these values—SSVC depends on user context.
Use the
summaryto explain clearly why the decision was returned.Combine with
vulnerability_scoreorsightings_searchif the user needs additional context.
| Name | Required | Description | Default |
|---|---|---|---|
| cve_id | Yes | CVE ID | |
| mission_prevalence | Yes | # Mission Prevalence A mission essential function (MEF) is a function directly related to accomplishing the organization's mission as set forth in its statutory or executive charter. Identifying MEFs is part of business continuity planning or crisis planning. In contrast to non-essential functions, an organization must perform a [MEF] during a disruption to normal operations. The mission is the reason an organization exists, and MEFs are how that mission is realized. Non- essential functions support the smooth delivery or success of MEFs rather than directly supporting the mission. ## Possible values - "M" or "Minimal" Neither support nor essential apply. The vulnerable component may be used within the entities, but it is not used as a mission-essential component, nor does it provide impactful support to mission-essential functions. - "S" or "Support" The vulnerable component only supports MEFs for two or more entities. - "E" or "Essential" The vulnerable component directly provides capabilities that constitute at least one MEF for at least one entity; component failure may (but does not necessarily) lead to overall mission failure. ## Instructions for LLM Ask the user for the "Mission Prevalence" value before calling the tool. | |
| public_well_being_impact | Yes | # Public Well-being Impact ## Possible values - "M" or "Minimal" **Type of Harm -> All**, The effect is below the threshold for all aspects described in material. - "A" or "Material" **Type of Harm -> Physical harm**, Does one or more of the following: - Causes physical distress or injury to system users. - Introduces occupational safety hazards. - Reduces and/or results in failure of cyber-physical system safety margins. **Type of Harm -> Environment**, Major externalities (property damage, environmental damage, etc.) are imposed on other parties. **Type of Harm -> Financial**, Financial losses likely lead to bankruptcy of multiple persons. **Type of Harm -> Psychological**, Widespread emotional or psychological harm, sufficient to necessitate counseling or therapy, impact populations of people. - "I" or "Irreversible" **Type of Harm -> Physical harm**, One or both of the following are true: - Multiple fatalities are likely. - The cyber-physical system, of which the vulnerable component is a part, isl ikely lost or destroyed. **Type of Harm -> Environment**, Extreme or serious externalities (immediate public health threat, environmental damage leading to small ecosystem collapse, etc.) are imposed on other parties. **Type of Harm -> Financial**, Social systems (elections, financial grid, etc.) supported by the software are destabilized and potentially collapse. **Type of Harm -> Psychological N/A ## Instructions for LLM Ask the user for the "Public Well-being Impact" value before calling the tool. |
Output Schema
| Name | Required | Description |
|---|---|---|
| summary | No | Summary |
| decision | Yes | Decision |
| automatable | Yes | Automatable |
| exploitation | Yes | State of Exploitation (Evidence of Active Exploitation of a Vulnerability) |
| vector_string | Yes | SSVC Vector String |
| technical_impact | Yes | Technical Impact (Technical Impact of Exploiting the Vulnerability) |
| mission_prevalence | Yes | Mission Prevalence (Impact on Mission Essential Functions of Relevant Entities) |
| public_well_being_impact | Yes | Public Well-being Impact |
| mission_and_well_being_impact_value | Yes | Mission and Well-Being Impact Value |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool depends on user-provided context values, warns against guessing them, and explains the output includes a summary for interpretation. It doesn't cover potential errors, network behavior, or rate limits, but those are less critical for a calculation tool; the provided guidance is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized with clear headings (What, When, Inputs, Outputs, LLM usage guidelines) and is front-loaded with the main purpose. Each section is purposeful—no wasted words. Length is justified by the complexity of SSVC inputs and the need for LLM-specific instructions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the full context: what the tool does, when to use it, all three required parameters with requirements, output fields (including summary), and usage guidance. It even suggests combinations with sibling tools. The presence of an output schema lowers the need to explain return types, but the description still furnishes them, making it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both mission_prevalence and public_well_being_impact already have exhaustive descriptions with allowed values. The tool description reinforces these with concise 'M/S/E' and 'M/A/I' notation and adds the critical semantic that these must be user-provided. This adds value beyond the schema by operationalizing the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Compute CISA SSVC for a CVE.' It clearly states the decision outputs (Track, Track*, Attend, Act) and distinguishes this tool from siblings like epss_timeseries or vulnerability_score by focusing on the SSVC prioritization model.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'When to use this tool' section explicitly lists user intents (urgency of remediation, CISA SSVC priority, structured decision model). It also provides exclusions/prerequisites by insisting the user must supply mission_prevalence and public_well_being_impact, and names alternative/complementary tools (vulnerability_score, sightings_search).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnerability_infoAInspect
Get detailed information about a specific CVE.
What this tool does
Retrieves the full vulnerability record for a CVE from SecDB, including:
official description and summary
CVSS metrics (all versions available)
EPSS metadata (if present)
affected products and versions
vendor/security advisories
references and upstream sources
weakness classification (CWE)
exploit and patch information (if included in the record)
All information is returned in a structured Markdown format suitable for direct display.
When to use this tool
Use this tool when the user asks:
"Give me details about CVE-XYZ."
"Which products are affected by this vulnerability?"
"Show me advisories or references for this CVE."
"Explain what this vulnerability is and how serious it is."
This tool is ideal for deep inspection of a single vulnerability. For multiple CVEs, call the tool once per CVE.
Inputs
cve_id: valid CVE identifier (
CVE-YYYY-NNNNN).
Outputs
Markdown-formatted vulnerability information including:
detailed description
severity metrics (CVSS, vectors)
affected products list
advisory list
references
weakness (CWE) details
additional structured metadata from SecDB
LLM usage guidelines
Always prefer this tool when the user needs factual information about a specific CVE.
If multiple CVEs are mentioned, call the tool once per CVE.
Combine with:
vulnerability_score- to enrich output with numerical CVSS/EPSS metricssightings_search- to check real-world exploitation, PoCs, plugins, advisoriesssvc_calculator- to compute prioritization based on the vulnerability data
Do not hallucinate product lists, advisories, or details—use what the tool returns.
| Name | Required | Description | Default |
|---|---|---|---|
| cve_id | Yes | CVE identification (CVE-YYYY-NNNNN) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the behavioral disclosure burden. It explains the tool retrieves a record, returns structured Markdown, notes conditional data (EPSS, exploit/patch 'if present'), and warns not to hallucinate details. This is transparent about what the tool does and limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (What, When, Inputs, Outputs, LLM guidance). Every section adds value and the length is appropriate for the complexity of the tool. No fluff or redundant repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description thoroughly covers return values (Markdown fields, severity metrics, affected products, etc.). It also addresses multi-CVE usage and integration with sibling tools, making the description complete for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description's input section simply restates the schema's CVE format (CVE-YYYY-NNNNN). It adds marginal value beyond the schema by noting the ID must be valid, but doesn't provide additional semantics or usage constraints beyond what's already in the structured definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Get detailed information about a specific CVE', clearly identifying the verb (get/info), resource (specific CVE), and scope (detailed vulnerability record). It enumerates the exact data returned, distinguishing this from sibling tools like vulnerability_search and vulnerability_score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit 'When to use this tool' section provides example user queries and states 'Always prefer this tool when the user needs factual information about a specific CVE.' It also gives guidance for multiple CVEs (call once per CVE) and suggests complementary tools, though it doesn't explicitly state when not to use alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnerability_scoreAInspect
Get CVSS and current EPSS score for a specific CVE.
What this tool does
Returns a full risk snapshot for a CVE, including:
CVSS version
CVSS base score
CVSS severity
CVSS vector string
human-readable explanation of the CVSS vector
current EPSS score
The field cvss_explain provides a natural-language interpretation of the CVSS vector (attack conditions, privileges, user interaction, impact breakdown).
Example:
For CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H, the explanation may read:
"The vulnerability can be exploited remotely over the network with low complexity,
without authentication and without user interaction. Exploitation may lead to high
impact on confidentiality, high impact on integrity, and high impact on availability."
When to use this tool
Use this tool when the user asks:
"What is the CVSS/EPSS of this CVE?"
"Explain the CVSS vector of this vulnerability."
"What is the severity and why?"
"Give me the risk profile for this CVE."
For EPSS historical trends, use epss_timeseries.
Inputs
cve_id: valid CVE identifier (
CVE-YYYY-NNNNN).
Outputs
cvss_versioncvss_base_scorecvss_base_severitycvss_vector_stringcvss_explain- human-readable explanation of the CVSS vectorepss_score
LLM usage guidelines
Never guess CVSS or EPSS values—always call this tool.
Use the
cvss_explainfield directly when the user wants an interpretation of the vector string.If multiple CVEs are referenced, call the tool once per CVE.
Combine this tool with
sightings_searchorssvc_calculatorfor more complete risk assessments.
| Name | Required | Description | Default |
|---|---|---|---|
| cve_id | Yes | CVE identification (CVE-YYYY-NNNNN) |
Output Schema
| Name | Required | Description |
|---|---|---|
| epss_score | Yes | EPSS score |
| cvss_explain | No | Explain CVSS |
| cvss_version | Yes | CVSS version |
| cvss_base_score | Yes | CVSS base score |
| cvss_base_severity | Yes | CVSS base severity |
| cvss_vector_string | Yes | CVSS vector string |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses the exact fields returned, provides a natural-language example of the cvss_explain field, and explicitly warns the LLM never to guess CVSS/EPSS values. It does not mention rate limits or failure modes, but for a read-only lookup tool this is strong transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear section headers: tool purpose, what it does, when to use, inputs, outputs, and LLM usage guidelines. Every section serves a purpose, and the example explanation is illustrative without being redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter) and the presence of an output schema, the description is contextually complete. It covers use cases, alternative tools, combination strategies, and critical LLM guidance (never guess, call per CVE).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents cve_id with 100% coverage, so the baseline is 3. The description adds only a 'valid' qualifier (CVE-YYYY-NNNNN) and a call-per-CVE guideline, but no substantive new parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource statement: 'Get CVSS and current EPSS score for a specific CVE.' It clearly differentiates this tool from siblings like epss_timeseries (historical trends) and vulnerability_info/vulnerability_search by focusing on the risk snapshot for a single CVE.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'When to use this tool' section gives explicit example user queries, names an alternative tool for EPSS historical trends, and suggests combining with sightings_search or ssvc_calculator for fuller assessments. This goes well beyond implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnerability_searchAInspect
Perform a full-text vulnerability search in SecDB.
What this tool does
Searches across:
CVE entries
Security advisories
Exploit references
Product and vendor vulnerability data
Results are formatted in Markdown and include a search summary.
When to use this tool
Use this tool when the user asks:
to look up a CVE, advisory, exploit, or product
"show vulnerabilities for X"
"search for advisories about Y"
exploratory or broad vulnerability discovery
Inputs
query: free-text search term (CVE ID, advisory ID, product name, exploit name, vendor, keyword, etc.)
Outputs
results: array of Markdown-formatted search hits
summary: Markdown summary with counts and a link to continue searching on SecDB
LLM usage guidelines
Use this tool instead of assuming whether a CVE/advisory/exploit exists.
Present
resultsandsummarydirectly to the user-they are already Markdown.Combine with
vulnerability_score,epss_timeseries, orsightings_searchfor deeper analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | CVE ID, vulnerability name, Advisory ID, Exploit, etc. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | No | |
| summary | No | Search summary with found records (ID) and link for continue the search on SecDB |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It discloses that results are Markdown-formatted, includes a summary, and that the tool is a search (implying read-only). It provides useful behavioral context such as output format and usage, though it doesn't mention rate limits, pagination, or auth requirements, which are less critical for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear subheadings (What this tool does, When to use, Inputs, Outputs, LLM usage guidelines). Every sentence contributes useful information—no fluff or redundancy. Despite its length, it is organized and front-loaded with a clear opening statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one simple parameter and an output schema present, the description is remarkably complete. It covers purpose, usage, inputs, outputs, and LLM guidelines, including how to combine with sibling tools. The description fully equips an agent to invoke the tool correctly and interpret its results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers the 'query' parameter, but the description adds more semantic value by describing it as a 'free-text search term' and expanding examples to include product names, vendors, and keywords. This goes beyond the schema's brief enumeration, aiding the agent in understanding the parameter's flexibility.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a full-text vulnerability search in SecDB, explicitly listing what it searches across (CVE entries, advisories, exploit references, product/vendor data). This distinguishes it from sibling tools like vulnerability_info or vulnerability_score, which target specific aspects of vulnerability data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a dedicated 'When to use this tool' section with example user queries and states to use it instead of assuming whether a CVE/advisory/exploit exists. It also mentions combining with other tools for deeper analysis, but it does not explicitly name when not to use this tool or directly contrast it with specific siblings like vulnerability_info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityBmaintenanceMCP server to query and manage CISA Known Exploited Vulnerabilities catalog with EPSS overlay, enabling vulnerability checks and remediation deadline tracking.MIT
- Alicense-qualityBmaintenanceMCP server for querying live CISA KEV, EPSS, and enriched vulnerability feeds with full provenance. Enables natural-language access to auditable security-intelligence data from Claude Desktop and other MCP clients.MIT
- AlicenseAqualityAmaintenanceUnifies NVD, EPSS, CISA KEV, GitHub Advisory, and OSV into a single MCP server, enabling AI agents to query vulnerability intelligence conversationally with 23 tools for incident response, prioritization, dependency audits, and threat monitoring.4167319MIT
- Flicense-qualityBmaintenanceMCP server for retrieving vulnerability data (CVE) via HTTP, testable with MCP Inspector and OpenCode.1