NPM Helper MCP

MIT License
367
1
  • Linux
  • Apple

Integrations

  • Supports Bun as a package manager option for dependency updating and package management operations

  • Supports Deno as a package manager option for dependency updating and package management operations

  • Offers example functionality for managing and updating Lodash dependencies in JavaScript projects

📦 NPM Helper: una herramienta para ayudar a su asistente de IA con la gestión de paquetes npm.🤖

Un servidor de Protocolo de Contexto de Modelo para la gestión de dependencias de NPM. Este servidor proporciona herramientas para la búsqueda y actualización de paquetes de NPM, garantizando así que las dependencias de su proyecto estén actualizadas a sus últimas versiones compatibles, sin conflictos ni complicaciones.

Como punto de partida, para actualizar de forma segura el archivo package.json de cualquier proyecto, el asistente puede llamar a la herramienta upgradePackagets con el parámetro "peer" establecido en "true". Es probable que esto no actualice todas las dependencias a las últimas versiones, pero sí las actualizará de forma segura a las versiones compatibles más recientes, sin errores.

Si busca una actualización completa de todas las dependencias, su asistente ofrece numerosas herramientas y parámetros para explorar con seguridad. Las opciones de parámetros y ejemplos se proporcionan a continuación, en la sección "Herramientas disponibles". También puede encontrar más información en el directorio "docs".

También hay herramientas disponibles para buscar y recuperar información de npmjs, si está explorando opciones para agregar nuevos paquetes a su proyecto o si está buscando información sobre un paquete específico.

✨ Características

Herramientas npm-check-updates

  • 🔍 checkUpdates : escanea package.json para detectar dependencias obsoletas
  • 🚀 upgradePackages : Actualizar dependencias a las últimas versiones
  • 🔎 filterUpdates : Consulta actualizaciones para paquetes específicos
  • resolveConflicts : Gestiona conflictos de dependencia
  • ⚙️ setVersionConstraints : Configurar reglas de actualización de versión
  • runDoctor : ejecuta actualizaciones y pruebas de forma iterativa para detectar cambios importantes

Herramientas de búsqueda de NPM

  • 🔍 searchPackages : busca paquetes en el registro de npmjs.org
  • 📝 fetchPackageContent : Extrae y recupera contenido de las páginas de paquetes npm
  • 📋 getPackageVersions : recupera el historial de versiones de los paquetes
  • 📝 getPackageDetails : Obtener metadatos detallados del paquete

Guía de instalación de npm-helper-mcp

Esta guía le ayudará a configurar y ejecutar el servidor npm-helper-mcp.

📋 Requisitos previos

Antes de comenzar, asegúrese de tener instalado lo siguiente:

  • Node.js (versión 18.x o posterior)
  • npm (versión 8.x o posterior)

🔧 Configuración

El servidor npm-helper-mcp implementa el Protocolo de Contexto de Modelo, lo que le permite comunicarse con aplicaciones LLM que admiten el protocolo.

La configuración varía según la aplicación. Generalmente, la mayoría de las aplicaciones cliente de mcp tienen un archivo de configuración .json o un lugar para introducir el comando para ejecutar el servidor. Una de estas dos opciones debería funcionar en la mayoría de los casos.

Opción 1: Ejecutar con npx

La forma más sencilla de usar el servidor es ejecutarlo con npx, que no requiere instalación local. Dependiendo de su cliente mcp, utilice uno de los dos métodos siguientes:

  1. Copie y pegue la configuración json en el archivo de configuración mcp de su aplicación.
{ "mcpServers": { "npm-helper": { "command": "npx", "args": [ "-y", "@pinkpixel/npm-helper-mcp" ] } } }
  1. Ingrese el comando para ejecutar el servidor en la configuración mcp de su aplicación.
npx -y @pinkpixel/npm-helper-mcp

Opción 2: Instalación local

Si prefiere instalar el servidor localmente, puede hacerlo con el siguiente comando:

# Install the package globally npm install -g npm-helper-mcp

Configuración:

  1. Copie y pegue la configuración json en el archivo de configuración mcp de su aplicación.
{ "mcpServers": { "npm-helper": { "command": "npx", "args": [ "-y", "@pinkpixel/npm-helper-mcp" ] } } }
  1. Ingrese el comando para ejecutar el servidor en la configuración mcp de su aplicación.
npm-helper-mcp

Opción 3: Instalar desde la fuente

# Clone the repository git clone https://github.com/pinkpixel-dev/npm-helper-mcp.git cd npm-helper-mcp # Install dependencies npm install # Build the project npm run build # Optionally run/test the server npm start

Configuración:

  1. Copie y pegue la configuración json en el archivo de configuración mcp de su aplicación.
{ "mcpServers": { "npm-helper": { "command": "node", "args": [ "/path/to/npm-helper-mcp/dist/index.js" ] } } }
  1. Ingrese el comando para ejecutar el servidor en la configuración mcp de su aplicación.
node /path/to/npm-helper-mcp/dist/index.js

Uso con LLM

Este servidor sigue el Protocolo de Contexto de Modelo, lo que permite su uso por LLM como Claude. El LLM puede usar las herramientas del servidor para realizar diversas operaciones npm.

Herramientas disponibles

Herramienta: check_updates

Escanea package.json en busca de dependencias obsoletas.

Parámetros:

  • packagePath (opcional): ruta al archivo package.json (predeterminado: ./package.json)
  • filter (opcional): Lista de nombres de paquetes para comprobar
  • reject (opcional): Lista de nombres de paquetes a excluir
  • target (opcional): versión de destino a la que actualizar (última, más nueva, mejor, menor, parche, semver)
  • interactive (opcional): habilita el modo interactivo para elegir actualizaciones
  • peer (opcional): verifica las dependencias de los pares de los paquetes instalados
  • minimal (opcional): No actualice versiones más nuevas que ya estén satisfechas por el rango de versiones
  • packageManager (opcional): Administrador de paquetes a utilizar (npm, yarn, pnpm, deno, bun, staticRegistry)

Ejemplo:

{ "name": "check_updates", "arguments": { "packagePath": "./package.json", "filter": ["react", "lodash"], "peer": true, "minimal": true, "packageManager": "npm" } }
Herramienta: upgrade_packages

Actualiza las dependencias a sus últimas versiones.

Parámetros:

  • packagePath (opcional): ruta al archivo package.json (predeterminado: ./package.json)
  • upgradeType (opcional): versión de destino a la que se actualizará (última, más nueva, mejor, menor, parche, semver)
  • interactive (opcional): habilita el modo interactivo para elegir actualizaciones
  • peer (opcional): verifica las dependencias de los pares de los paquetes instalados
  • minimal (opcional): No actualice versiones más nuevas que ya estén satisfechas por el rango de versiones
  • packageManager (opcional): Administrador de paquetes a utilizar (npm, yarn, pnpm, deno, bun, staticRegistry)

Ejemplo:

{ "name": "upgrade_packages", "arguments": { "upgradeType": "minor", "peer": true, "minimal": true, "packageManager": "yarn" } }
Herramienta: filter_updates

Comprueba actualizaciones para paquetes específicos.

Parámetros:

  • packagePath (opcional): ruta al archivo package.json (predeterminado: ./package.json)
  • filter (obligatorio): Lista de nombres de paquetes para comprobar
  • upgrade (opcional): si desea actualizar el archivo package.json o simplemente verificar
  • minimal (opcional): No actualice versiones más nuevas que ya estén satisfechas por el rango de versiones
  • packageManager (opcional): Administrador de paquetes a utilizar (npm, yarn, pnpm, deno, bun, staticRegistry)

Ejemplo:

{ "name": "filter_updates", "arguments": { "filter": ["react", "react-dom"], "upgrade": false, "minimal": true } }
Herramienta: resolve_conflicts

Maneja conflictos de dependencia usando dependencias entre pares.

Parámetros:

  • packagePath (opcional): ruta al archivo package.json (predeterminado: ./package.json)
  • upgrade (opcional): si desea actualizar el archivo package.json o simplemente verificar
  • minimal (opcional): No actualice versiones más nuevas que ya estén satisfechas por el rango de versiones
  • packageManager (opcional): Administrador de paquetes a utilizar (npm, yarn, pnpm, deno, bun, staticRegistry)

Ejemplo:

{ "name": "resolve_conflicts", "arguments": { "upgrade": true, "packageManager": "npm" } }
Herramienta: set_version_constraints

Configura las reglas de actualización de versión.

Parámetros:

  • packagePath (opcional): ruta al archivo package.json (predeterminado: ./package.json)
  • target (obligatorio): estrategia de restricción de la versión de destino (última, más nueva, mayor, menor, parche, semver)
  • removeRange (opcional): elimina los rangos de versiones de la versión final del paquete
  • upgrade (opcional): si desea actualizar el archivo package.json o simplemente verificar
  • minimal (opcional): No actualice versiones más nuevas que ya estén satisfechas por el rango de versiones
  • packageManager (opcional): Administrador de paquetes a utilizar (npm, yarn, pnpm, deno, bun, staticRegistry)

Ejemplo:

{ "name": "set_version_constraints", "arguments": { "target": "minor", "removeRange": false, "upgrade": true, "packageManager": "pnpm" } }
Herramienta: run_doctor

Instala actualizaciones de forma iterativa y ejecuta pruebas para identificar actualizaciones deficientes. Revierte automáticamente las actualizaciones deficientes y conserva las que funcionan.

Parámetros:

  • packagePath (opcional): ruta al archivo package.json (predeterminado: ./package.json)
  • doctorInstall (opcional): script de instalación personalizado para utilizar (predeterminado: 'npm install' o 'yarn')
  • doctorTest (opcional): secuencia de comandos de prueba personalizada para utilizar (predeterminado: 'npm test')
  • packageManager (opcional): Administrador de paquetes a utilizar (npm, yarn, pnpm, deno, bun, staticRegistry)

Ejemplo:

{ "name": "run_doctor", "arguments": { "packagePath": "./package.json", "doctorInstall": "npm ci", "doctorTest": "npm run test:ci", "packageManager": "npm" } }
Herramienta: search_npm

Busca paquetes npm.

Parámetros:

  • query (obligatoria): consulta de búsqueda de paquetes npm
  • maxResults (opcional): Número máximo de resultados a devolver (predeterminado: 10)

Ejemplo:

{ "name": "search_npm", "arguments": { "query": "react state management", "maxResults": 5 } }
Herramienta: obtener_contenido_del_paquete

Obtener y analizar contenido detallado de una página de paquete npm.

Parámetros:

  • url (obligatorio): URL de la página del paquete npm

Ejemplo:

{ "name": "fetch_package_content", "arguments": { "url": "https://www.npmjs.com/package/react" } }
Herramienta: get_package_versions

Obtiene las versiones disponibles para un paquete npm.

Parámetros:

  • packageName (obligatorio): Nombre del paquete npm

Ejemplo:

{ "name": "get_package_versions", "arguments": { "packageName": "react" } }
Herramienta: get_package_details

Obtiene información detallada sobre un paquete npm.

Parámetros:

  • packageName (obligatorio): Nombre del paquete npm

Ejemplo:

{ "name": "get_package_details", "arguments": { "packageName": "react" } }

Formato de respuesta

Todas las herramientas devuelven respuestas en un formato estándar:

{ "status": "success" | "error", "data": {}, // Tool-specific data "message": "Human-readable message" }

🆘 Solución de problemas

Problemas de conexión**:

  • Asegúrese de que su aplicación LLM esté configurada correctamente para utilizar el Protocolo de contexto de modelo.
  • Verifique su archivo .json para detectar cualquier error o verifique que su comando de inicio sea correcto.
  • Si se ejecuta localmente, verifique la ruta al archivo index.js. Use rutas absolutas si es necesario.

Obtener ayuda

Si encuentra algún problema no contemplado aquí:

  • Consulta los problemas de GitHub para encontrar problemas y soluciones similares.
  • Crea un nuevo problema con una descripción detallada de tu problema.

📄 Licencia

Instituto Tecnológico de Massachusetts (MIT)

🙏 Créditos

Hecho con ❤️ por Pink Pixel

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor de protocolo de contexto de modelo que proporciona herramientas para la gestión de paquetes NPM, incluida la búsqueda de dependencias, actualizaciones, resolución de conflictos y gestión de versiones para ayudar a los asistentes de IA a actualizar de forma segura las dependencias del proyecto.

  1. ✨ Características
    1. Herramientas npm-check-updates
    2. Herramientas de búsqueda de NPM
  2. Guía de instalación de npm-helper-mcp
    1. 📋 Requisitos previos
    2. 🔧 Configuración
    3. Uso con LLM
    4. Formato de respuesta
    5. 🆘 Solución de problemas
    6. 📄 Licencia
    7. 🙏 Créditos

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A comprehensive Model Context Protocol server that provides advanced Node.js development tooling for automating project creation, component generation, package management, and documentation with AI-powered assistance.
    Last updated -
    7
    2
    JavaScript
    MIT License
  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol server that integrates with Linear, enabling AI assistants to create, update, search, and comment on issues for project management and issue tracking.
    Last updated -
    5
    6
    Python
    Apache 2.0
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that enables AI agents to retrieve and understand entire codebases at once, providing tools to analyze local workspaces or remote GitHub repositories.
    Last updated -
    9
    TypeScript
    MIT License
    • Linux
    • Apple
  • A
    security
    F
    license
    A
    quality
    A Model Context Protocol server that allows AI models to fetch detailed information about npm packages and discover popular packages in the npm ecosystem.
    Last updated -
    1
    TypeScript

View all related MCP servers

ID: 4qbql03398