Skip to main content
Glama

Zovo Dependency Audit

Check one package

check_package
Read-onlyIdempotent

Use this when the user asks whether one specific package version has known vulnerabilities, which version fixes them, its license, or how outdated it is (for example lodash 4.17.15 on npm or django 3.2.0 on PyPI). Reads live OSV.dev and deps.dev records and returns Markdown, CSV and PDF reports. Needs one specific version, not a range. Does not check transitive dependencies or scan code. npm and PyPI only.

Input Schema

NameRequiredDescriptionDefault
nameYesPackage name as published on npm or PyPI, e.g. lodash, @babel/core or django.
versionYesOne exact version, e.g. 4.17.15.
ecosystemYesPackage ecosystem: npm (package.json or name@version lines) or PyPI (requirements.txt or name==version lines). Go, crates.io and Maven are not supported.

Output Schema

NameRequiredDescriptionDefault
notesYes
formatYes
sourceYes
summaryYes
packagesYes
downloadsYes
ecosystemYes
packages_shownYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/openWorld, and the description adds real value on top: the data sources ('reads live OSV.dev and deps.dev records'), the output formats produced ('Markdown, CSV and PDF reports'), and the operational boundaries (exact version required, no transitive deps, no code scanning, only npm/PyPI). That is behavior an agent could not infer from the structured fields.

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

Conciseness5/5

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

Four sentences, front-loaded with the trigger case, then data sources and outputs, then the two hard constraints. No filler, and each sentence carries a distinct fact.

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?

Complete for a single-package lookup: trigger, inputs, data sources, outputs, unsupported ecosystems, and what it will not do. An output schema exists, so the absence of a return-value breakdown is appropriate rather than a gap.

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; the description adds meaning by stressing 'one specific version, not a range' and by tying ecosystem values to real-world contexts ('lodash 4.17.15 on npm'). It does not add syntax detail for the version or name fields, which the schema already carries.

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?

Names a specific verb and resource ('whether one specific package version has known vulnerabilities... its license, how outdated it is') and anchors it with concrete examples ('lodash 4.17.15 on npm or django 3.2.0 on PyPI'). The scope limits ('npm and PyPI only') make it distinguishable from a general audit tool 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?

Gives an explicit trigger ('Use this when the user asks whether one specific package version...') plus exclusions ('Needs one specific version, not a range', 'Does not check transitive dependencies or scan code') and documented ecosystem limits. It stops short of naming the sibling audit_dependencies as the alternative for transitive/dependency-tree work, so the routing signal is implied rather than explicit.

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