Skip to main content
Glama
jakobautomation

agentsvc-mcp

package_check

Verify dependencies before installation to detect hallucinated packages, malware, typosquats, and vulnerabilities; returns ALLOW, CAUTION, or BLOCK with reasons.

Instructions

Package Check Before Install — Check dependencies before your coding agent installs them: up to 20 packages per call (npm, PyPI, crates.io, Go, Maven, NuGet, RubyGems), one decision each: ALLOW, CAUTION or BLOCK with reasons. Catches hallucinated package names that do not exist (slopsquatting), known malware (OSV malicious-package feed, including versions already removed from the registry), typosquats one typo away from a popular package, critical and high vulnerabilities in the exact version with a safe upgrade, deprecated or yanked versions, brand-new packages, npm install scripts and low usage. npm version ranges are resolved like npm does. Pass packages as strings ("express@4.17.1", "pypi:requests==2.31.0", "cargo:serde") or objects, or paste a package.json or requirements.txt as manifest. Sources: deps.dev, OSV.dev, the registries. Cost: $0.004 USDC per call. Latency p99: 8000ms.

Input Schema

NameRequiredDescriptionDefault
manifestNoContents of a package.json or requirements.txt (alternative to packages)
packagesNoStrings like "express@4.17.1", "pypi:requests==2.31.0", "go:github.com/gin-gonic/gin", "maven:org.apache.logging.log4j:log4j-core:2.14.1", or {name, ecosystem, version}
ecosystemNoDefault for entries without a prefix: npm, pypi, cargo, go, maven, nuget or rubygems. Default npm

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so well. It discloses decision outcomes, detection categories such as slopsquatting and typosquatting, data sources, cost, p99 latency, npm range resolution, and supported input forms.

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?

The description is front-loaded and dense with relevant information for a security-checking tool. It is long but mostly earns its length through concrete capabilities, though it could be slightly easier to scan with tighter grouping.

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 complex three-parameter tool with no output schema, the description is largely complete: it explains inputs, decisions, reasons, and sources. It does not fully specify the exact response structure beyond per-package decisions with reasons, leaving a small gap.

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 already 100%, so the baseline is 3. The description adds some useful semantics beyond the schema, especially that npm version ranges are resolved like npm does and that packages may be passed as strings, objects, or a manifest.

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 opens with a specific verb and resource: checking package dependencies before installation. It clearly scopes the tool to up to 20 packages across multiple ecosystems and to ALLOW/CAUTION/BLOCK decisions, making its role distinct from general vulnerability or domain-check siblings.

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 explicitly tells the agent when to use it: before a coding agent installs dependencies. It does not name alternatives or exclusions, such as when to prefer cve_lookup for deeper vulnerability research, so it falls short of full routing guidance.

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

Deploy Server

Other Tools