Skip to main content
Glama

Server Details

Query OSV.dev for package vulnerabilities and batch-audit dependency lists via MCP.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
cyanheads/osv-advisory-mcp-server
GitHub Stars
2
Server Listing
osv-advisory-mcp-server
ChatGPT
–
Claude
–

TDQS

A4.5/5.0

Scored across 5 tools

Disambiguation4/5

Each tool targets a distinct query mode: single package, batch packages, single commit, full record by ID, and ecosystem enumeration. The only boundary friction is between osv_query_package and osv_query_batch, since a one-element batch could substitute for a package query, but the descriptions explicitly position batch for audits and explain the cursor handoff to osv_query_package.

Naming Consistency5/5

All five tools follow the same osv_<verb>_<noun> pattern: get_vulnerability, list_ecosystems, query_package, query_batch, query_commit. The verb choice is semantically meaningful (get for a known record, query for searches, list for enumeration) and applied consistently.

Tool Count5/5

Five tools map cleanly onto the OSV API surface (by-ID lookup, package query, batch query, commit query, ecosystem list) with no filler or redundancy. It is well within the ideal 3-15 range for a focused lookup server.

Completeness4/5

Coverage mirrors the core OSV endpoints and supports the main workflows: lookup by ID, dependency/SBOM audit via batch, commit-level queries, and ecosystem discovery feeding the query tools. Minor gaps exist (no direct CVE/alias-to-OSV-ID resolution and no general search by severity or package name across ecosystems), but agents can work around these via returned aliases.

Available Tools

5 tools
osv_get_vulnerabilityOsv Get VulnerabilityA
Read-onlyIdempotent
Inspect

Fetch 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.

Inputs: id (required), page. Returns: id, page, error, cweIds, +16 more

osv_list_ecosystemsOsv List EcosystemsA
Read-onlyIdempotent
Inspect

Return the supported ecosystem base names for osv_query_package and osv_query_batch: every ecosystem the OSV schema names that OSV.dev accepts at query time, plus GIT, as verified on 2026-10-31. Known base names are case-insensitive. Preserve suffix spelling. Alpine needs a release branch, such as Alpine:v3.17. The list is static and may lag ecosystems added after that date.

Inputs: no named parameters. Returns: note, error, ecosystems

osv_query_batchOsv Query BatchA
Read-onlyIdempotent
Inspect

Query vulnerabilities for multiple packages in one call — the primary tool for dependency audits, SBOM scanning, and lockfile triage. Submit up to 5000 mixed {name, ecosystem, version} tuples and {purl, version?} identifiers, with exactly one embedded or separate version per PURL. The first 1000 entries are processed. Follow summary.nextInputOffset to submit the remaining slice. Pass a row's nextCursor as cursor to osv_query_package with that row's identifier. Each entry in the response corresponds positionally to the input. Each finding includes CVE aliases for chaining to nist-nvd-mcp-server for CVSS scoring. Large replies retain the complete summary. For overflow, repeat the original packages array 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. /results/17 selects original input row 17, even when earlier rows failed. Pages are fresh lookups and do not recompute the initial summary; restart a changed node without a revision. Transmission overflow and upstream truncated are separate; neither confirms clean.

Inputs: packages (required), page. Returns: page, error, notice, preview, +5 more

osv_query_commitOsv Query CommitA
Read-onlyIdempotent
Inspect

Query known vulnerabilities for one full Git commit hash (40 hexadecimal SHA-1 or 64 hexadecimal SHA-256 characters, case-insensitive). Abbreviated hashes are rejected. Returns advisory summaries, record-wide severity and GIT ranges with repositories and ordered fix events; use osv_get_vulnerability for full records. No package-specific fixedVersions are inferred. 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 entries[].deferred.path separately at offset zero without a revision. Do not pass the output page object as input. Pages are fresh lookups; restart a changed node without a revision. Transmission overflow and upstream truncated are separate; neither confirms clean.

Inputs: commit (required), page, cursor. Returns: page, error, vulns, notice, +6 more

osv_query_packageOsv Query PackageA
Read-onlyIdempotent
Inspect

Query known vulnerabilities for a single package version using {name, ecosystem, version} or {purl, version?}; supply exactly one embedded or separate version. Returns all matching OSV advisories with severity (CVSS vectors), CVE aliases, affected version ranges, and the fixed versions listed for the queried package. Find canonical ecosystem names and the Alpine release format in osv_list_ecosystems. Known base names are case-insensitive. Preserve suffix spelling. 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. Set page.advisoryId to an announced ID to fetch its fields with fixes and severity for the queried package; retain advisoryId on subsequent pages. Pages are fresh lookups; restart a changed node without a revision. Transmission overflow and upstream truncated are separate; neither confirms clean.

Inputs: name, page, purl, cursor, +2 more. Returns: page, error, vulns, notice, +7 more

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      F
      maintenance
      Enables auditing npm, pip, and other package dependencies for known CVEs via the OSV database, with tools to scan manifests, query individual packages, and integrate into CI/CD workflows.
      570 npm
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables coding agents to check individual project dependencies or local CycloneDX/SPDX SBOM files against the public OSV.dev advisory database and receive ranked vulnerability findings.
      2
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.