NPM MCP Server について
NPM MCP Serverは、検索ツールと人気パッケージのリソースを通じて、MCPクライアントにnpmパッケージ情報を提供します。パッケージの詳細確認や人気パッケージの発見に利用できます。
主な機能
- 01npmパッケージの詳細検索
- 02バージョン、作者、リポジトリ情報の取得
- 03人気のnpmパッケージ10件の一覧
- 04リソースによるパッケージ概要の提供
活用シーン
- 01インストール前のパッケージ情報の確認
- 02依存関係とリポジトリリンクの確認
- 03人気のnpmパッケージの発見
MCP 対応
このサーバーは`searchNpmPackage`ツールと、人気パッケージ10件を一覧する`npm://popular`リソースを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
NPM MCP サーバー
npm パッケージの情報を取得する機能を提供する、Model Context Protocol(MCP)サーバーです。
機能
- パッケージ検索:npm パッケージの詳細情報を取得するツール
- 人気パッケージ:最も人気のある npm パッケージを 10 件一覧表示するリソース
インストール
Smithery 経由でのインストール
Smithery 経由で NPM MCP Server を Claude Desktop に自動的にインストールするには、次の手順に従います。
npx -y @smithery/cli install @mateusribeirocampos/npm-mcp-server --client claude
手動インストール
npm install
ビルド
npm run build
実行
npm start
開発時:
npm run dev
使用方法
サーバーは、次の 2 つの主要な機能を提供します。
1. searchNpmPackage ツール
特定の npm パッケージの詳細情報を取得します。このツールは、次のような包括的なパッケージ情報を返します。
- パッケージ名
- 最新バージョン
- 説明
- 作者情報
- ホームページの URL
- リポジトリの URL
- 依存関係の一覧
使用例:
const result = await server.tools.searchNpmPackage({ packageName: "react" });
応答例:
{
"name": "react",
"version": "18.2.0",
"description": "React is a JavaScript library for building user interfaces.",
"author": "Meta Open Source",
"homepage": "https://reactjs.org/",
"repository": {
"url": "https://github.com/facebook/react.git"
},
"dependencies": {
"loose-envify": "^1.1.0"
}
}
2. popular-packages リソース
人気順に並べた、最も人気のある npm パッケージ 10 件を一覧表示します。一覧の各パッケージには、次の情報が含まれます。
- パッケージ名
- 説明
- 現在のバージョン
リソース URI:npm://popular
応答例:
[
{
"name": "lodash",
"description": "Lodash modular utilities",
"version": "4.17.21"
},
// ... more packages
]
AI モデルとの連携
この MCP サーバーを AI モデルと連携すると、次のことができます。
- インストール前にパッケージ情報を取得する
- 異なるパッケージバージョンを比較する
- 依存関係を分析する
- 人気のある代替パッケージを見つける
- パッケージの概要をすばやく取得する
技術
- TypeScript
- Model Context Protocol SDK
- Node-fetch
- Zod
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。