NPMScan MCP

NPMScan plugin and MCP server: checks npm packages for malware and vulnerabilities, including install scripts and provenance

  • 503 ★ on the repository
  • Last commit
  • MIT
MCP server

Minimal access

Why this level

  • The server only reads public package information and sends package names and versions to the site, and the contents of a pasted `package.json` or lockfile
All reasons and checks

salemalem/npmscan-mcp-plugin

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/npmscan

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Minimal accessThe tool runs nothing and makes no network calls.

  • The server only reads public package information and sends package names and versions to the site, and the contents of a pasted `package.json` or lockfile

This is third-party code. Review the repository files before installing.

What it does

NPMScan connects Claude Code to the remote MCP server of the npmscan.com site and adds two skills. The server needs no key and no sign-in, works at `https://npmscan.com/api/mcp`, is read-only and answers 30 requests per minute per IP. It has 23 tools: package search, version and install script data, a maintainer profile, vulnerability checks through OSV.dev, fresh GitHub security advisories, static analysis of `preinstall` and `postinstall` scripts from the package tarball, a Sigstore publish provenance check, transitive dependency analysis and a comparison of two dependency sets. Each finding carries a malware flag, and a confirmed malicious package is reported as one to remove, not as an ordinary bug. The `/npmscan:dependency-audit` skill chains the tools into a report for a `package.json`, a lockfile, an SBOM or a GitHub repository URL, and `/npmscan:package-trust-check` answers whether a package is safe and not compromised.

Who it is for. Node.js developers who add dependencies and want to check packages for malicious code and holes without leaving the agent chat.

Good fit when

  • Before installing an unfamiliar package you want to know whether it has dangerous install scripts or a suspicious maintainer history
  • A pull request carries a before and after dependency comparison and the agent produces a report of the differences
  • The output of `npm audit --json` should be enriched with data on malicious versions and fixes
  • A package is reported as compromised and you need to check whether versions npm has since removed were malicious

Not a fit when

  • The project is not on npm: the server knows the npm ecosystem and OSV.dev data only
  • You need data about your private packages: the service answers from the site's public information
  • You need an unlimited number of requests: the limit is 30 per minute per IP

Example request

Check the package event-stream: show install scripts, maintainers, publish provenance and known vulnerabilities, then say whether it is safe to install

MCP

Transport
http
Authentication
not required

Limitations

The server is stateless, keyless and limited to 30 requests per minute per IP, so a large audit is cut into batches. Data comes from the site's public sources: the npm registry, OSV.dev and GitHub advisories. Static analysis of install scripts reveals red flags but does not replace manual review. For Claude Code the plugin is installed through the repository marketplace and for other clients instructions are at npmscan.com/mcp; submissions to the Grok Build and GitHub Copilot directories are still pending.

How to disable. Run `/plugin uninstall npmscan@npmscan` or `claude mcp remove npmscan` if you connected the server by hand.

FAQ

How do I install NPMScan in Claude Code?

Through the marketplace: `/plugin marketplace add salemalem/npmscan-mcp-plugin`, then `/plugin install npmscan@npmscan` and `/reload-plugins`. The server alone can be added with `claude mcp add --transport http npmscan https://npmscan.com/api/mcp`.

Do I need a key or sign-up?

No, the NPMScan server is open and needs no authentication. It is limited to 30 requests per minute per IP.

What input does a dependency audit take?

A pasted `package.json`, a lockfile, an SBOM in CycloneDX or SPDX, a GitHub repository URL and `npm audit --json` output. Each has its own tool, for example `audit_github_repository` and `enrich_npm_audit`.

What does analyze_install_script check?

It downloads the published package tarball and statically analyzes the `preinstall`, `install`, `postinstall` and `prepare` scripts plus the files they reference against a red-flag list.

Does NPMScan work with other clients?

Yes, the repository has manifests for Claude Code, Codex and Gemini CLI, and instructions for other clients are collected at npmscan.com/mcp.

Discussion

No questions or reviews yet.

Security scanner for coding agents: checks code, MCP servers, prompts and model-invented packages, and gives an A to F grade.

MCP serverExtended access123Repository stars

Security scanner for MCP servers that looks for hardcoded keys, tool poisoning and injection flaws in repository code.

CLIMinimal access139Repository stars

npq is an npm-audit CLI whose JSON mode separates the report from dependency installation and never starts the package manager.

CLIExtended access1.8KRepository stars
Official

The official Socket MCP server scores the security of npm, PyPI, cargo and other dependencies inside an agent chat.

MCP serverExtended access141Repository stars
Official

SafeDep vet MCP: an agent checks npm and PyPI packages for malware, vulnerabilities and name squatting before install.

MCP serverMinimal access1.1KRepository stars

A scanner that finds leaked keys, dangerous access and connected models in MCP configs of Claude Desktop, Cursor and VS Code.

CLIExtended access166Repository stars

README in short

The text opens with a list of official listings and confirms the plugin points at the same public service as the site. Then come the 23 tools, two skills, three installation routes and connections to other clients: Gemini CLI, Codex, Droid and Grok Build.

README badge

Report a problem