
Pkgverdict
io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.1Updated Oct 30, 2026
Pre-install verdicts for npm packages: GO, RISKY, FAKE, or MISSING. Built for humans and AI agents.
Overview
Checks npm packages before installation and returns a GO, RISKY, FAKE or MISSING verdict, so an assistant can vet dependencies before adding them.
- What you can do
- Check a single npm package by name or name@version and get a plain-language verdict with the signals behind it
- Scan a project's package.json and list dependency verdicts worst first, optionally skipping dev dependencies
- Flag hallucinated or misspelled names, lookalike names, young or obscure packages, install scripts, deprecation, missing repo or license, and OSV advisories
- Return machine-readable JSON output and exit codes suitable for scripting or CI gates
- When to use it
- Use it when an AI coding agent suggests a package to install, or when you want a pre-install safety check on new or unfamiliar npm dependencies and a CI gate that fails on suspicious packages.
- Requirements
- Runs as a local stdio process via Docker; the image is pulled from GHCR and there is no npm package, so npx will not work. Network access to the npm registry and the OSV database is needed. No accounts, API keys or environment variables are declared. Mounting the project directory is needed for the scan command.
Installation
In SourceWeft
- Open Pkgverdict in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
pkgverdict
Check an npm package before you install it. One command, one verdict: GO, RISKY, FAKE, or MISSING — in plain words your AI coding agent can read too.
pkgverdict ships as a container image on GHCR (there is no npm package named pkgverdict, so npx pkgverdict will 404 — use Docker):
Why
AI assistants now pick half the packages developers install — and they hallucinate names attackers have already registered (slopsquatting), while typosquats and hijacked releases keep shipping postinstall malware. npm audit only sees published advisories, after the fact. pkgverdict checks before the install: existence, lookalike names, package age, install scripts, maintainers, downloads, and OSV advisories.
Use it inside your AI coding tool
One command sets it up. In your project directory, run:
That installs the MCP server config plus the instruction snippet teaching your agent the one behavior rule: check pkgverdict before installing. Supported tools: claude-code, cursor, copilot (VS Code), windsurf, cline, and generic (init --list shows them all; --all sets up everything; --dry-run previews without writing). Restart your tool, verify with a "list your MCP tools" prompt, and the pkgverdict server should appear with 2 tools (check_package, scan_dependencies). The underlying pack lives in integrations/ if you prefer to install by hand.
CLI
Exit codes: 0 when everything is GO (or RISKY without --strict), 1 when a FAKE or MISSING package is found, 2 on usage errors. For CI gates that should fail on anything suspicious: pkgverdict scan --strict.
Verdicts
Signals come from the npm registry (metadata, downloads), the OSV database (advisories), and a bundled list of well-known packages for lookalike detection. Responses cache under ~/.cache/pkgverdict (6h metadata, 1h advisories); delete that directory to force fresh checks.
Distribution
pkgverdict has exactly two distribution channels, and both are intentional:
- GHCR: the container image
ghcr.io/cloudcorprecords/pkgverdict, built and pushed by the Publish container workflow on each release. - The MCP Registry: the listing
io.github.CloudCorpRecords/pkgverdict, whoseserver.jsoncarries an OCI package only, pointing at that same GHCR image.
There is no npm package, and that is the model, not a missing step. npx pkgverdict returning 404 is expected. The unscoped name in package.json exists to build the image and version the CLI; the package is marked private so a stray npm publish from a checkout fails fast instead of claiming the name, and the old template workflow that ran npm publish on every release now sits disabled at .github/workflows/publish.yml, printing this model instead of publishing. Publishing to npm later would be a maintainer decision needing a scoped name and a token with rights to it. These facts are pinned by test/distribution.test.ts, so the residue cannot quietly come back.
Run it with Docker
The GHCR image is the primary distribution: ghcr.io/cloudcorprecords/pkgverdict.
Use it as a stdio MCP server:
Any CLI command can be passed after the image name instead of the default mcp argument:
MCP server
Point your MCP client at Docker (stdio):
Two tools: check_package (verdict on one package) and scan_dependencies (worst-first verdicts for a project's package.json).
Development
License
MIT.
Source: README.md at commit 79181b0
Tools
0Version history
2- v0.1.1LatestOct 23, 2026
- v0.1.0Oct 18, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts