Skip to main content
Glama
cdmx-in

vaporcheck

by cdmx-in

vaporcheck

Stops AI coding assistants from using things that don't exist.

PyPI License: Apache 2.0

AI assistants sometimes invent package names, file paths, and function names that look real but aren't. Research found that almost 1 in 5 packages recommended by AI didn't exist — and attackers register those fake names to spread malware (this is called slopsquatting).

vaporcheck is a simple safety net: before your AI assistant installs a package or touches a file, it checks — does this actually exist? If not, it blocks the action and tells the assistant why, so it can correct itself.

What it looks like

AI:  pip install reqeusts-slop-xyz        ← a package that doesn't exist

     ⛔ BLOCKED by vaporcheck — that package was not found

AI:  "Oops — I meant `requests`."
     pip install requests                 ✅ goes through normally

Real packages and real files pass through instantly. You'll never notice vaporcheck until it saves you.

Related MCP server: npmguard

Install

If you use Claude Code — two commands, done:

/plugin marketplace add cdmx-in/vaporcheck
/plugin install vaporcheck@cdmx

That installs both the protection (the blocker) and the verify_identifier tool your assistant can use to double-check things itself.

If you use any other AI tool that supports MCP:

pip install vaporcheck

then add this to your tool's MCP config:

{
  "mcpServers": {
    "vaporcheck": { "command": "vaporcheck-mcp" }
  }
}

Works on Windows, Mac, and Linux. No other dependencies.

Not sure it's working? Run python -m vaporcheck.doctor.

What it checks today

  • ✅ Python packages (PyPI) — including whole requirements.txt files

  • ✅ JavaScript packages (npm) — including package.json

  • ✅ File paths on your computer

Coming next: more package ecosystems (Rust, Go, Ruby, Java) and code symbols.

More

Developers and the curious can find everything else — how it works, the research behind it — in docs/.

License

Apache-2.0 © 2026 Codemax IT Solutions Pvt. Ltd.

Available Tools

1 tool
verify_identifierA

Check whether a model-emitted identifier actually EXISTS in its authoritative source, before you rely on it. Call this before recommending or installing a package, or before editing a file path, to catch hallucinated or slop-squatted identifiers. Returns exists / not-found / deprecated / cannot-verify.

ParametersJSON Schema
NameRequiredDescriptionDefault
cwdNobase dir for relative paths when kind=path
kindYesidentifier class: pypi package, npm package, or filesystem path
valueYesthe identifier to verify (package name or path)

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations provided, the description fully shoulders the burden of behavioral disclosure. It clearly explains the tool checks existence in an authoritative source and lists the possible return values (exists, not-found, deprecated, cannot-verify), leaving no hidden assumptions.

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?

The description is three sentences long, front-loaded with the main purpose, and every sentence adds value. No fluff or repetition. Highly efficient.

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 simple verification tool with three parameters and no output schema, the description covers the return values and usage context. It is missing potential notes on rate limits or side effects, but those are not critical for this tool. Overall sufficient and clear.

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?

The schema description coverage is 100%, so the baseline is 3. The description adds high-level context (e.g., 'authoritative source') but does not elaborate on individual parameters beyond what the schema already provides. This meets the baseline but does not exceed it.

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 uses a specific verb ('check') and resource ('identifier') with a clear purpose ('exists in authoritative source'). It distinguishes the tool from general lookups by emphasizing hallucination/slop-squat detection, leaving no ambiguity about its role.

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 description explicitly states when to use the tool ('before recommending or installing a package, or before editing a file path') and why ('catch hallucinated or slop-squatted identifiers'). However, it does not explicitly state when not to use it or mention alternatives, which would earn 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 updatev0.1.0
    • First observedverify_identifier

TDQS

A4.2/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools. The agent can reliably select the correct tool.

Naming Consistency5/5

The single tool follows a clear verb_noun pattern (verify_identifier), which is consistent and predictable.

Tool Count3/5

The server has only one tool, which is borderline thin for most use cases. While the tool's purpose is narrow, a more comprehensive server would likely need additional tools for related operations.

Completeness2/5

The server provides only a verification operation, lacking any CRUD or lifecycle tools for managing identifiers. This is a significant gap for any workflow beyond simple checks.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Acts as a security checkpoint for AI coding agents by intercepting package installations to verify existence, check against CVE databases, and block vulnerable or hallucinated dependencies before they reach your codebase. Provides seven security tools including pre-install gates, full project audits, safe version recommendations, and deep transitive dependency scanning for npm and PyPI packages.
    7
    39
    4
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Pre-install risk gate for npm packages. Stops AI coding agents from running malicious or lifecycle scripts run.
    1
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server that vets package installations and shell commands to block dangerous actions by AI coding agents.
    8
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Verifies npm package names for safety, detecting typosquats and nonexistent packages before your coding agent installs them.
    2
    7
    MIT