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 ヘルパー - AI アシスタントの npm パッケージ管理を支援するツール。🤖

NPM依存関係管理のためのモデルコンテキストプロトコルサーバー。このサーバーは、NPMパッケージ検索ツールとnpmパッケージ更新ツールを提供し、プロジェクトの依存関係を最新の状態に保ち、競合や煩わしさなく、互換性のある最新バージョンに更新します。

プロジェクトのpackage.jsonを安全にアップグレードするために、アシスタントは「peer」パラメータをtrueに設定してupgradePackagetsツールを呼び出すことができます。これにより、すべての依存関係が最新バージョンに更新されるとは限りませんが、エラーなく、互換性のある最新バージョンに安全にアップグレードされます。

すべての依存関係を完全にアップグレードしたい場合は、アシスタントに多くのツールとパラメータが用意されており、安全に利用できます。パラメータのオプションと例は、以下の「利用可能なツール」セクションに記載されています。また、「docs」ディレクトリにも詳細情報が記載されています。

プロジェクトに追加する新しいパッケージのオプションを検討している場合や、特定のパッケージに関する情報を探している場合は、npmjs から情報を検索および取得するためのツールも利用できます。

✨ 特徴

npm-check-updates ツール

  • 🔍 checkUpdates : package.json をスキャンして古い依存関係を検出する
  • 🚀 upgradePackages : 依存関係を最新バージョンにアップグレードします
  • 🔎 filterUpdates : 特定のパッケージの更新をチェックする
  • 🔄resolveConflicts : 依存関係の競合を処理する
  • ⚙️ setVersionConstraints : バージョンアップグレードルールを設定する
  • 🩺 runDoctor : アップグレードとテストを繰り返し実行して、重大な変更を検出します

NPM検索ツール

  • 🔍 searchPackages : npmjs.org レジストリでパッケージを検索
  • 📝 fetchPackageContent : npm パッケージページからコンテンツをスクレイピングして抽出する
  • 📋 getPackageVersions : パッケージのバージョン履歴を取得する
  • 📝 getPackageDetails : 詳細なパッケージメタデータを取得する

🚀 npm-helper-mcp インストールガイド

このガイドは、npm-helper-mcp サーバーのセットアップと実行に役立ちます。

📋 前提条件

始める前に、以下がインストールされていることを確認してください。

  • Node.js (バージョン 18.x 以降)
  • npm (バージョン 8.x 以降)

🔧 構成

npm-helper-mcp サーバーはモデル コンテキスト プロトコルを実装しており、これによりプロトコルをサポートする LLM アプリケーションと通信できるようになります。

設定はアプリケーションによって異なります。一般的に、ほとんどのMCPクライアントアプリケーションには.json設定ファイル、またはサーバーを実行するコマンドを入力する場所が用意されています。ほとんどの場合、これら2つのオプションのいずれかで問題なく動作します。

オプション1: npxで実行

サーバーを使用する最も簡単な方法は、ローカルインストールが不要なnpxで実行することです。MCPクライアントに応じて、以下の2つの方法のいずれかを使用してください。

  1. json 構成をコピーして、アプリケーションの mcp 構成ファイルに貼り付けます。
{ "mcpServers": { "npm-helper": { "command": "npx", "args": [ "-y", "@pinkpixel/npm-helper-mcp" ] } } }
  1. アプリケーションの mcp 構成設定でサーバーを実行するコマンドを入力します。
npx -y @pinkpixel/npm-helper-mcp

オプション2: ローカルインストール

サーバーをローカルにインストールする場合は、次のコマンドを使用します。

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

構成:

  1. json 構成をコピーして、アプリケーションの mcp 構成ファイルに貼り付けます。
{ "mcpServers": { "npm-helper": { "command": "npx", "args": [ "-y", "@pinkpixel/npm-helper-mcp" ] } } }
  1. アプリケーションの mcp 構成設定でサーバーを実行するコマンドを入力します。
npm-helper-mcp

オプション3: ソースからインストールする

# 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

構成:

  1. json 構成をコピーして、アプリケーションの mcp 構成ファイルに貼り付けます。
{ "mcpServers": { "npm-helper": { "command": "node", "args": [ "/path/to/npm-helper-mcp/dist/index.js" ] } } }
  1. アプリケーションの mcp 構成設定でサーバーを実行するコマンドを入力します。
node /path/to/npm-helper-mcp/dist/index.js

LLMと併用する

このサーバーはモデルコンテキストプロトコルに準拠しており、ClaudeのようなLLMで使用できます。LLMはサーバーのツールを使用して、さまざまなnpm操作を実行できます。

利用可能なツール

ツール: check_updates

package.json をスキャンして、古い依存関係がないか確認します。

パラメータ:

  • packagePath (オプション): package.json ファイルへのパス (デフォルト: ./package.json)
  • filter (オプション): チェックするパッケージ名のリスト
  • reject (オプション): 除外するパッケージ名のリスト
  • target (オプション): アップグレードする対象バージョン (latest、newest、greatest、minor、patch、semver)
  • interactive (オプション):更新を選択するためのインタラクティブモードを有効にする
  • peer (オプション): インストールされたパッケージのピア依存関係をチェックする
  • minimal (オプション):バージョン範囲で既に満たされている新しいバージョンをアップグレードしない
  • packageManager (オプション): 使用するパッケージ マネージャー (npm、yarn、pnpm、deno、bun、staticRegistry)

例:

{ "name": "check_updates", "arguments": { "packagePath": "./package.json", "filter": ["react", "lodash"], "peer": true, "minimal": true, "packageManager": "npm" } }
ツール: アップグレードパッケージ

依存関係を最新バージョンにアップグレードします。

パラメータ:

  • packagePath (オプション): package.json ファイルへのパス (デフォルト: ./package.json)
  • upgradeType (オプション): アップグレードする対象バージョン (latest、newest、greatest、minor、patch、semver)
  • interactive (オプション):更新を選択するためのインタラクティブモードを有効にする
  • peer (オプション): インストールされたパッケージのピア依存関係をチェックする
  • minimal (オプション):バージョン範囲で既に満たされている新しいバージョンをアップグレードしない
  • packageManager (オプション): 使用するパッケージ マネージャー (npm、yarn、pnpm、deno、bun、staticRegistry)

例:

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

特定のパッケージの更新を確認します。

パラメータ:

  • packagePath (オプション): package.json ファイルへのパス (デフォルト: ./package.json)
  • filter (必須): チェックするパッケージ名のリスト
  • upgrade (オプション):package.jsonファイルをアップグレードするか、単にチェックするか
  • minimal (オプション):バージョン範囲で既に満たされている新しいバージョンをアップグレードしない
  • packageManager (オプション): 使用するパッケージ マネージャー (npm、yarn、pnpm、deno、bun、staticRegistry)

例:

{ "name": "filter_updates", "arguments": { "filter": ["react", "react-dom"], "upgrade": false, "minimal": true } }
ツール: 競合を解決する

ピア依存関係を使用して依存関係の競合を処理します。

パラメータ:

  • packagePath (オプション): package.json ファイルへのパス (デフォルト: ./package.json)
  • upgrade (オプション):package.jsonファイルをアップグレードするか、単にチェックするか
  • minimal (オプション):バージョン範囲で既に満たされている新しいバージョンをアップグレードしない
  • packageManager (オプション): 使用するパッケージ マネージャー (npm、yarn、pnpm、deno、bun、staticRegistry)

例:

{ "name": "resolve_conflicts", "arguments": { "upgrade": true, "packageManager": "npm" } }
ツール: set_version_constraints

バージョンアップグレードルールを構成します。

パラメータ:

  • packagePath (オプション): package.json ファイルへのパス (デフォルト: ./package.json)
  • target (必須): ターゲットバージョン制約戦略(latest、newest、greatest、minor、patch、semver)
  • removeRange (オプション): 最終パッケージバージョンからバージョン範囲を削除します
  • upgrade (オプション):package.jsonファイルをアップグレードするか、単にチェックするか
  • minimal (オプション):バージョン範囲で既に満たされている新しいバージョンをアップグレードしない
  • packageManager (オプション): 使用するパッケージ マネージャー (npm、yarn、pnpm、deno、bun、staticRegistry)

例:

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

アップグレードを反復的にインストールし、テストを実行して、問題のあるアップグレードを特定します。問題のあるアップグレードは自動的に元に戻し、正常に動作するアップグレードはそのまま維持します。

パラメータ:

  • packagePath (オプション): package.json ファイルへのパス (デフォルト: ./package.json)
  • doctorInstall (オプション): 使用するカスタムインストールスクリプト (デフォルト: 'npm install' または 'yarn')
  • doctorTest (オプション): 使用するカスタムテストスクリプト (デフォルト: 'npm test')
  • packageManager (オプション): 使用するパッケージ マネージャー (npm、yarn、pnpm、deno、bun、staticRegistry)

例:

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

npm パッケージを検索します。

パラメータ:

  • query (必須): npm パッケージの検索クエリ
  • maxResults (オプション): 返される結果の最大数 (デフォルト: 10)

例:

{ "name": "search_npm", "arguments": { "query": "react state management", "maxResults": 5 } }
ツール: fetch_package_content

npm パッケージ ページから詳細なコンテンツを取得して解析します。

パラメータ:

  • url (必須): npm パッケージページの URL

例:

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

npm パッケージの利用可能なバージョンを取得します。

パラメータ:

  • packageName (必須): npm パッケージの名前

例:

{ "name": "get_package_versions", "arguments": { "packageName": "react" } }
ツール: get_package_details

npm パッケージに関する詳細情報を取得します。

パラメータ:

  • packageName (必須): npm パッケージの名前

例:

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

📝 レスポンスフォーマット

すべてのツールは標準形式で応答を返します。

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

🆘 トラブルシューティング

接続の問題**:

  • LLM アプリケーションがモデル コンテキスト プロトコルを使用するように正しく構成されていることを確認します。
  • .json ファイルにエラーがないか確認するか、開始コマンドが正しいことを確認してください。
  • ローカルで実行している場合は、index.js ファイルへのパスを確認してください。必要に応じて絶対パスを使用してください。

ヘルプの取得

ここに記載されていない問題が発生した場合は、次の手順に従ってください。

  • 同様の問題と解決策については、 GitHub の問題を確認してください。
  • 問題の詳細な説明を記載した新しい問題を作成します。

📄 ライセンス

マサチューセッツ工科大学

🙏 クレジット

Pink Pixel が ❤️ を込めて作りました

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

AI アシスタントがプロジェクトの依存関係を安全にアップグレードできるように、依存関係の検索、更新、競合解決、バージョン管理などの NPM パッケージ管理ツールを提供するモデル コンテキスト プロトコル サーバー。

  1. ✨ 特徴
    1. npm-check-updates ツール
    2. NPM検索ツール
  2. 🚀 npm-helper-mcp インストールガイド
    1. 📋 前提条件
    2. 🔧 構成
    3. LLMと併用する
    4. 📝 レスポンスフォーマット
    5. 🆘 トラブルシューティング
    6. 📄 ライセンス
    7. 🙏 クレジット

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