NPMLens MCP

NPMLens MCP permite que tu agente de codificación (como Claude, Cursor, Copilot, Gemini o Codex) busque en el registro npm y obtenga contexto de paquetes (README, descargas, información de GitHub, fragmentos de uso). Actúa como un servidor Model‑Context‑Protocol (MCP), brindando a tu asistente de IA una forma estructurada de descubrir bibliotecas e integrarlas rápidamente.

Documentación

NPMLens MCP Logo

NPMLens MCP

npm version CI npm downloads TypeScript Node MCP Tests Coverage Lint License

npmlens-mcp permite que tu agente de codificación (como Claude, Cursor, Copilot, Gemini o Codex) busque en el registro de npm y obtenga contexto de paquetes (README, descargas, información de GitHub, fragmentos de uso). Actúa como un servidor Model‑Context‑Protocol (MCP), brindando a tu asistente de IA una forma estructurada de descubrir bibliotecas e integrarlas rápidamente.

Cambios | Contribuir | Solución de problemas | Referencia de herramientas

Características principales

  • Búsqueda estructurada en npm con pesos de clasificación opcionales.
  • Obtención directa de README (opcionalmente truncado).
  • Información enriquecida del paquete (descargas + detalles de GitHub).
  • Extracción de fragmentos de uso del README.
  • Transporte MCP Stdio, listo para clientes compatibles con MCP.

Descargos de responsabilidad

npmlens-mcp realiza solicitudes de red a npm y GitHub cuando se utilizan las herramientas. Evita compartir secretos en los prompts; establece GITHUB_TOKEN solo si deseas límites de tasa más altos de GitHub.

Requisitos

  • Node.js v18.17 o superior
  • npm (o pnpm)

Primeros pasos

Agrega la siguiente configuración a tu cliente MCP:

{
  "mcpServers": {
    "npmlens": {
      "command": "npx",
      "args": ["-y", "npmlens-mcp@latest"]
    }
  }
}

[!NOTE] Usar npmlens-mcp@latest asegura que tu cliente MCP siempre ejecute la versión publicada más reciente.

Configuración del cliente MCP

Amp Sigue la documentación de Amp y usa la configuración proporcionada arriba. También puedes instalarlo mediante CLI:
amp mcp add npmlens -- npx npmlens-mcp@latest
Claude Code Usa la CLI de Claude Code para agregar el servidor NPMLens MCP (consulta la guía de MCP de Claude Code):
claude mcp add npmlens npx npmlens-mcp@latest
Cline Sigue y usa la configuración proporcionada arriba.
Codex Usa la CLI de Codex para agregar el servidor:
codex mcp add npmlens -- npx npmlens-mcp@latest
Copilot CLI

Inicia Copilot CLI:

copilot

Inicia el diálogo para agregar un nuevo servidor MCP ejecutando:

/mcp add

Configura los siguientes campos y presiona CTRL+S para guardar:

  • Nombre del servidor: npmlens
  • Tipo de servidor: Local
  • Comando: npx -y npmlens-mcp@latest
Copilot / VS Code Usa la CLI de VS Code:
code --add-mcp '{"name":"npmlens","command":"npx","args":["-y","npmlens-mcp@latest"]}'
Cursor

Ve a Cursor Settings -> MCP -> New MCP Server. Usa la configuración proporcionada arriba.

Gemini CLI Instala el servidor NPMLens MCP usando la CLI de Gemini.

A nivel de proyecto:

gemini mcp add npmlens npx npmlens-mcp@latest

Globalmente:

gemini mcp add -s user npmlens npx npmlens-mcp@latest

Alternativamente, sigue la guía de MCP de Gemini CLI y usa la configuración estándar de arriba.

Gemini Code Assist Sigue la guía del proveedor para configurar servidores MCP y usa la configuración estándar de arriba.
JetBrains AI Assistant & Junie

Ve a Settings | Tools | AI Assistant | Model Context Protocol (MCP) -> Add. Usa la configuración proporcionada arriba. Lo mismo para Junie en Settings | Tools | Junie | MCP Settings -> Add.

Warp

Ve a Settings | AI | Manage MCP Servers -> + Add y usa la configuración proporcionada arriba.

Tu primer prompt

Ingresa uno de los siguientes prompts en tu cliente MCP para verificar que todo funcione:

Búsqueda e información básica:

Find 5 React debounce hook libraries, include weekly downloads, and
fetch the README for the top result.

Comparar paquetes:

Compare react-query, swr, and apollo-client. Show me their weekly
downloads, GitHub stars, and licenses.

Historial de versiones:

Show me all TypeScript versions released in the last 6 months with
their publish dates.

Dependencias:

What are the dependencies of express? Include dev dependencies.

Uso avanzado y local

¿Buscas ejemplos de JSON‑RPC, esquemas de herramientas, la CLI de desarrollo local, solución de problemas o configuración para contribuidores?

  • Consulta docs/advanced.md para todos los detalles técnicos.
  • Consulta CONTRIBUTING.md para las pautas de contribución.

Herramientas

A continuación se muestran las herramientas expuestas por NPMLens MCP. Para ver los esquemas JSON completos, consulta la Referencia de herramientas.

Búsqueda e información principales

  • search_npm

    • Busca en el registro de npm con pesos de clasificación opcionales.
    • Argumentos: query (cadena, obligatorio), size (1..250), from (desplazamiento), weights (objeto con quality, popularity, maintenance).
    • Devuelve: { total, results[] } donde cada resultado incluye name, version, description, links, score, etc.
  • search_by_keywords

    • Busca paquetes npm por palabras clave/etiquetas específicas con operadores AND/OR.
    • Argumentos: keywords (array de cadenas, obligatorio), operator (AND | OR, por defecto AND), size (1..250).
    • Devuelve: Igual que search_npm.
    • Ejemplo: Encuentra paquetes con "react" Y "hooks" Y "typescript".
  • get_readme

    • Obtiene el README en markdown de un paquete (opcionalmente por versión).
    • Argumentos: name (cadena, obligatorio), version (cadena), truncateAt (número).
    • Devuelve: metadatos JSON (name, version, repository, homepage) y el README como contenido de texto.
  • get_package_info

    • Información enriquecida del paquete que combina metadatos del registro, descargas de npm y detalles de GitHub.
    • Argumentos: name (cadena, obligatorio), version (cadena), includeReadme (booleano).
    • Devuelve: name, version, repository, homepage, github{ fullName, url, stars, forks, license }, downloadsLastWeek, y readme opcional.
  • get_usage_snippet

    • Extrae un fragmento de uso probable del README de un paquete.
    • Argumentos: name (cadena, obligatorio), version (cadena).
    • Devuelve: { snippet: { language, code, heading } }.

Análisis de versiones y dependencias

  • get_package_versions

    • Lista todas las versiones disponibles de un paquete con fechas de publicación y etiquetas dist.
    • Argumentos: name (cadena, obligatorio), limit (número), since (cadena - fecha ISO o relativa como "6 meses").
    • Devuelve: { name, versions[] } donde cada versión incluye version, date, tags[].
    • Ejemplo: "Muéstrame todas las versiones de React del último año".
  • get_package_dependencies

    • Obtiene el árbol de dependencias de un paquete.
    • Argumentos: name (cadena, obligatorio), version (cadena), depth (1-3, por defecto 1), includeDevDependencies (booleano).
    • Devuelve: { name, version, dependencies[], devDependencies[] } con nombre y rango de versión para cada dependencia.
    • Ejemplo: "¿Qué dependencias tiene express?".

Métricas y comparación

  • get_downloads

    • Obtiene las descargas de npm de los últimos day/week/month.
    • Argumentos: name (cadena, obligatorio), period (day | week | month, por defecto week).
    • Devuelve: { downloads, start, end, package }.
  • compare_packages

    • Compara múltiples paquetes npm lado a lado.
    • Argumentos: packages (array de 1-10 nombres de paquetes, obligatorio).
    • Devuelve: Array de datos de comparación con name, version, description, downloads, stars, forks, license, repository, homepage, y error opcional.
    • Obtiene todos los paquetes en paralelo para mayor rendimiento.
    • Ejemplo: "Compara react-query, swr y apollo-client".

Consultas de ejemplo

A continuación se muestran consultas de ejemplo que puedes usar con tu asistente de IA para probar todas las 9 herramientas de NPMLens:

search_npm

Search npm for react testing libraries
Find packages related to "typescript validation" and show me the top 5 results

get_readme

Show me the README for express
Get the README for react version 18.0.0

get_package_info

Get detailed information about the lodash package
Tell me about the vite package including GitHub stats and download numbers

get_downloads

How many downloads does react have in the last week?
Show me download statistics for next for the last month

get_usage_snippet

Show me a usage example for axios
How do I use the commander package? Give me a code snippet.

get_package_versions

List all versions of React from the last year
Show me the version history of TypeScript since 6 months ago

get_package_dependencies

What dependencies does express have?
Show me the dependency tree for next with depth 2

compare_packages

Compare react, vue, and angular
Compare the packages axios, fetch, and node-fetch and help me decide which to use

search_by_keywords

Find packages with keywords "react" AND "hooks" AND "typescript"
Search for packages with keywords "cli" OR "terminal"

Consultas combinadas

También puedes pedirle a tu asistente de IA que use varias herramientas juntas:

Compare react-query, swr, and apollo-client, then show me usage examples for the most popular one
Search for typescript validation libraries, then show me the README and dependencies for the top result
Find the package "zod", show me its download stats, version history, and a usage example

Licencia y contribuciones

NPMLens MCP tiene licencia MIT. ¡Las contribuciones son bienvenidas! Consulta CONTRIBUTING.md para las pautas.

¿Encontraste un error o tienes una solicitud de función? Abre un issue en GitHub.


Hecho con ❤️ para la comunidad de vibe coding. ¡Feliz codificación!