Get vulnerability advisory details (free)
get_vulnerability_detailsFetch full OSV records for known vulnerability IDs to retrieve summaries, affected ranges, fixed versions, severity, and references from the public OSV.dev API.
Instructions
WHAT: Fetch the full OSV record for one or more known vulnerability IDs (e.g. GHSA-35jh-r3h4-6jhm, PYSEC-2021-9, GO-2022-0969, RUSTSEC-2021-0078, CVE-2021-44228) directly from the public OSV.dev API. WHEN TO USE: you already have an advisory/CVE ID (e.g. from check_dependency_vulnerabilities or a security report) and need its summary, details, affected ranges, fixed versions, severity vectors or references. WHEN NOT TO USE: to find which vulnerabilities affect given package versions or a manifest use check_dependency_vulnerabilities (paid); to list every advisory of a package without IDs use list_package_vulnerabilities (free). COST/BEHAVIOR: free; one HTTP GET per ID to api.osv.dev, no token; OSV documents no rate limit. RETURNS: one row per ID: type="vulnerability" with the raw OSV record fields plus osv_url, or type="error" (VULN_NOT_FOUND or OSV_FETCH_FAILED, see PARAMETERS). PARAMETERS: ids: each ID is trimmed and fetched separately (in parallel) and yields exactly one row in input order, so one bad ID never fails the call: unknown IDs return VULN_NOT_FOUND rows (not retryable), network/5xx problems OSV_FETCH_FAILED rows (retryable - resend just those IDs). Use the exact IDs from check_dependency_vulnerabilities (id / vuln_ids / aliases); a CVE-... ID resolves only when OSV holds it as its own record, otherwise query its GHSA alias. Duplicate IDs are fetched twice. For more than 25 IDs, split into several calls. EXAMPLE: {"ids":["GHSA-35jh-r3h4-6jhm"]} -> 1 vulnerability row (lodash command injection, fixed in 4.17.21).
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": {
"ids": "<ids>"
},
"name": "get_vulnerability_details"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Required. 1-25 advisory IDs, 3-100 chars each (surrounding whitespace is trimmed): GHSA-xxxx-xxxx-xxxx, PYSEC-YYYY-N, GO-YYYY-NNNN, RUSTSEC-YYYY-NNNN or CVE-YYYY-NNNNN. Example: ["GHSA-35jh-r3h4-6jhm","PYSEC-2021-9"] |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| count | Yes | Number of rows returned | |
| items | Yes | Result rows; each has a "type" field (data rows or machine-readable "error" rows) |