Skip to main content
Glama

vulnerability_score

Read-onlyIdempotent

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_version

  • cvss_base_score

  • cvss_base_severity

  • cvss_vector_string

  • cvss_explain - human-readable explanation of the CVSS vector

  • epss_score

LLM usage guidelines

  • Never guess CVSS or EPSS values—always call this tool.

  • Use the cvss_explain field 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_search or ssvc_calculator for more complete risk assessments.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cve_idYesCVE identification (CVE-YYYY-NNNNN)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
epss_scoreYesEPSS score
cvss_explainNoExplain CVSS
cvss_versionYesCVSS version
cvss_base_scoreYesCVSS base score
cvss_base_severityYesCVSS base severity
cvss_vector_stringYesCVSS vector string

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds real behavioral value beyond that: it explains what cvss_explain contains, instructs the agent never to guess values, and says to call once per CVE for multi-CVE requests. It does not discuss caching, rate limits, or behavior on unknown/invalid CVEs, which keeps it short of a 5.

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

Conciseness3/5

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

Content is front-loaded and clearly sectioned, but it is long for a one-parameter tool and repeats the schema in an 'Inputs' section and the output schema in an 'Outputs' section, neither of which earns its place. The illustrative CVSS vector example is useful but disproportionate.

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

Completeness5/5

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

With annotations covering safety/idempotency and an output schema present, the description already does more than required: it lists returned fields, explains the one non-obvious field (cvss_explain), and gives usage guidance. An agent has everything needed to call it correctly and interpret the result.

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

Parameters3/5

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

Schema description coverage is 100% and there is a single required parameter, so the schema already documents cve_id fully. The description restates the same CVE-YYYY-NNNNN format without adding validation rules, error behavior, or format nuances beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (get CVSS and current EPSS score for a specific CVE) and enumerates exactly what the risk snapshot contains. It also names the sibling that handles the adjacent case (epss_timeseries for historical trends), so an agent can differentiate without opening the schema.

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

Usage Guidelines5/5

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

Provides an explicit 'When to use this tool' section with four concrete user phrasings, names the exclusion condition for EPSS historical trends, and routes to related tools (sightings_search, ssvc_calculator) for fuller assessments. Nothing about selection is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources