Skip to main content
Glama

Vigía

Server Details

Verified, dated facts on npm/PyPI versions, deprecations, per-version vulnerabilities and AI models.

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

TDQS

A3.9/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct scope: manifest-level batch audit (check_dependencies), package-level latest info (package_status), exact-version audit (version_status), name search (find_package), AI model catalog (model_info), and a changelog feed (recent_changes). The package_status vs. version_status boundary is the only potential overlap, but descriptions make the distinction (package-level vs. one exact version) explicit.

Naming Consistency4/5

All names are snake_case, which is consistent, but the convention mixes verb_noun (check_dependencies, find_package) with noun_noun (model_info, package_status, recent_changes, version_status). Readable and predictable enough, with only minor stylistic deviation.

Tool Count5/5

Six tools is well-scoped for a dependency and model status server, with no filler. Each tool covers a distinct query granularity or resource and clearly earns its place.

Completeness4/5

The surface covers search, package overview, exact-version audit, batch manifest evaluation, AI model info, and recent changes, forming a coherent lifecycle for dependency auditing. Minor gaps exist, such as no explicit version-comparison or upgrade-planning tool, but agents can work around these with the existing tools.

Available Tools

6 tools
check_dependenciesCheck dependenciesA
Read-only
Inspect

Evaluates a full package.json (npm) or requirements.txt (pypi): for each dependency returns the latest version, whether the declared range includes it (up_to_date / outdated / outdated_major), whether the package is deprecated, and known vulnerabilities (OSV IDs) of the lowest version the range allows. Use when opening a project or before upgrading dependencies.

ParametersJSON Schema
NameRequiredDescriptionDefault
manifestYesFull content of the manifest file
ecosystemYesPackage ecosystem

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, so safety and network reach are already covered. The description adds real behavioral substance beyond that: it discloses that it queries latest versions, OSV vulnerability IDs, and specifically audits the lowest version the declared range allows, which is a non-obvious anti-false-negative choice. It stops short of stating rate limits or how large manifests are handled.

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?

A single dense sentence, but every clause earns its place: scope, per-dependency outputs, the lowest-version auditing rule, and the usage trigger are all front-loaded with no filler. Slightly long as one unbroken sentence, which costs a point.

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?

With no output schema, the description carries the return-value burden and does it well by naming the four result fields. Inputs, scope, and outputs are all covered; only operational details such as the 200k manifest cap and whether large manifests are partially processed are absent.

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% with only two parameters, so the schema already documents 'manifest' and the npm/pypi enum. The description confirms the manifest accepts the full file content and that both ecosystems are supported, but adds no syntax or format detail beyond the schema. Baseline 3 applies.

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 (evaluates) plus the exact resource (a full package.json or requirements.txt) and enumerates the four result categories returned. This clearly separates it from the single-package siblings (find_package, package_status, version_status) which operate on one package rather than a whole manifest.

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 concrete triggers: 'Use when opening a project or before upgrading dependencies.' That is an explicit when-to-use, but it names no alternatives or exclusions, so the agent has no routing guidance against the sibling tools.

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

find_packageFind packageA
Read-only
Inspect

Finds packages or models by name prefix, ordered by popularity. Use when the exact name is unknown.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
ecosystemNo

TDQS

A3.6/5.0
Behavior3/5

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

readOnlyHint=true already establishes this is a safe read. The description usefully adds that matching is prefix-based and results are popularity-ordered, but says nothing about result limits, pagination, or how the ecosystem scope affects the search.

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?

Two short sentences, front-loaded with the action and mechanism, with the usage condition second. No filler.

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?

For a low-complexity read-only search tool with no output schema, the description covers what it searches, how it matches, and when to reach for it. Only the ecosystem scoping and any result-count limits are left implicit.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden. It clarifies that 'query' is a name prefix rather than a substring or exact match, which is valuable, but the 'ecosystem' parameter (npm/pypi/ai) is never mentioned or explained in the description.

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 ('Finds') and resource ('packages or models'), plus the matching mechanism ('by name prefix') and ordering ('by popularity'). This clearly separates it from siblings like package_status or model_info, though it doesn't explicitly name those alternatives.

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 condition: 'Use when the exact name is unknown.' This tells the agent when this discovery tool is appropriate rather than a lookup-by-exact-name path, but it stops short of naming the sibling tool to use once the exact name is known.

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

model_infoAI model infoA
Read-only
Inspect

Price per million tokens, context window, max output and retirement date of AI models (OpenRouter catalog). Use before writing a model ID in code or estimating costs. With model_id returns one model; with provider or query returns a list.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
model_idNoExact ID in provider/model form, e.g. "anthropic/claude-x"
providerNo

TDQS

A4.4/5.0
Behavior4/5

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

The readOnlyHint annotation covers the safety profile, so the description's added value is the returned field set (pricing, context window, max output, retirement date) and the catalog source, which help the agent judge result usefulness. It stops short of pagination, result limits, or error behavior.

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?

Three tight sentences, front-loaded with the returned data, followed by the usage trigger and the mode-dependent result shape. No filler.

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?

With no output schema and low parameter coverage, the description does the necessary work of listing return fields and explaining parameter-driven result shapes. Minor gaps remain around query matching semantics and list size limits.

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 only 33% (query and provider have no descriptions), so the description must compensate: it explains that model_id yields a single model while provider or query yields a list, which is the key semantic distinction. It does not clarify match behavior for query (substring vs. exact) or provider filtering.

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 resource (AI models) and the exact attributes returned — price per million tokens, context window, max output, retirement date — plus the data source (OpenRouter catalog). This clearly separates it from the package-oriented siblings such as find_package or package_status.

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 when-to-use trigger: 'before writing a model ID in code or estimating costs.' No exclusions or named alternatives are offered, but the guidance is concrete and actionable.

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

package_statusPackage statusA
Read-only
Inspect

Latest stable version, publish date, deprecation/yank status, runtime requirements (engines/python), peer dependencies, license and advisories of an npm or PyPI package. Use before recommending, installing or pinning a package version.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExact package name, e.g. "next", "@types/node", "requests"
ecosystemYesPackage ecosystem

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds genuine behavioral value by specifying the returned facets (yank/deprecation status, advisories, runtime requirements), which is important since no output schema exists. It omits any mention of caching, rate limits, or behavior when the package is unknown, but that is a minor gap.

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?

Two sentences, both dense and front-loaded: the return contents come first, the usage trigger second. Every listed item (version, publish date, yank status, engines, peer deps, license, advisories) earns its place, and there is no filler.

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?

For a two-parameter, fully-required read-only lookup with no output schema, the description compensates by enumerating exactly what comes back, and the usage sentence covers the decision context. Nothing needed to invoke it correctly 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%, with both params documented and the ecosystem enum constrained, so the schema carries the parameter burden. The description only echoes 'npm or PyPI package' and adds no syntax, scoping, or edge-case guidance beyond the schema.

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?

The description names the resource (an npm or PyPI package) and enumerates the specific facts returned: latest stable version, publish date, deprecation/yank status, engine requirements, peer dependencies, license and advisories. An agent can distinguish this from siblings like find_package (search) or check_dependencies (dependency analysis), though it never names an alternative explicitly.

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?

It gives a clear when-to-use trigger: 'Use before recommending, installing or pinning a package version.' That frames the decision context well, but it offers no explicit when-not condition and does not route the agent to find_package or check_dependencies for related needs.

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

recent_changesRecent changesB
Read-only
Inspect

Latest detected changes: new releases, deprecations, removed packages, AI model price changes or retirement announcements. Optionally filtered to one package or model.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoIf set, history of that package or model
limitNo
ecosystemNo

TDQS

B3.2/5.0
Behavior3/5

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

readOnlyHint=true already establishes this is a safe read. The description usefully adds the domain of changes covered and the filtering behavior, but says nothing about ordering, time window, or pagination behavior for what is presumably a recency-ordered feed.

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?

Two tight sentences, front-loaded with the change types and ending with the filter behavior. No filler, though the terse phrasing leaves several behaviors unstated.

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

Completeness3/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 carries the burden of explaining what comes back, and it only partly does (change types, not the shape, ordering, or recency window). Combined with 33% param coverage, it is adequate but leaves real gaps for an agent to work around.

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 only 33%, so the description must compensate. It clarifies the name parameter ('filtered to one package or model'), but limit and ecosystem are left entirely to the schema — ecosystem's enum is undocumented in prose and the default/max on limit is unexplained.

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 resource (latest detected changes) and enumerates the change types: new releases, deprecations, removed packages, AI model price changes, retirement announcements. This distinguishes it from siblings like find_package and package_status, though the verb is implied rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description only notes optional filtering to one package or model; it never says when to use this feed versus package_status or model_info, nor when not to. No prerequisites or alternative routing is given.

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

version_statusVersion status and vulnerabilitiesA
Read-only
Inspect

For one exact version of an npm or PyPI package: whether it exists, when it was published, whether it was deprecated/yanked, how far behind latest it is, its known vulnerabilities (OSV) and the nearest version that fixes all of them. Use before keeping, pinning or recommending a specific version, or when auditing a lockfile entry.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExact package name
versionYesExact version, e.g. "4.17.1"
ecosystemYesPackage ecosystem

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description goes further by disclosing the external data source (OSV) and the fact that it reports existence, deprecation, staleness and a remediation version, which tells the agent what to expect from a call. It omits any mention of rate limits or behavior for a nonexistent version, so not a 5.

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?

One dense but well-structured sentence listing the returned facets, followed by one usage sentence. Front-loaded with the scope ('one exact version'), and no sentence is redundant.

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 carries the return-value burden and does it well by enumerating each field an agent will receive, including the remediation version and the existence flag that covers the failure case. Nothing needed to call or interpret this three-parameter read tool 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 name, version and ecosystem are already documented, including the enum for ecosystem. The description reinforces that the version must be exact and that the ecosystem is npm or PyPI, but adds no syntax or format detail beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

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 (report on one exact version of an npm/PyPI package) and enumerates the exact facets returned: existence, publish date, deprecation/yank status, staleness vs latest, OSV vulnerabilities, and nearest fixing version. This clearly separates it from sibling package_status, which by name covers the package rather than a single pinned version.

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?

Explicitly names the triggering situations: before keeping, pinning or recommending a specific version, or when auditing a lockfile entry. It gives no exclusions or named alternatives (e.g. when to prefer package_status or check_dependencies instead), 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.

Tool Schema Changelog

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

  1. 1 tool update
    • Addedversion_status
  2. 5 tool updates
    • First observedcheck_dependencies
    • First observedfind_package
    • First observedmodel_info
    • First observedpackage_status
    • First observedrecent_changes

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides software supply-chain intelligence for AI agents, enabling them to query package metadata, versions, downloads, dependencies, and health signals for npm, PyPI, and crates.io packages without API keys.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Deterministic supply-chain provenance, SBOM/AI-BOM generation, and dependency risk analysis for npm and PyPI packages, with 14 security rules and verifiable reports.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI coding agents to identify exactly what broke between two dependency versions, with citations for every claim, and to verify package existence to catch typosquatting, all without requiring an API key.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources