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 – Ein Tool, das Ihrem KI-Assistenten bei der NPM-Paketverwaltung hilft.🤖

Ein Model Context Protocol-Server für das NPM-Abhängigkeitsmanagement. Dieser Server bietet Tools für die NPM-Paketsuche und zum Aktualisieren von NPM-Paketen. So wird sichergestellt, dass die Abhängigkeiten Ihres Projekts stets aktuell und kompatible Versionen sind, ohne dass es zu Konflikten oder Problemen kommt.

Für ein sicheres Upgrade der package.json eines Projekts kann Ihr Assistent das Tool „upgradePackagets“ mit dem Parameter „peer“ auf „true“ aufrufen. Dadurch werden wahrscheinlich nicht alle Abhängigkeiten auf die neueste Version aktualisiert, aber sie werden sicher und fehlerfrei auf die neueste kompatible Version aktualisiert.

Wenn Sie ein vollständiges Upgrade aller Abhängigkeiten wünschen, bietet Ihnen Ihr Assistent zahlreiche Tools und Parameter zur sicheren Untersuchung. Parameteroptionen und Beispiele finden Sie weiter unten im Abschnitt „Verfügbare Tools“. Weitere Informationen finden Sie auch im Verzeichnis „docs“.

Es stehen auch Tools zum Suchen und Abrufen von Informationen aus npmjs zur Verfügung, wenn Sie Optionen für neue Pakete erkunden, die Sie Ihrem Projekt hinzufügen können, oder wenn Sie nach Informationen zu einem bestimmten Paket suchen.

✨ Funktionen

npm-check-updates Werkzeuge

  • 🔍 checkUpdates : Durchsucht package.json nach veralteten Abhängigkeiten
  • 🚀 upgradePackages : Aktualisieren Sie Abhängigkeiten auf die neuesten Versionen
  • 🔎 filterUpdates : Überprüfen Sie Updates für bestimmte Pakete
  • 🔄 resolveConflicts : Behandeln Sie Abhängigkeitskonflikte
  • ⚙️ setVersionConstraints : Konfigurieren Sie Regeln für Versionsupgrades
  • 🩺 runDoctor : Führen Sie iterativ Upgrades und Tests durch, um schwerwiegende Änderungen zu erkennen

NPM-Suchtools

  • 🔍 searchPackages : Durchsuchen Sie das npmjs.org-Register nach Paketen
  • 📝 fetchPackageContent : Scrapen und extrahieren Sie Inhalte von npm-Paketseiten
  • 📋 getPackageVersions : Versionsverlauf von Paketen abrufen
  • 📝 getPackageDetails : Detaillierte Paketmetadaten abrufen

🚀 npm-helper-mcp Installationsanleitung

Diese Anleitung hilft Ihnen beim Einrichten und Ausführen des npm-helper-mcp-Servers.

📋 Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Folgendes installiert ist:

  • Node.js (Version 18.x oder höher)
  • npm (Version 8.x oder höher)

🔧 Konfiguration

Der npm-helper-mcp-Server implementiert das Model Context Protocol, wodurch er mit LLM-Anwendungen kommunizieren kann, die das Protokoll unterstützen.

Die Konfiguration variiert je nach Anwendung. Die meisten MCP-Clientanwendungen verfügen in der Regel über eine JSON-Konfigurationsdatei oder einen Platz für den Befehl zum Ausführen des Servers. Eine dieser beiden Optionen sollte in den meisten Fällen funktionieren.

Option 1: Ausführen mit npx

Am einfachsten lässt sich der Server mit npx nutzen, da hierfür keine lokale Installation erforderlich ist. Abhängig von Ihrem MCP-Client verwenden Sie eine der folgenden zwei Methoden:

  1. Kopieren Sie die JSON-Konfiguration und fügen Sie sie in die MCP-Konfigurationsdatei Ihrer Anwendung ein.
{ "mcpServers": { "npm-helper": { "command": "npx", "args": [ "-y", "@pinkpixel/npm-helper-mcp" ] } } }
  1. Geben Sie den Befehl zum Ausführen des Servers in den MCP-Konfigurationseinstellungen Ihrer Anwendung ein.
npx -y @pinkpixel/npm-helper-mcp

Option 2: Lokale Installation

Wenn Sie den Server lieber lokal installieren möchten, können Sie dies mit dem folgenden Befehl tun:

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

Konfiguration:

  1. Kopieren Sie die JSON-Konfiguration und fügen Sie sie in die MCP-Konfigurationsdatei Ihrer Anwendung ein.
{ "mcpServers": { "npm-helper": { "command": "npx", "args": [ "-y", "@pinkpixel/npm-helper-mcp" ] } } }
  1. Geben Sie den Befehl zum Ausführen des Servers in den MCP-Konfigurationseinstellungen Ihrer Anwendung ein.
npm-helper-mcp

Option 3: Von der Quelle installieren

# 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

Konfiguration:

  1. Kopieren Sie die JSON-Konfiguration und fügen Sie sie in die MCP-Konfigurationsdatei Ihrer Anwendung ein.
{ "mcpServers": { "npm-helper": { "command": "node", "args": [ "/path/to/npm-helper-mcp/dist/index.js" ] } } }
  1. Geben Sie den Befehl zum Ausführen des Servers in den MCP-Konfigurationseinstellungen Ihrer Anwendung ein.
node /path/to/npm-helper-mcp/dist/index.js

Verwendung mit LLMs

Dieser Server folgt dem Model Context Protocol und kann daher von LLMs wie Claude verwendet werden. Der LLM kann die Tools des Servers nutzen, um verschiedene npm-Operationen auszuführen.

Verfügbare Tools

Werkzeug: check_updates

Durchsucht package.json nach veralteten Abhängigkeiten.

Parameter:

  • packagePath (optional): Pfad zur Datei package.json (Standard: ./package.json)
  • filter (optional): Liste der zu prüfenden Paketnamen
  • reject (optional): Liste der auszuschließenden Paketnamen
  • target (optional): Zielversion, auf die aktualisiert werden soll (neueste, neuste, beste, Nebenversion, Patch, Semver)
  • interactive (optional): Aktiviert den interaktiven Modus zur Auswahl von Updates
  • peer (optional): Überprüfen Sie die Peer-Abhängigkeiten der installierten Pakete
  • minimal (optional): Aktualisieren Sie keine neueren Versionen, die bereits durch den Versionsbereich abgedeckt sind
  • packageManager (optional): Zu verwendender Paketmanager (npm, yarn, pnpm, deno, bun, staticRegistry)

Beispiel:

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

Aktualisiert Abhängigkeiten auf die neuesten Versionen.

Parameter:

  • packagePath (optional): Pfad zur Datei package.json (Standard: ./package.json)
  • upgradeType (optional): Zielversion, auf die aktualisiert werden soll (neueste, neuste, beste, Nebenversion, Patch, Semver)
  • interactive (optional): Aktiviert den interaktiven Modus zur Auswahl von Updates
  • peer (optional): Überprüfen Sie die Peer-Abhängigkeiten der installierten Pakete
  • minimal (optional): Aktualisieren Sie keine neueren Versionen, die bereits durch den Versionsbereich abgedeckt sind
  • packageManager (optional): Zu verwendender Paketmanager (npm, yarn, pnpm, deno, bun, staticRegistry)

Beispiel:

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

Überprüft Updates für bestimmte Pakete.

Parameter:

  • packagePath (optional): Pfad zur Datei package.json (Standard: ./package.json)
  • filter (erforderlich): Liste der zu prüfenden Paketnamen
  • upgrade (optional): Ob die Datei package.json aktualisiert oder nur überprüft werden soll
  • minimal (optional): Aktualisieren Sie keine neueren Versionen, die bereits durch den Versionsbereich abgedeckt sind
  • packageManager (optional): Zu verwendender Paketmanager (npm, yarn, pnpm, deno, bun, staticRegistry)

Beispiel:

{ "name": "filter_updates", "arguments": { "filter": ["react", "react-dom"], "upgrade": false, "minimal": true } }
Werkzeug: Konflikte lösen

Behandelt Abhängigkeitskonflikte mithilfe von Peer-Abhängigkeiten.

Parameter:

  • packagePath (optional): Pfad zur Datei package.json (Standard: ./package.json)
  • upgrade (optional): Ob die Datei package.json aktualisiert oder nur überprüft werden soll
  • minimal (optional): Aktualisieren Sie keine neueren Versionen, die bereits durch den Versionsbereich abgedeckt sind
  • packageManager (optional): Zu verwendender Paketmanager (npm, yarn, pnpm, deno, bun, staticRegistry)

Beispiel:

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

Konfiguriert Regeln für Versionsupgrades.

Parameter:

  • packagePath (optional): Pfad zur Datei package.json (Standard: ./package.json)
  • target (erforderlich): Strategie zur Einschränkung der Zielversion (neueste, neuste, beste, Nebenversion, Patch, Semver)
  • removeRange (optional): Entfernt Versionsbereiche aus der endgültigen Paketversion
  • upgrade (optional): Ob die Datei package.json aktualisiert oder nur überprüft werden soll
  • minimal (optional): Aktualisieren Sie keine neueren Versionen, die bereits durch den Versionsbereich abgedeckt sind
  • packageManager (optional): Zu verwendender Paketmanager (npm, yarn, pnpm, deno, bun, staticRegistry)

Beispiel:

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

Installiert iterativ Upgrades und führt Tests durch, um fehlerhafte Upgrades zu identifizieren. Fehlerhafte Upgrades werden automatisch rückgängig gemacht, während funktionierende Upgrades erhalten bleiben.

Parameter:

  • packagePath (optional): Pfad zur Datei package.json (Standard: ./package.json)
  • doctorInstall (optional): Zu verwendendes benutzerdefiniertes Installationsskript (Standard: „npm install“ oder „yarn“)
  • doctorTest (optional): Zu verwendendes benutzerdefiniertes Testskript (Standard: „npm test“)
  • packageManager (optional): Zu verwendender Paketmanager (npm, yarn, pnpm, deno, bun, staticRegistry)

Beispiel:

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

Sucht nach npm-Paketen.

Parameter:

  • query (erforderlich): Suchanfrage für npm-Pakete
  • maxResults (optional): Maximale Anzahl der zurückzugebenden Ergebnisse (Standard: 10)

Beispiel:

{ "name": "search_npm", "arguments": { "query": "react state management", "maxResults": 5 } }
Werkzeug: fetch_package_content

Rufen Sie detaillierte Inhalte von einer NPM-Paketseite ab und analysieren Sie sie.

Parameter:

  • url (erforderlich): URL der npm-Paketseite

Beispiel:

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

Ruft verfügbare Versionen für ein NPM-Paket ab.

Parameter:

  • packageName (erforderlich): Name des npm-Pakets

Beispiel:

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

Ruft detaillierte Informationen zu einem npm-Paket ab.

Parameter:

  • packageName (erforderlich): Name des npm-Pakets

Beispiel:

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

📝 Antwortformat

Alle Tools geben Antworten in einem Standardformat zurück:

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

🆘 Fehlerbehebung

Verbindungsprobleme**:

  • Stellen Sie sicher, dass Ihre LLM-Anwendung für die Verwendung des Model Context Protocol richtig konfiguriert ist.
  • Überprüfen Sie Ihre JSON-Datei auf Fehler oder stellen Sie sicher, dass Ihr Startbefehl korrekt ist.
  • Überprüfen Sie bei lokaler Ausführung den Pfad zur Datei index.js. Verwenden Sie bei Bedarf absolute Pfade.

Hilfe bekommen

Wenn Sie auf Probleme stoßen, die hier nicht behandelt werden:

  • Suchen Sie in den GitHub-Problemen nach ähnlichen Problemen und Lösungen.
  • Erstellen Sie ein neues Problem mit einer detaillierten Beschreibung Ihres Problems.

📄 Lizenz

MIT

🙏 Credits

Hergestellt mit ❤️ von Pink Pixel

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

Ein Model Context Protocol-Server, der Tools für die NPM-Paketverwaltung bereitstellt, darunter Abhängigkeitssuche, Updates, Konfliktlösung und Versionsverwaltung, um KI-Assistenten dabei zu unterstützen, Projektabhängigkeiten sicher zu aktualisieren.

  1. ✨ Funktionen
    1. npm-check-updates Werkzeuge
    2. NPM-Suchtools
  2. 🚀 npm-helper-mcp Installationsanleitung
    1. 📋 Voraussetzungen
    2. 🔧 Konfiguration
    3. Verwendung mit LLMs
    4. 📝 Antwortformat
    5. 🆘 Fehlerbehebung
    6. 📄 Lizenz
    7. 🙏 Credits

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