Skip to main content
Glama

Package vulnerability check (OSV.dev)

osv_package_vulns
Read-onlyIdempotent

Open-source package vulnerability check via OSV.dev for npm, PyPI, Go, crates.io, Maven, RubyGems, NuGet, Packagist and more, by ecosystem+name+version, purl, or up to 10 purls. Useful before installing or upgrading a dependency. Returns vulnerable flag, count, CVE/GHSA aliases, CVSS score and severity, fixed versions and a verified upgradeTo version. Errors: 400 invalid input, 502 OSV unavailable. PAID: $0.002 USDC per call on Base via x402 (MCP transport: retry with params._meta["x402/payment"]). Same tool over plain HTTP: GET /v1/osv/package.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "osv_package_vulns"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNopackage name; Maven uses groupId:artifactId, Go uses the module path
purlNoalternative to ecosystem+name+version, e.g. pkg:npm/lodash@4.17.20
limitNomax vulns returned per package, default 50
versionNooptional exact version; omit for all known advisories
packagesNobatch: up to 10 comma-separated purls
ecosystemNoOSV ecosystem, case-insensitive: npm, PyPI, Go, crates.io, Maven, RubyGems, NuGet, Packagist, Hex, Pub, Debian:12 ...

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, open-world behavior, and the description still adds substantial context beyond them: the return payload (vulnerable flag, count, CVE/GHSA aliases, CVSS, fixed versions, verified upgradeTo), specific error codes (400, 502), and the paid-call mechanics. The $0.002 USDC x402 pricing with the retry payload path and the plain-HTTP twin endpoint are exactly the operational facts an agent cannot infer from annotations.

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

Conciseness4/5

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

A single dense paragraph, front-loaded with the purpose and input modes before returns, errors, and billing. Every clause carries information, though the x402 naming conventions make the tail noticeably harder to read; a separate line for payment/errors would improve scanability.

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

Completeness4/5

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

With no output schema, the description correctly compensates by enumerating the returned fields, and it covers failure modes and cost so the agent can call it correctly. The remaining gap is the unspecified behavior when no parameters are supplied and the lack of explicit mutual exclusivity between the three input modes.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description groups the properties into three named calling modes (ecosystem+name+version, single purl, up to 10 comma-separated purls), which guides selection among them. It does not state that these modes are mutually exclusive or what happens with zero parameters even though none are required, so the added meaning is real but not complete.

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 and resource ('Open-source package vulnerability check via OSV.dev') plus the covered ecosystems and the three accepted input modes (ecosystem+name+version, purl, batch purls). No sibling tool does vulnerability lookup, so the resource is unambiguous and an agent can select it 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 Guidelines4/5

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

'Useful before installing or upgrading a dependency' gives a concrete triggering context for the call. It stops short of naming when not to use it or how it relates to alternatives (e.g. injection_scan or x402_check), so it is clear context without exclusions.

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