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
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
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/npmscanDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewMinimal 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 installMCP
- 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.
Related
MCP serversSecurity scanner for coding agents: checks code, MCP servers, prompts and model-invented packages, and gives an A to F grade.
Security scanner for MCP servers that looks for hardcoded keys, tool poisoning and injection flaws in repository code.
npq is an npm-audit CLI whose JSON mode separates the report from dependency installation and never starts the package manager.
The official Socket MCP server scores the security of npm, PyPI, cargo and other dependencies inside an agent chat.
SafeDep vet MCP: an agent checks npm and PyPI packages for malware, vulnerabilities and name squatting before install.
A scanner that finds leaked keys, dangerous access and connected models in MCP configs of Claude Desktop, Cursor and VS Code.
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.