Skip to main content
Glama

Dependency vulnerability batch check: up to 20 npm, PyPI, Go, Cargo packages in one call (OSV.dev)

package_vulnerabilities_batch

Use when an agent must scan a project's dependencies before install, upgrade or merge. Input: packages, up to 20 ecosystem:name@version, comma-separated (npm, pypi, go, cargo/crates.io, maven, nuget...). Output: JSON summary (vulnerable count, critical/high/moderate/low), per package vulnerable yes/no, counts, top advisories with CVE, severity, fixed versions, osv.dev links. Data: OSV.dev, CC BY 4.0. Example: ?packages=npm:lodash@4.17.15,pypi:django@3.2.0 Price: $0.0045 USDC (Base or Solana) via x402.

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": {
      "packages": "<packages>"
    },
    "name": "package_vulnerabilities_batch"
  }
}

Input Schema

NameRequiredDescriptionDefault
packagesYes1-20 packages as ecosystem:name@version, comma-separated (npm:lodash@4.17.15, pypi:django@3.2.0, go:golang.org/x/net@0.17.0, cargo:time@0.1.45)
ecosystemNoDefault ecosystem for items written as name@version

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the disclosure burden and does substantial work: it names the data source and license (OSV.dev, CC BY 4.0), the paid cost and payment rails ($0.0045 USDC via x402), and the response shape. It omits failure behavior — what happens with an invalid ecosystem, a version that doesn't resolve, or more than 20 packages.

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?

Dense and front-loaded: use case first, then input, output, provenance, pricing. Nearly every clause carries information an agent needs. The URL-style example ("?packages=npm:lodash@...") doesn't match the JSON-object calling convention and costs a little clarity for its length.

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?

There is no output schema or annotations, but the description compensates by specifying the JSON summary contents (counts by severity, per-package results, top advisories with CVE and fixed versions). Enough to call correctly; only edge-case handling and the singular-vs-batch choice are unaddressed.

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 3 is the baseline, but the description earns an extra point by enumerating supported ecosystems beyond the schema's examples (maven, nuget) and restating the 20-item cap and comma-separated form. It adds nothing about the optional ecosystem default parameter's precedence over inline prefixes.

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 precise verb and resource ("scan a project's dependencies") plus scope limits ("up to 20 ecosystem:name@version"), and the batch nature is front-loaded in both title and first sentence, so an agent can distinguish it from the singular package_vulnerabilities without opening either 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?

Gives an explicit trigger condition — "Use when an agent must scan a project's dependencies before install, upgrade or merge" — which is clear actionable context. It never names the singular package_vulnerabilities sibling as the alternative for one-off checks, so the routing decision for small inputs 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