Skip to main content
Glama

Dependency check

Server Details

Check a package version for known vulnerabilities and Packagist release facts.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
ladanyin/agentlane
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

A4/5.0

Scored across 2 tools

Disambiguation5/5

The two tools target clearly separate concerns: vulnerability lookup via OSV across many ecosystems versus Packagist package metadata for PHP. Each description explicitly rules out the other's job ('This is not a full audit', 'This does not list vulnerabilities'), leaving no plausible confusion about which to call.

Naming Consistency5/5

Both tools use the identical check_<noun> pattern (check_dependency, check_package), with the noun naming the object being inspected. The convention is fully predictable and would extend naturally to further tools.

Tool Count3/5

Two tools is thin for a dependency-checking service; common adjacent needs (resolving a package version, checking package facts for npm/pypi) have no tool at all. The surface is coherent but barely more than a single-purpose pair.

Completeness3/5

The core check is covered for vulnerabilities, but there is no batch/manifest audit despite the domain being dependency checking, and package metadata exists only for Packagist while vulnerability lookup spans seven ecosystems. Version resolution and non-PHP metadata are notable gaps an agent must work around.

Available Tools

2 tools
check_dependencyCheck a dependency for known vulnerabilitiesA
Read-onlyIdempotent
Inspect

Look up known vulnerabilities for one package version from OSV. Returns advisory id, summary, CVE aliases, severity string, and fixed versions when the advisory lists them. Ecosystems: packagist, npm, pypi, go, crates.io, maven, rubygems, nuget. Omit ecosystem and a vendor/package name uses Packagist, otherwise npm. An empty list means OSV returned none, and that successful lookup is charged. This is not a full audit. The first 5 successful calls each UTC day from one network address are free and need no key. not_found and fetch_failed are not charged and do not use a free call. After the 5, send X-API-Key. A key call costs 0.04 credit on success. Key: https://firm.bestsmartgoods.com/signup

NameRequiredDescriptionDefault
nameYesPackage name, for example guzzlehttp/guzzle or lodash.
versionYesThe exact version to check, for example 6.5.0.
ecosystemNoOSV ecosystem. Omit it and a vendor/package name uses Packagist, otherwise npm.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description adds genuinely useful behavior: the exact returned fields, the free-call quota (5 per UTC day per IP), the X-API-Key requirement after that, per-call credit cost, and that not_found and fetch_failed are neither charged nor consume a free call. That is above the annotation bar, but it omits response shape details and whether results are cached or versioned.

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?

Front-loads purpose and return fields before billing mechanics, which is the right order. It repeats the full ecosystem list already present in the enum, and the signup URL sentence is promotional rather than functional, but overall it is tight.

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?

With no output schema, the description carries the return-value explanation and does so precisely (advisory id, summary, CVE aliases, severity, fixed versions). Error-state and billing semantics are also covered, leaving nothing an agent needs in order to call this correctly.

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 coverage is 100%, and the description largely restates what the schema already documents, including the ecosystem enum and the vendor/package default heuristic. It adds no format or syntax guidance beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: "Look up known vulnerabilities for one package version from OSV." It also scopes itself with "This is not a full audit." It does not name the sibling check_package or explain how this differs from it, so an agent must infer the boundary.

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 clear operating context: single package version, empty list means OSV returned nothing, and successful empty lookups are still charged. The lack of explicit comparison against check_package keeps it from a 5.

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

check_packageCheck a Packagist packageA
Read-onlyIdempotent
Inspect

Read the current Packagist facts for one PHP package: latest stable version, required PHP, license, and whether it is abandoned. Use it before composer require. Send vendor/package. Set version to ask about one release; version_found is false when that release is absent, and the latest stable is still returned. This does not list vulnerabilities. The first 5 successful calls each UTC day from one network address are free and need no key. not_found and fetch_failed are not charged and do not use a free call. After the 5, send X-API-Key. A key call costs 0.04 credit on success. Key: https://firm.bestsmartgoods.com/signup

NameRequiredDescriptionDefault
nameYesPackagist name, vendor/package.
versionNoOptional release to select. Omit it for the latest stable.

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, open world), and the description adds substantial context they cannot carry: the free-tier quota (5 successful calls per UTC day per network address), which outcomes are uncharged (not_found, fetch_failed), the requirement to send X-API-Key afterwards, and the 0.04 credit cost on success. It also discloses the conditional return behavior for a missing version, which is exactly the kind of behavior an agent needs before calling.

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?

Front-loaded with purpose and outputs, then scoping, then the commercial mechanics; almost every sentence carries operational weight. The signup URL and credit pricing are necessary but make the tail denser than ideal.

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?

There is no output schema, so the description has to describe return values and it does: the four facts plus the latest-stable fallback and version_found. It also covers failure modes (not_found, fetch_failed) and their billing treatment, leaving nothing an agent needs for a correct call unstated.

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 adds real meaning: 'Send vendor/package' clarifies the expected identifier shape, and it explains the version parameter's effect plus the version_found=false outcome when a release is absent while the latest stable is still returned. That goes beyond the schema's terse 'Optional release to select.'

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (read) and resource (current Packagist facts for one PHP package) and enumerates exactly what comes back: latest stable version, required PHP, license, abandoned status. It does not explicitly contrast itself with the sibling check_dependency, so it stops short of full sibling differentiation.

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 a concrete trigger point ('Use it before composer require') and an explicit scope exclusion ('This does not list vulnerabilities'), which tells the agent when not to reach for it. It never names check_dependency as the alternative for dependency-level questions, so the routing decision between siblings 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.

Tool Schema Changelog

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

  1. 2 tool updates
    • First observedcheck_dependency
    • First observedcheck_package

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Checks public IPs, domains, CVE IDs and software versions for confirmed vulnerabilities and exposure, using NVD version ranges, CISA KEV, EPSS, distro backports and published exploits. All API keys are optional.
    19
    420 PyPI
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Query OSV.dev for package vulnerabilities, batch-audit dependency lists, and fetch full advisory records via MCP.
    829 npm
    2
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables users to look up package versions, scan for vulnerabilities, and analyze dependencies across multiple registries (npm, Maven, PyPI, etc.) using exact version recommendations for security.
    4
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables checking whether software packages are deprecated, archived, stale, active, or unknown with supporting evidence, auditing dependency manifests, and looking up runtime support and end-of-life dates.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.