Package Registry Mcp Server について
Package Registry MCP Server は、Claude や Cursor などの AI アシスタントが NPM、crates.io、NuGet、PyPI、Go モジュールのパッケージレジストリを検索し、最新のパッケージ情報を取得できるようにする MCP サーバーです。GitHub Security Advisory の脆弱性情報も照会できます。
主な機能
- 01NPM、crates.io、NuGet パッケージの検索
- 02PyPI と Go モジュールの詳細情報の取得
- 03各レジストリのバージョン一覧の表示
- 04GitHub Security Advisory による脆弱性の照会
- 05レジストリからのリアルタイムデータの取得
活用シーン
- 01AI アシスタントによる依存パッケージの最新バージョンとライセンスの確認
- 02依存パッケージに既知のセキュリティアドバイザリがあるかの確認
MCP 対応
このプロジェクトは MCP サーバーとして、Claude Code、Cursor、Claude Desktop などの MCP クライアントにパッケージ検索、詳細情報、バージョン一覧、アドバイザリ照会のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
16掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| name | string | はい |
詳細
Package Registry MCP サーバー
AI アシスタントやエージェント(Claude、Cursor、Copilot など)がパッケージレジストリを検索し、 最新のパッケージ情報を取得できるようにする Model Context Protocol(MCP)サーバーです。
はじめに
Cursor
または、Cursor の設定で MCP サーバーを構成できます。
- Cursor の設定を開きます(
Cmd/Ctrl + ,) - 「MCP」を検索するか、「拡張機能」>「MCP」に移動します
- 次の内容で新しいサーバーを追加します。
- 名前:
package-registry - コマンド:
npx - 引数:
["package-registry-mcp"]
- 名前:
Claude Code
Claude Code では、ターミナルで次のコマンドを実行します。
claude mcp add -s user package-registry npx package-registry-mcp
設定すると、パッケージ検索ツールと情報取得ツールを利用できます。
Claude Desktop
claude_desktop_config.json に次の内容を追加して、このサーバーを Claude Desktop に追加します。
{
"mcpServers": {
"package-registry": {
"command": "npx",
"args": ["package-registry-mcp"]
}
}
}
設定ファイルは通常、次の場所にあります。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
設定を追加した後、Claude Desktop を再起動します。
機能
- NPM パッケージを検索
- NPM パッケージの詳細情報を取得
- crates.io(Rust パッケージレジストリ)を検索
- crate の詳細情報を取得
- NuGet パッケージ(.NET パッケージレジストリ)を検索
- NuGet パッケージの詳細情報を取得
- PyPI パッケージ(Python パッケージレジストリ)の詳細情報を取得
- Go モジュール(Go パッケージレジストリ)の詳細情報を取得
- GitHub Security Advisories で脆弱性を検索
- パッケージレジストリからリアルタイムのデータを取得
利用可能なツール
NPM ツール
search-npm-packages
クエリに一致するパッケージを NPM レジストリで検索します。
パラメーター:
query(string):パッケージの検索語limit(number、任意):結果の最大数(1~100、デフォルト:10)
例:
bun tool search-npm-packages '{"query": "react", "limit": 5}'
get-npm-package-details
指定した NPM パッケージの詳細情報を取得します。
パラメーター:
name(string):正確な crate 名
例:
bun tool get-npm-package-details '{"name": "react"}'
次の詳細情報を返します:
- パッケージのメタデータ(名前、説明、バージョン、ライセンス)
- 依存関係(実行時、開発時、ピア)
- メンテナー情報
- リポジトリとホームページへのリンク
- 直近50件のバージョン(新しい順)
list-npm-package-versions
指定した NPM パッケージのすべてのバージョンを一覧表示します。
パラメーター:
name(string):正確な crate 名limit(number、任意):返すバージョンの最大数(1~1000、 デフォルト:100)
例:
bun tool list-npm-package-versions '{"name": "react", "limit": 50}'
返される内容:
- パッケージ名とバージョンの合計数
- リリース日順(新しい順)のすべてのバージョン
- 最新バージョンの情報
crates.io ツール
search-cargo-packages
クエリに一致する Rust クレートを crates.io で検索します。
パラメーター:
query(string):クレートの検索語limit(number, optional):結果の最大数(1~100、デフォルト:10)
例:
bun tool search-cargo-packages '{"query": "serde", "limit": 5}'
get-cargo-package-details
crates.io にある特定のクレートの詳細情報を取得します。
パラメーター:
name(string):正確なクレート名
例:
bun tool get-cargo-package-details '{"name": "serde"}'
次の詳細情報を返します:
- クレートのメタデータ(名前、説明、バージョン、ライセンス)
- キーワードとカテゴリー
- ダウンロード統計(全期間および最近)
- 機能とクレートのサイズ
- リポジトリ、ホームページ、ドキュメントへのリンク
- 直近50バージョン(新しい順)
list-cargo-package-versions
crates.io にある特定のクレートの全バージョンを一覧表示します。
パラメーター:
name(string):正確なクレート名limit(number, optional):返すバージョンの最大数(1~1000、 デフォルト:100)
例:
bun tool list-cargo-package-versions '{"name": "serde", "limit": 50}'
返される情報:
- クレート名とバージョンの総数
- リリース日順(新しい順)に並べた全バージョン
- 最新バージョンと最新の安定版の情報
NuGet ツール
search-nuget-packages
クエリに一致する .NET パッケージを NuGet レジストリで検索します。
パラメーター:
query(string):パッケージの検索語limit(number, optional):結果の最大数(1~100、デフォルト:10)
例:
bun tool search-nuget-packages '{"query": "newtonsoft", "limit": 5}'
get-nuget-package-details
特定の NuGet パッケージの詳細情報を取得します。
パラメーター:
name(string):正確なパッケージ名
例:
bun tool get-nuget-package-details '{"name": "Newtonsoft.Json"}'
次の詳細情報を返します:
- パッケージのメタデータ(名前、説明、バージョン、ライセンス)
- 作成者とプロジェクトの情報
- 対象フレームワークと依存関係
- ダウンロード統計と検証ステータス
- プロジェクト、ライセンス、アイコンの URL
- 直近50バージョン(新しい順)
list-nuget-package-versions
特定の NuGet パッケージの全バージョンを一覧表示します。
パラメーター:
name(string):正確なパッケージ名limit(number, optional):返すバージョンの最大数(1~1000、 デフォルト:100)
例:
bun tool list-nuget-package-versions '{"name": "Newtonsoft.Json", "limit": 50}'
返される情報:
- パッケージ名とバージョンの総数
- リリース日順(新しい順)に並べた全バージョン
- 最新バージョンの情報
PyPI ツール
注:PyPI は JSON 検索 API を提供していないため、サポートされているのはパッケージの詳細情報の取得とバージョン一覧表示のみです。検索する場合は、PyPI のウェブサイト(https://pypi.org/search/)を直接ご利用ください。
get-pypi-package-details
特定の PyPI パッケージの詳細情報を取得します。
パラメーター:
name(string):正確なパッケージ名
例:
bun tool get-pypi-package-details '{"name": "requests"}'
次の詳細情報を返します:
- パッケージのメタデータ(名前、説明、バージョン、ライセンス)
- 作成者とメンテナーの情報
- 依存関係と Python のバージョン要件
- 分類子とキーワード
- プロジェクトの URL とドキュメントへのリンク
- ダウンロード統計
- 脆弱性情報
- 直近50バージョン(新しい順)
list-pypi-package-versions
特定の PyPI パッケージの全バージョンを一覧表示します。
パラメーター:
name(string):正確なパッケージ名limit(number, optional):返すバージョンの最大数(1~1000、 デフォルト:100)
例:
bun tool list-pypi-package-versions '{"name": "django", "limit": 50}'
返される情報:
- パッケージ名とバージョンの総数
- リリース日順(新しい順)に並べた全バージョン
- 最新バージョンの情報
Go ツール
注:pkg.go.dev は JSON 検索 API を提供していないため、サポートされているのはパッケージの詳細情報の取得とバージョン一覧表示のみです。検索する場合は、pkg.go.dev のウェブサイト(https://pkg.go.dev/search/)を直接ご利用ください。
get-golang-package-details
特定の Go モジュール/パッケージの詳細情報を取得します。
パラメーター:
module(string):正確なモジュールパス(例:"github.com/gin-gonic/gin")
例:
bun tool get-golang-package-details '{"module": "github.com/gin-gonic/gin"}'
以下を含む詳細情報を返します:
- モジュールパスと最新バージョン
- 公開日とリポジトリ情報
- VCS(バージョン管理システム)の詳細
- pkg.go.dev と go get コマンドへのリンク
- 直近 50 件のバージョン(新しい順)
list-golang-package-versions
特定の Go モジュール/パッケージのすべてのバージョンを一覧表示します。
パラメーター:
module(string):正確なモジュールパスlimit(number、任意):返すバージョン数の上限(1~1000、既定値:100)
例:
bun tool list-golang-package-versions '{"module": "github.com/gorilla/mux", "limit": 50}'
返される内容:
- モジュールパスとバージョンの合計数
- リリース日順に並べられたすべてのバージョン(新しい順)
- 最新バージョン情報
GitHub Security Advisory ツール
search-github-advisories
GitHub Security Advisory Database を検索して、脆弱性を調べます。
パラメーター:
ecosystem(string、任意):パッケージエコシステムで絞り込みます(npm、pip、maven、nuget、go、rust、rubygems、composer、pub、swift、erlang、actions、other)severity(string、任意):深刻度で絞り込みます(unknown、low、medium、high、critical)type(string、任意):アドバイザリーの種類で絞り込みます(reviewed、malware、unreviewed)cveId(string、任意):CVE 識別子で絞り込みますlimit(number、任意):結果数の上限(1~100、既定値:30)
例:
bun tool search-github-advisories '{"ecosystem": "npm", "severity": "critical", "limit": 5}'
get-github-advisory
特定の GitHub Security Advisory の詳細情報を取得します。
パラメーター:
ghsaId(string):GHSA 識別子(例:GHSA-grv7-fg5c-xmjg)
例:
bun tool get-github-advisory '{"ghsaId": "GHSA-grv7-fg5c-xmjg"}'
以下を含む詳細情報を返します:
- アドバイザリーのメタデータ(GHSA ID、CVE ID、概要、説明)
- 深刻度と CVSS スコア
- 影響を受けるパッケージと脆弱なバージョン範囲
- 修正済みバージョン
- CWE 分類
- 参照情報とクレジット
get-package-advisories
特定のパッケージに影響するすべてのセキュリティアドバイザリーを取得します。
パラメーター:
ecosystem(string):パッケージエコシステム(npm、pip、mavenなど)packageName(string):パッケージ名(例:braces、lodash)severity(string、任意):深刻度で絞り込みますlimit(number、任意):結果数の上限(1~100、既定値:30)
例:
bun tool get-package-advisories '{"ecosystem": "npm", "packageName": "braces"}'
返される内容:
- 指定したパッケージで確認されているすべてのセキュリティアドバイザリー
- 脆弱なバージョン範囲と修正済みバージョン
- 深刻度の評価と CVSS スコア
インストール
パッケージをグローバルにインストールします:
npm install -g package-registry-mcp
または、npx で直接使用します(インストール不要):
npx package-registry-mcp
コントリビューション
開発環境のセットアップとガイドラインについては、CONTRIBUTING.md を参照してください。
要件
- Node.js 18+ または Bun ランタイム
- パッケージレジストリへのアクセスに必要なインターネット接続
ライセンス
詳細については LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。