Skip to main content
Glama

Is this package safe to install?

package_check
Read-only

Before installing an npm or PyPI package: does it exist (AI-suggested names are sometimes made up, and attackers register them), has it been reported as malicious, which known vulnerabilities affect this version (with the fixed version), is it deprecated or yanked, how old is it, does it run code on install, how many downloads, and does its name imitate a popular package (typosquat). Verdict: ok_to_install, caution, dont_install or does_not_exist, with reasons. From OSV.dev, deps.dev, the npm registry and PyPI.

Input Schema

NameRequiredDescriptionDefault
nameYesPackage name, optionally with a version: "lodash", "lodash@4.17.15", "@scope/pkg", "requests==2.31.0".
versionNoOptional version to check (default: latest).
ecosystemNonpm (default) or pypi.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint and openWorldHint; the description adds real behavioral context beyond that — the four verdict outputs (ok_to_install, caution, dont_install, does_not_exist) and the upstream sources queried (OSV.dev, deps.dev, npm registry, PyPI). It does not mention rate limits, network failure modes, or latency, which is the remaining gap for a tool that fans out to four external services.

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 the trigger (before installing), then a dense checklist, then the verdict vocabulary and data sources. Every clause carries information and nothing is repeated from the schema. The long mid-sentence enumeration is heavy but readable and earns its length.

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, and the description compensates by disclosing the return vocabulary (the four verdicts plus reasons) and the coverage of each check, so an agent knows what it will get back and how to branch on it. Combined with the annotated safety profile and full schema coverage, nothing needed to invoke or interpret this 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 formats, the optional version default, and the npm/pypi enum are already fully documented in the schema — baseline 3. The description adds a small amount of meaning by explaining why a version matters ('which known vulnerabilities affect this version, with the fixed version'), but it does not elaborate on parameter interactions or defaults beyond the schema.

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+resource (check an npm/PyPI package before installing) and enumerates exactly what is checked: existence, malicious reports, known CVEs with fixed versions, deprecation/yank status, age, install scripts, download counts, typosquatting. It is unmistakable against siblings such as vendor_trust_profile or check_before_paying, which concern vendors and payments rather than package artifacts.

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 an explicit trigger condition: 'Before installing an npm or PyPI package'. It also supplies the motivating context (AI-suggested names are sometimes fabricated, attackers register them). It stops short of naming when not to use it or an alternative tool, but no sibling overlaps this domain, so the guidance is operationally sufficient.

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