Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

NPMScan

de salemalemversión 3.1.2i★ –iSe ejecuta en la nube
Nombre en el registroio.github.salemalem/npmscan

Instalar

Resumen

Descripción del creador (original en inglés)

Detect malicious or vulnerable npm packages: registry search, OSV.dev and GitHub advisory lookups

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en la nube
  • Transporte: Streamable HTTP
  • Categoría: Búsqueda y memoria de IA

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Necesitas

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Funciona en Claude para web, escritorio y móvil:

  1. Abre Settings → Connectors
  2. Presiona Add custom connector
  3. Pega la dirección de abajo y presiona Add
  4. Si te pide iniciar sesión, inicia sesión en el servicio del creador
SettingsConnectors1+ Add2https://…3
https://npmscan.com/api/mcp

Ejecuta esto en tu terminal

claude mcp add --transport http npmscan https://npmscan.com/api/mcp

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "npmscan": {
      "url": "https://npmscan.com/api/mcp"
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "npmscan": {
      "type": "http",
      "url": "https://npmscan.com/api/mcp"
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

ChatGPT solo se conecta a servidores en internet:

  1. Abre ChatGPT en la web → Settings → Connectors (Apps)
  2. Presiona Create o Add (en algunos planes primero hay que activar Developer mode en Advanced)
  3. Pega la dirección de abajo, ponle un nombre y guarda
  4. Si te pide iniciar sesión, inicia sesión en el servicio del creador
SettingsConnectors1+ Create2https://…3
https://npmscan.com/api/mcp

Los nombres de los menús pueden variar un poco según el plan y con el tiempo.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Todavía no hemos leído la lista de herramientas de este servidor; revisamos los endpoints por turnos.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub salemalem, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    El endpoint responde

    Aún sin revisar; revisamos los endpoints por turnos

  • … Aún sin revisar

    Inicio de sesión con OAuth

    Aún sin revisar; revisamos los endpoints por turnos

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Aún sin revisar; leemos la lista de herramientas cuando revisamos el endpoint

Comparado con otros en Búsqueda y memoria de IAi

  • Más estrellas que el 0% de los otros 7275 servidores de esta categoría
  • Publicado en el registro más recientemente que el 57% de los otros 7275 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 7275 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro NPMScan?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en la nube del creador. Te conectas por internet sin instalar nada, pero lo que envías pasa por los servidores del creador.

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (3.1.2) llegó al registro hace 27 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.

¿Qué puedo usar en su lugar?

En la misma categoría: Context7, Codebase Memory, Exa

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Context7

de upstash

Up-to-date docs for AI agents

Computadora o nube★ 64.224MITActualizado ayer
Instalar

Codebase Memory

de DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

Se ejecuta en tu computadora★ 48.148MITActualizado hace 21 días
Instalar

Exa

de exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

Se ejecuta en la nube★ 5213MITActualizado el mes pasado
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

NPMScan plugin for Claude Code

A Claude Code plugin that gives Claude read-only npm package and vulnerability lookups, backed by npmscan.com's free, unauthenticated MCP server.

NPMScan is also officially listed for both ChatGPT and Claude on npmscan.com's MCP page, so users can verify that this plugin points at the same public service.

Official listings

Pending:

  • Grok Build (xAI's official plugin marketplace): submitted in xai-org/plugin-marketplace#1506, awaiting xAI review. See Using it with Grok Build.
  • GitHub Copilot (Awesome Copilot marketplace): submitted in github/awesome-copilot#5142.
  • Gemini CLI (extension gallery): indexed automatically from this repo. See Using it with Gemini CLI.

What it adds

  • MCP server (npmscan, https://npmscan.com/api/mcp) with twenty-three tools — see 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.
  • `/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.
  • `/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.
  • `/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.
  • `/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.

Tools

NPMScan provides twenty-three tools:

ToolDescription
search_packagesSearch 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_packageLatest 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_versionMetadata 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_profilePackages an npm username currently maintains via npm's own maintainer: 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_vulnerabilitiesOSV.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_vulnerabilitiesOSV.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_advisoriesRecently 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_cveNIST 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_scriptFetches 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_dependenciesRecursively 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_provenanceChecks 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 OSV advisories for it. Structural only, not a cryptographic re-verification of the Sigstore bundle.
check_maintainer_changesReconstructs a package's maintainer-add/remove history from the npm packument and flags account-takeover patterns — a new maintainer who published shortly after being added, a sudden full maintainer-list replacement, a long-standing maintainer quietly dropped, or a maintainer change not yet tied to any release. Also cross-checks the declared GitHub repository for transfers/archival.

| check_maintainer_blast_radius | Given an npm username, finds the packages that account currently maintains and flags a tight cluster of packages pub

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx