Osv Get Vulnerability
osv_get_vulnerabilityFetch the full advisory record for an OSV vulnerability ID. Returns the complete record: summary, full details text, CVE aliases, all affected packages and version ranges, fix versions, CVSS severity vectors, CWE weakness IDs, and references. Use when osv_query_package or osv_query_batch returns a vuln ID and you need the full advisory context — affected packages or remediation guidance. For overflow, repeat the original input with page: overflow.page. Continue the same path with offset: page.nextOffset and revision: page.revision until nextOffset is null. Retrieve each entries[].deferred.path separately at offset zero without a revision. Do not pass the output page object as input. Every page is a fresh lookup; restart a changed node without a revision. Transmission overflow and upstream truncation are separate; neither confirms clean.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"id": "<id>"
},
"name": "osv_get_vulnerability"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | One exact, complete OSV advisory ID from any OSV source database, matched case-sensitively. Prefixes include "GHSA-" (GitHub), "PYSEC-" (PyPI), "RUSTSEC-" (Rust), "GO-" (Go), "DSA-"/"DLA-" (Debian), "USN-" (Ubuntu), "RHSA-" (Red Hat), and "CVE-". No wildcards or partial IDs — take IDs from osv_query_package or osv_query_batch results. Example: "GHSA-29mw-wpgm-hmr9". | |
| page | No | Repeat id with page: overflow.page first; then select path, offset: page.nextOffset, revision: page.revision. Start deferred child paths without a revision. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | OSV vulnerability ID. | |
| page | No | One bounded page of an addressed normalized node. | |
| error | No | Present when the call failed. Absent on success. | |
| cweIds | No | CWE weakness classifications (e.g. ["CWE-79"]). Present on GitHub Advisory Database records; empty otherwise. | |
| aliases | No | Alternative IDs — usually CVE IDs. Accepted by nvd_get_cve on nist-nvd-mcp-server for CVSS base score and CISA KEV status. | |
| details | No | Full advisory text, typically in Markdown. May include proof-of-concept, reproduction steps, or remediation guidance. | |
| preview | No | Compact view; overflow identifies omissions. This is not the complete record. | |
| related | No | OSV IDs of related vulnerabilities. Absent when OSV supplies no related list. | |
| summary | No | One-line advisory description. | |
| affected | No | All affected packages and their version ranges. An advisory may span multiple packages or ecosystems. | |
| modified | No | ISO 8601 timestamp of last modification. | |
| overflow | No | Transmission overflow disclosure; independent of upstream truncation. | |
| severity | No | Record-level severity entries (CVSS vectors, Ubuntu priorities). Empty for unscored advisories and for advisories that score each affected package separately. | |
| upstream | No | IDs of upstream vulnerabilities covered by this advisory, in OSV order. Use CVE IDs for NVD lookup. Absent when OSV supplies no upstream list. | |
| published | No | ISO 8601 timestamp when published. | |
| withdrawn | No | ISO 8601 timestamp when this advisory was withdrawn. Present ONLY on withdrawn advisories — a withdrawn record has been retracted and must not be treated as an active vulnerability. | |
| references | No | Advisory references — NVD links, patches, vendor advisories, PoC reports. | |
| schemaVersion | No | OSV schema version this record conforms to (e.g. "1.7.3"). | |
| severityLabel | No | Severity label ("LOW", "MODERATE", "HIGH", "CRITICAL") from the first source that yields one: database_specific.severity, an Ubuntu priority, then the highest CVSS v3/v4 score (0.1–3.9 LOW, 4.0–6.9 MODERATE, 7.0–8.9 HIGH, 9.0–10.0 CRITICAL). Uses every affected package severity entry when the record-level list is empty. Null when no source yields a label. | |
| severitySource | No | The severity entry severityLabel was derived from. Null exactly when the label is. |