Skip to main content
Glama

Check a package before installing it

check-package

Get a supply-chain verdict for one package before adding it: known CVEs/GHSA and malware, deprecation, license, newest advisory-free version, same-line safe version, and typosquat lookalikes.

Instructions

Supply-chain verdict for one package, no docs: known advisories (CVE/GHSA, malware), deprecation, license, newest version with no known advisories, the safe version on the same release line as the one you pass, and typosquat lookalikes. For several packages use check-packages, one call for the whole list.

Input Schema

NameRequiredDescriptionDefault
nameYesPackage name as the registry knows it, e.g. "lodash", "requests".
detailNoReturn the full JSON report (every advisory, dates, sources) instead of the summary.
versionNoVersion you intend to install or already use.
ecosystemYesnpm, pypi, cargo, go, maven, nuget, rubygems or composer (aliases like "python" work).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does well: it discloses that the operation is a non-mutating lookup and itemizes the returned verdict components, which is the key behavioral fact for a pre-install check. It does not mention rate limits, auth requirements, or how expensive a call is, leaving a gap for a tool with zero annotation coverage.

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, no filler. The verdict contents are front-loaded in a scannable list, and the sibling routing note is placed last as a clean boundary statement.

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 four-parameter, single-package advisory lookup with no output schema, the description enumerates the return categories and explains the same-release-line logic, which substitutes effectively for a missing output schema. An agent has everything needed to call it correctly and interpret the result.

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 earns more by clarifying the intent behind `version` – it reports "the safe version on the same release line as the one you pass," and contrasts the newest safe version with that same-line fix. That adds decision-relevant meaning beyond the schema's plain "Version you intend to install or already use."

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?

"Supply-chain verdict for one package" names a specific verb-and-resource, then enumerates exactly what the verdict contains: advisories (CVE/GHSA, malware), deprecation, license, newest safe version, same-release-line safe version, typosquat lookalikes. It also explicitly distinguishes itself from the batch sibling check-packages, so an agent can route without opening either schema.

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

Usage Guidelines5/5

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

It states the single-package scope ("for one package"), the exclusion ("no docs"), and the alternative with its selection condition: "For several packages use check-packages, one call for the whole list." That is explicit when-to-use plus a named alternative.

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