MCP Server for NPM Package Info について
npm パッケージの構造化情報を返す MCP サーバーです。IDE 連携や AI エージェント向けで、MCP サーバーのセキュリティ学習用に意図的な脆弱性が含まれています。
主な機能
- 01npm パッケージ情報の検索
- 02構造化されたパッケージデータの返却
- 03Streamable HTTP トランスポート
- 04ステートフルなセッション管理
活用シーン
- 01IDE 連携からパッケージの詳細を取得
- 02AI エージェント経由で npm パッケージを検索
- 03意図的に脆弱性を含むプロジェクトで MCP サーバーのセキュリティを学習
MCP 対応
Streamable HTTP 経由で `getNpmPackageInfo` ツールを MCP クライアントに公開し、ステートフル接続のセッション管理にも対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
NPM パッケージ情報を取得する MCP サーバー
npm パッケージ情報を取得するツールを提供する Model Context Protocol サーバーです。
セキュリティに関する免責事項:このリポジトリには意図的に脆弱性が含まれており、MCP サーバーのセキュリティを学ぶための教材として使用することを目的としています。
MCP サーバーの使い方
以下のように、エージェントの MCP 設定で MCP サーバーを定義します。
{
"servers": {
"npm-and-node-tools": {
"type": "http",
"url": "http://localhost:3500/mcp"
}
},
"inputs": []
}
機能
- MCP を使用して
getNpmPackageInfoツールを公開します - リモート接続に HTTP(ストリーミング可能な HTTP)トランスポートを使用します
- 構造化されたパッケージ情報を返します
- ステートフル接続のセッション管理をサポートします
インストール
npm install
使い方
サーバーを起動します。
npm start
サーバーはデフォルトでポート 3000 でリッスンを開始します。PORT 環境変数を設定することで、ポートを変更できます。
PORT=3500 npm start
このサーバーは、HTTP 経由の Model Context Protocol をサポートする IDE 統合機能や AI エージェントでの使用を想定しています。
ツール:getNpmPackageInfo
パラメーター:
packageName(文字列):検索する npm パッケージの名前
戻り値:
packageInfo(オブジェクト):パッケージについて取得可能なすべての情報を含む JSON オブジェクト
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。