Skip to main content
Glama

Zovo Dependency Audit

Server Details

Audit a dependency list for known vulnerabilities, licenses and outdated versions.

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
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.4/5.0

Scored across 2 tools

Disambiguation5/5

The two tools target clearly different inputs: audit_dependencies takes an entire manifest of up to 150 packages, while check_package takes exactly one name and version. The descriptions explicitly contrast them (bulk list vs. one specific version), so an agent should have no trouble selecting the right one even when a manifest happens to contain a single entry.

Naming Consistency4/5

Both names follow a consistent snake_case verb_noun pattern (audit_dependencies, check_package). The verbs 'audit' and 'check' are near-synonyms, which slightly weakens the predictability, but the noun distinguishes scope clearly.

Tool Count3/5

Only two tools is thin, even for a narrowly scoped dependency scanner. That said, the pair covers the two main entry points (bulk manifest vs. single package) without redundancy, so it is defensible rather than excessive or arbitrary.

Completeness3/5

The surface covers bulk and single-package vulnerability/license/outdated lookups for npm and PyPI, which is the stated core. However, obvious gaps remain: no transitive dependency resolution, no lockfile support, no fix/remediation guidance, and no coverage of other ecosystems, so agents hitting those needs will dead-end.

Available Tools

2 tools
audit_dependenciesAudit dependenciesA
Read-onlyIdempotent
Inspect

Use this when the user pastes a dependency manifest for npm or PyPI (package.json, requirements.txt, or one name@version / name==version per line) and wants known vulnerabilities with fixed-in versions, licenses and outdated packages, as a Markdown report for a pull request plus CSV and PDF. Reads live OSV.dev and deps.dev records. Up to 150 packages and 400 distinct advisories per call (a larger list is refused with a plan of smaller calls); ranges are checked at their stated minimum version. Does not resolve transitive dependencies, read lockfiles, scan source code or fix code. Do not use for Go, crates.io, Maven or Gradle, container images or operating system packages.

NameRequiredDescriptionDefault
manifestYesThe manifest text exactly as in the file, e.g. the full package.json, or lines like lodash@4.17.15. Up to 60,000 characters and 150 packages.
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.
include_devNoInclude development and test dependencies (npm devDependencies), e.g. true. Default true.

Output Schema

NameRequiredDescription
notesYes
formatYes
sourceYes
summaryYes
packagesYes
downloadsYes
ecosystemYes
packages_shownYes

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, and the description adds substantial context beyond them: live OSV.dev/deps.dev data sources, hard caps of 150 packages and 400 advisories, refusal behavior with a plan for splitting into smaller calls, and the caveat that ranges are evaluated at their stated minimum version. It also discloses what the tool does not do (no transitive resolution, no lockfiles, no source scanning, no fixes), which is exactly the kind of scope boundary the annotations cannot express.

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?

Content is front-loaded with the trigger condition and every sentence carries information about inputs, limits, semantics or exclusions. It is a single dense paragraph though, and the limits and exclusions would read faster as separate structured clauses.

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?

An output schema exists, so return values need not be described in detail, yet the description still names the report artifacts (Markdown for a PR, plus CSV and PDF). For a three-parameter tool with full schema coverage and rich annotations, everything an agent needs to decide to call it and to call it correctly is present.

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 description coverage is 100%, so the baseline is 3; the description earns an increment by clarifying semantics the schema only hints at, such as the 150-package ceiling interacting with the manifest parameter and the minimum-version range evaluation rule. It does not explain the include_dev default beyond what the schema already states, so it stops short of full coverage.

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?

The description names a specific verb and resource ('audit a dependency manifest') and immediately specifies supported ecosystems (npm, PyPI) and concrete inputs (package.json, requirements.txt, name@version lines). It also states the three deliverables (vulnerabilities with fixed-in versions, licenses, outdated packages) and output formats, so an agent can distinguish it from a single-package check 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?

The opening clause gives a clear triggering condition ('when the user pastes a dependency manifest ... and wants known vulnerabilities'), and the closing sentence enumerates explicit exclusions (Go, crates.io, Maven, Gradle, container images, OS packages). It does not, however, name the sibling check_package or explain when a single-package lookup should be preferred over a full manifest audit, so alternatives are left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_packageCheck one packageA
Read-onlyIdempotent
Inspect

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.

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

NameRequiredDescription
notesYes
formatYes
sourceYes
summaryYes
packagesYes
downloadsYes
ecosystemYes
packages_shownYes

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.

Tool Schema Changelog

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

  1. 2 tool updates
    • First observedaudit_dependencies
    • First observedcheck_package

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Audits package lockfiles for vulnerabilities, supporting npm, yarn, and pnpm. Runs via CLI or as an MCP server over stdio.
    1
    5 npm
    78
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables auditing npm, Yarn, and pnpm lockfiles from local project directories or remote Git repositories and returning unified vulnerability reports with configurable severity thresholds, dev-dependency skipping, and text or JSON output.
    5 npm
    MIT
  • -
    license
    Not graded
    quality
    B
    maintenance
    Audits npm dependencies for license compatibility, catching copyleft and source-available traps before shipping.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources