Skip to main content
Glama

UK Data: Software packages and vulnerabilities

Server Details

Package versions, licences and known vulnerabilities for npm, PyPI, crates, Go, Maven, NuGet

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

B3.4/5.0

Scored across 2 tools

Disambiguation3/5

package_info and vuln_check are largely separable—one for metadata, one for vulnerabilities—but package_info explicitly includes 'advisories,' creating overlap with vuln_check and inviting misselection for vulnerability questions. Version-specific vulnerability data is only in vuln_check, which helps, but the boundary is still fuzzy.

Naming Consistency4/5

Both names use snake_case and follow an entity-focused pattern (package_info, vuln_check), making them readable and stylistically consistent. They are not strict verb_noun pairs, but the naming is predictable enough for a two-tool server.

Tool Count3/5

Two tools for a package/vulnerability data service feels thin; there is no search, version listing, or dependency exploration tool. Each tool earns its place, but the surface is narrower than the domain suggests.

Completeness3/5

Core package metadata and vulnerability checking are present, including bulk vulnerability lookup. However, the surface lacks package search/discovery, version enumeration, and dependency information despite referencing deps.dev, leaving notable gaps for common workflows.

Available Tools

2 tools
package_infoB
Read-onlyIdempotent
Inspect

Latest version, publish date, deprecation, licences, advisories and links for a package (deps.dev). (cost: 1 credit)

NameRequiredDescriptionDefault
nameNostring, required
ecosystemNonpm|pypi|cargo|go|maven|nuget|rubygems

TDQS

B3.2/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. Beyond that the description adds two genuinely useful facts: the one-credit call cost and the field set a caller can expect back, which matters because no output schema exists. It still says nothing about package-not-found behavior or whether deprecated/advised packages change the response.

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 compact statement with the returned fields and cost front-loaded and no filler. The telegraphic list style is efficient, though it reads as a label dump rather than a sentence explaining the tool.

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?

For a two-optional-parameter lookup with no output schema, the description covers what is returned, the data source and the cost — the essentials. It leaves gaps around whether ecosystem is effectively mandatory, what happens when a package is unknown in the given ecosystem, and how version-less lookups resolve.

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 ecosystem parameter already documents the allowed values (npm|pypi|cargo|go|maven|nuget|rubygems), so the schema carries the parameter burden. The description adds only the notion of 'a package' and the deps.dev source, not naming conventions (scoped npm names, case sensitivity) or how name and ecosystem must be paired.

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 (a package), the specific data returned (latest version, publish date, deprecation, licences, advisories, links) and the backing source (deps.dev). That is concrete enough for an agent to know it is a package-metadata lookup, though it never distinguishes itself from nearby siblings such as vuln_check or product_barcode.

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?

There is no explicit when-to-use or when-not-to-use guidance and no named alternative; the only hint is the parenthetical '(deps.dev)' source. An agent must infer that this is the package-ecosystem counterpart to the repository/security tools on its own.

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

vuln_checkA
Read-onlyIdempotent
Inspect

Known vulnerabilities (OSV) for a package@version or a list of up to 500 (array of {ecosystem,name,version} or text "name@version" per line), with severity and fixed versions. (cost: 2 credits)

NameRequiredDescriptionDefault
nameNostring
versionNostring
packagesNoarray or text
ecosystemNonpm|pypi|cargo|go|maven|nuget|rubygems|packagist

TDQS

A3.7/5.0
Behavior4/5

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

Beyond annotations (which already cover readOnly, idempotent, openWorld, non-destructive), the description adds the OSV data source, a batch ceiling of 500 entries, and the returned fields (severity, fixed versions). The credit cost (2) is useful operational context. Missing is any note on error behavior or what is returned for unknown packages.

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 with the core purpose and data source front-loaded, followed by input modes, output fields, and cost. No filler, though the parenthetical nesting makes it slightly crammed.

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?

For a 4-parameter tool with no required params and no output schema, the description covers purpose, batch limits, and return fields. It leaves unresolved which parameter combination to use (name/version/ecosystem vs packages) and the array-item type discrepancy, which an agent would need to resolve before calling.

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 descriptions are near-tautological ('string', 'array or text'), so the description does the real work by spelling out the batch format (array of objects or 'name@version' per line) and the single-package mode. However, the description describes array items as {ecosystem,name,version} objects while the schema types them as strings, creating a mild inconsistency an agent must resolve.

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 and verb: known vulnerabilities from OSV for a package@version or a batch list, with severity and fixed versions. This clearly distinguishes it from a general metadata lookup like package_info, though it does not name that sibling explicitly.

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

Usage Guidelines3/5

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

Usage is implied by the phrasing ('for a package@version or a list of up to 500'), which effectively hints at a single-package mode and a batch mode. There is no explicit when-to-use/when-not guidance, no mention of when to prefer package_info, and no statement about what happens when version is omitted.

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 observedpackage_info
    • First observedvuln_check

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources