NPMscan MCP Plugin
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Documented (README)
/plugin marketplace add salemalem/npmscan-mcp-plugin
/plugin install npmscan-mcp-pluginResumen de Plugins
# NPMScan plugin for Claude Code
A [Claude Code plugin](https://code.claude.com/docs/en/plugins) that gives
Claude read-only npm package and vulnerability lookups, backed by
[npmscan.com](https://npmscan.com)'s free, unauthenticated MCP server.
## Direct links
- **Claude** (Anthropic plugin directory):
[claude.ai/customize/skills/…/npmscan](https://claude.ai/customize/skills/id/aa8fcafe-0bcd-41b6-9e07-6c7ebbb71153%40anthropic-plugin-directory)
- **ChatGPT** (OpenAI plugins directory):
[chatgpt.com/plugins/…/npmscan](https://chatgpt.com/plugins/plugin_asdk_app_6a6a699e6f3481918d5e6034432894f2)
- **Setup docs for other clients**: [npmscan.com/mcp](https://npmscan.com/mcp)
## What it adds
- **MCP server** (`npmscan`, `https://npmscan.com/api/mcp`) with
twenty-three tools — see [Tools](#tools) below. Every tool result includes
an `npmscanUrl` linking back to the full write-up on npmscan.com. No API
key or auth required — same public data as the website. The server is
stateless and rate-limited to 30 requests/minute per IP. Every
vulnerability finding carries `isMalware`, so a confirmed-malicious
package is reported as malware to remove, never as an ordinary bug.
- **`/npmscan:dependency-audit` skill** — chains `batch_query_vulnerabilities`
→ `get_package`/`get_package_version` → `analyze_transitive_dependencies`
→ the maintainer/provenance/license/remediation/alternative tools into one
dependency-audit report, instead of leaving that tool sequencing to Claude
each time. Also handles PR-style before/after diffs via
`diff_dependencies`, raw `npm audit --json` output via `enrich_npm_audit`,
and a bare GitHub repo URL via `audit_github_repository`. Triggers
automatically when you paste a `package.json`/lockfile/SBOM, give a GitHub
repo URL, or ask to check/audit your dependencies, or invoke it directly.
See [`skills/dependency-audit/SKILL.md`](skills/dependency-audit/SKILL.md).
- **`/npmscan:package-trust-check` skill** — a deep, single-package
investigation for "is X safe / was X compromised" questions: a malware
check (including versions npm has since removed for being malicious),
maintainer add/remove history (account-takeover patterns),
publish-provenance cross-checks, and install-script scanning, in one
report. Triggers
automatically on a trust question about one named package; not for
auditing a whole dependency list (that's `dependency-audit`). See
[`skills/package-trust-check/SKILL.md`](skills/package-trust-check/SKILL.md).
- **`/npmscan:new-dependency-evaluation` skill** — for a forward-looking
choice about what to *add*, not what's already installed: comparing 2-5
named candidates ("axios vs got vs node-fetch"), evaluating one candidate
against its real peers, or shortlisting candidates from a described need.
Orchestrates `compare_packages`/`suggest_alternative`/`search_packages`
into a structured side-by-side with a deterministic pick. See
[`skills/new-dependency-evaluation/SKILL.md`](skills/new-dependency-evaluation/SKILL.md).
- **`/npmscan:incident-response` skill** — turns an existing finding, or
just a vague symptom description ("npm install did something weird"),
into concrete `get_remediation_playbook` steps: real incident references,
severity, and prevention tips, not improvised advice. See
[`skills/incident-response/SKILL.md`](skills/incident-response/SKILL.md).
- **`/npmscan:ci-pr-gate` skill** — turns a dependency change (a
before/after snapshot, or one or more named "bump X from A to B"
upgrades) into one deterministic PASS/WARN/FAIL verdict formatted for a
CI check or PR-comment bot, applying a fixed policy on top of
`diff_dependencies`/`simulate_dependency_upgrade` — not a conversational
report (that's `dependency-audit`'s job). See
[`skills/ci-pr-gate/SKILL.md`](skills/ci-pr-gate/SKILL.md).
## Tools
NPMScan provides twenty-three tools:
| Tool | Description |
|---|---|
| `search_packages` | Search the npm registry by name or keywords. Each result includes weekly/monthly download counts, dependent-package counts, and rank among npmscan's own top-100k-by-downloads snapshot, so you can tell an established package from an abandoned or squatted one that merely matches the query text — flags `possibleTyposquatOf` when a low-popularity result's name is one typo away from a top-5,000 package. |
| `get_package` | Latest version, install scripts (`preinstall`/`install`/`postinstall`/`prepare`), maintainers, license, recent version history, weekly downloads, GitHub stars, TypeScript support, days since last publish, ecosystem-wide download rank, a 3-month download trend, and an `isLatestVersionVulnerable`/`highestSeverity` verdict (with fixed versions and `isMalware` per finding) — plus a rule-based (not model-generated) maintenance/popularity summary and typosquat flag computed from those numbers. |
| `get_package_version` | Metadata for one exact version plus an OSV.dev check scoped to that version — `isVulnerable`/`highestSeverity` as a direct safe/not-safe answer, with each finding's severity, summary, fixed version and `isMalware`. For checking a version pinned in a lockfile. A version npm has removed but OSV still has advisories for (usually one pulled for being malicious) comes back with `versionExists: false` and those findings, not a bare "not found". |
| `get_maintainer_profile` | Packages an npm username currently maintains via npm's own `maintainer:<username>` search index, plus precomputed download/dependent totals across all of them. Lists the most-downloaded `limit` packages (default 50, max 250); totals still cover every package found. A plain info lookup, not a security check — pair it with `check_maintainer_blast_radius` for the actual compromised-account signal. |
| `query_vulnerabilities` | OSV.dev lookup for known vulnerabilities affecting a package, optionally scoped to a version, with `isVulnerable`/`highestSeverity` as a direct verdict and each finding's severity, summary, fixed version and `isMalware`. For npm it also cross-checks the name/version against the registry: a name or version that isn't on npm still returns its OSV data, with `packageExists: false` and an `existenceCheckNote` — so a typo doesn't read as "clean", and a version removed for malware still shows its findings. Accepts `packageName` as an alias for `name`, and other ecosystems via `ecosystem` (e.g. `"PyPI"`). |
| `batch_query_vulnerabilities` | OSV.dev lookup across a whole dependency inventory at once — pass a flat `packages` list, or paste raw `package.json`/lockfile/CycloneDX JSON/SPDX JSON content via `content` and it parses that for you. Chunks large inventories internally, with severity, summary, CVE aliases, fixed version and `isMalware` per finding. Also reports names/versions that aren't on npm (`unresolvedPackages`/`nonexistentVersions` — never read those as clean), per-package `signals` (deprecated, install scripts, popularity, typosquat), and for lockfiles a `source` check that flags a tarball from an unexpected host or one that is a different package than declared (`identityMismatch`). |
| `get_latest_advisories` | Recently published npm advisories from one of three sources (one per call): `type: "reviewed"` (default) is GitHub's curated, mostly CVE-backed set, filterable by severity, vulnerability category, affected package name, or an exact GHSA/CVE ID; `type: "malware"` is GitHub's own malicious-package advisories; `type: "osv"` is OSV.dev's OpenSSF malicious-packages feed (`MAL-` ids). Cursor-paginated. These are feeds of recent advisories, not a package's full history — to check whether a package is or was malware, use `query_vulnerabilities` and its `isMalware` flags. |
| `get_cve` | NIST NVD lookup for one exact CVE ID (authoritative CVSS score/vector, CWEs, references), or a keyword/severity/CWE/date-range search. Enriched with CISA KEV status (actively exploited in the wild?) and FIRST.org EPSS (30-day exploitation probability). Falls back to the raw MITRE CVE record when NVD has no data yet. Not npm-scoped — NVD covers every ecosystem. |
| `analyze_install_script` | Fetches a package's published tarball and statically scans its `preinstall`/`install`/`postinstall`/`prepare` lifecycle scripts — and the files they reference, pulled from the tarball itself — against npmscan's red-flags rubric (`child_process` use, network calls, sensitive-path/env access, obfuscation, untrusted remote binaries, exfil hosts, eval on decoded strings, CI telemetry) plus a typosquat check. Returns a `totalScore` and `riskTier`. A `prepare`-only package scores 0 unless its command does something alarming, since npm never runs a dependency's `prepare` on install. A heuristic static scan, not proof of malice — it doesn't execute code or check maintainer history. |
| `analyze_transitive_dependencies` | Recursively resolves 1-15 direct/root packages' dependency graphs to a configurable depth (default 2, max 3) and batch-checks every resolved package against OSV.dev — surfaces vulnerabilities buried several levels deep that a flat `batch_query_vulnerabilities` call would miss, with `vulnerablePaths` naming which direct dependency pulled in each vulnerable transitive package. A total-node budget caps runaway graphs, reported via `truncated`/`truncationNote` rather than silently returning a partial scan as complete. |
| `check_package_provenance` | Checks a version's npm/Sigstore publish provenance against reality: flags a non-GitHub-hosted builder or an attested source repo that doesn't match `package.json`'s own `repository` field; flags a package missing provenance while its npm-scope/maintainer peers consistently have it (skipped for versions published before npm provenance existed, 2023-04-19); and diffs the published tarball's install scripts/dependencies against the source repository at the attested commit — the pattern of a stolen-npm-token publish that bypasses CI. For a version npm has removed, the error names any Lo que la gente pregunta sobre npmscan-mcp-plugin
¿Qué es salemalem/npmscan-mcp-plugin?
+
salemalem/npmscan-mcp-plugin es plugins para el ecosistema de Claude AI. NPMscan MCP Plugin Tiene 0 estrellas en GitHub y su última actualización registrada es del 2026-10-10.
¿Cómo se instala npmscan-mcp-plugin?
+
Puedes instalar npmscan-mcp-plugin clonando el repositorio (https://github.com/salemalem/npmscan-mcp-plugin) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar salemalem/npmscan-mcp-plugin?
+
Nuestro agente de seguridad ha analizado salemalem/npmscan-mcp-plugin y le ha asignado un Trust Score de 82/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene salemalem/npmscan-mcp-plugin?
+
salemalem/npmscan-mcp-plugin es mantenido por salemalem. La última actividad registrada en GitHub es del 2026-10-10, con 0 issues abiertos.
¿Hay alternativas a npmscan-mcp-plugin?
+
Sí. En ClaudeWave puedes explorar plugins similares en /categories/plugins, ordenados por popularidad o actividad reciente.
Despliega npmscan-mcp-plugin en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/salemalem-npmscan-mcp-plugin)<a href="https://claudewave.com/repo/salemalem-npmscan-mcp-plugin"><img src="https://claudewave.com/api/badge/salemalem-npmscan-mcp-plugin" alt="Featured on ClaudeWave: salemalem/npmscan-mcp-plugin" width="320" height="64" /></a>Más Plugins
Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.
AI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary
Write HTML. Render video. Built for agents.
Agent skill that removes signs of AI-generated writing from text
Academic Research Skills for Claude Code: research → write → review → revise → finalize
Editorial diagram design for Claude Code, Codex, GitHub Copilot, Cursor, Factory Droid, and Pi. 44 diagram types. Self-contained HTML + SVG. No shadows. No Mermaid slop.