Skip to main content
Glama

SCRIPTMASTERLABS — ScriptDocs

Check Package Vulnerabilities

docs_check_vulnerabilities
Read-onlyIdempotent

Check a real, specific package version against OSV.dev (Google-run, aggregates GitHub/PyPA/npm/RustSec advisories) — and, when a fix exists, automatically fetch that fixed version's README in the same call, so the result is "here's what's wrong" AND "here's exactly what upgrading looks like," not just a CVE list you have to research further yourself.

This is a live query against OSV.dev's public API for the exact package+version given. It never estimates or guesses risk — if OSV has no advisories on record for that version, this correctly reports zero vulnerabilities rather than implying danger that isn't documented. Note: this tool is more limited than dedicated vulnerability-intelligence tools (e.g. VulnCheck, Snyk) — it reports what OSV.dev has on file, not exploit activity or threat intelligence.

Args:

  • ecosystem ('npm' | 'pypi' | 'cargo')

  • package_name (string): exact package name

  • version (string, optional): specific version to check; defaults to the latest published version

  • include_fix_docs (boolean, default true): also fetch the README for the version that fixes the found vulnerabilities

Returns JSON with: vulnerability_count, vulnerabilities (array of {id, summary, severity, aliases, fixed_in, references}), recommended_fix (null, or {version, readme, truncated, source_url} for the version that resolves the found issues), source_url, fetched_at.

Error Handling:

  • Returns "Error: ..." if the package doesn't exist or OSV.dev can't be reached

  • vulnerability_count: 0 with an empty array is a normal, valid result — not an error

  • If fetching the fix's README fails, recommended_fix is null rather than the whole call failing — the vulnerability data itself is never withheld because of it [PAID: $0.009 USDC per call via x402 on Base - send a PAYMENT-SIGNATURE header on the /mcp request; unpaid calls return an HTTP 402 x402 challenge (amount 9000 atomic USDC). The other ScriptDocs tools are free.]

Input Schema

NameRequiredDescriptionDefault
versionNoSpecific version to check. Defaults to the current latest published version if omitted.
ecosystemYesWhich package registry the version belongs to: 'npm', 'pypi', or 'cargo'.
package_nameYesExact package name as published on the registry.
include_fix_docsNoWhen a vulnerability is found with a known fixed version, also fetch that version's README so the response includes what upgrading actually looks like. Set false to skip the extra fetch.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnly/openWorld/idempotent/non-destructive, yet the description still adds substantial behavior: no-risk-inference policy, partial-failure semantics (failed README fetch yields null recommended_fix rather than failing the call), 'Error: ...' surface, and the $0.009 x402 payment/402 flow. That is exactly the kind of context annotations cannot carry.

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

Conciseness3/5

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

Front-loaded and sectioned (Args / Returns / Error Handling) which aids scanning, but it is padded with marketing phrasing ('not just a CVE list you have to research further yourself', the 'here's what's wrong' quoting) and the payment notice is buried in brackets at the tail of the error section.

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

Completeness5/5

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

Despite no output schema, the description fully enumerates return fields, null conditions for recommended_fix, error behavior, and cost/auth preconditions. Nothing an agent needs to invoke this correctly or interpret the response is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description restates the four args and their defaults but adds no syntax, format or validation detail beyond what the schema already documents — the one mildly useful addition is clarifying include_fix_docs' purpose operationally, which the schema also covers.

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 — check a real, exact package+version against OSV.dev — and adds the distinctive second behavior (auto-fetching the fixed version's README). An agent can immediately tell this apart from the docs_* lookup siblings, which only retrieve documentation.

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?

Explains the context clearly: live exact-version query, never estimates, zero results are valid, and explicitly scopes it below dedicated vuln-intel tools (VulnCheck, Snyk). It never names or routes to a sibling tool, and gives no explicit 'use X instead when…' rule, so it stops short of a 5.

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