pkgproof について
pkgproofは、インストール前にnpmおよびPyPIのパッケージを確認するMCPサーバーです。`verify_package`ツールはセキュリティとリリースを検査し、出典付きの理由と判定を返します。
主な機能
- 01アドバイザリーとインストールスクリプトの確認
- 02typosquatとcombosquatの検出
- 03スコープとリポジトリの確認
- 04リリース間の変更点の確認
- 05出典付き理由と判定の返却
活用シーン
- 01npm依存関係のインストール前確認
- 02PyPIパッケージの利用前確認
- 03特定バージョンのレビュー
- 04疑わしいパッケージ名の選別
MCP 対応
MCPクライアントに`verify_package`ツールを公開します。パッケージ名と任意のバージョン、エコシステムを受け取り、判定と構造化データを返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @pkgproof/mcpPKGPROOF_ALGORAND_PRIVATE_KEYシークレットBase64 account key of a throwaway Algorand wallet holding USDC (ASA 31566704) on Algorand Mainnet. Not a 25-word mnemonic. Optional: the first verification each day is free without any key. This is the rail payments prefer.PKGPROOF_BASE_PRIVATE_KEYシークレット0x-prefixed private key of a throwaway EVM wallet holding USDC on Base. Optional, and only used when no Algorand key is configured. Needs no ETH: payment is an off-chain signature and the facilitator pays the gas.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
1掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| name | string | はい | パッケージ名。スコープ付き、スコープなしのどちらでも指定できます:left-pad、@scope/thing。 |
| version | string | いいえ | 検証する正確なバージョン。省略すると、特定のリリースではなくパッケージを検証します。 |
| ecosystem | enum | いいえ | パッケージのエコシステム。npm のみ対応しています。npm |
詳細
pkgproof-mcp
npm または PyPI のパッケージをインストールする前に検証する MCP サーバーです。
ツールは verify_package ひとつです。pkgproof.net に対して、アドバイザリ、インストールスクリプト、タイポスクワッティング名とコンボスクワッティング名、スコープと宣言されたリポジトリのチェック、リリースとその前のバージョンとの差異を含む9つのチェックを実行し、safe、caution、block、does_not_exist のいずれかを回答します。すべての理由には、根拠かヒューリスティックかのラベルと情報源が付いています。
毎日の最初の検証は無料で、設定も一切不要です。 アカウントもキーも登録も必要ありません。同じ日のそれ以降の呼び出しは、ウォレットを設定している場合に限り、x402 経由で呼び出しごとに $0.05 の USDC で支払います。
インストール
インストールもホスティングも不要です。MCP クライアントがサーバーを実行します。Node 22 以降が必要です。
0.1.1 以降のすべてのリリースは CI によってビルドおよび署名され、tarball と、それを生成したコミットおよびワークフロー実行を結び付ける npm プロベナンス証明が付与されています。他のパッケージを審査するツールも、同じ方法で検証できるべきです。
npm audit signatures
このサーバーは net.pkgproof/pkgproof としてMCP Registryにも登録されています。
無料、キー不要
これを MCP クライアントの設定に追加すれば完了です。
{
"mcpServers": {
"pkgproof": {
"command": "npx",
"args": ["-y", "@pkgproof/mcp"]
}
}
}
Claude Code
リポジトリ自体がプラグインマーケットプレイスなので、編集する JSON はありません。
/plugin marketplace add jahija-okan/pkgproof-mcp
/plugin install pkgproof@pkgproof
プラグインは、リリース時に対応するバージョンに固定された公開済みパッケージを実行します。その日の npx の解決結果に左右されません。
Claude Desktop
リリースには、リリースページからダウンロードできる、ビルド済みの .mcpb バンドルが含まれています。ダウンロードして開くと、Desktop がサーバーをインストールし、ウォレットキーをプレーンテキストの設定ファイルではなく、OS のシークレットストアに保存します。
ツール
verify_package のみです。1回の呼び出しで1件を検証するため、1日の利用枠は HTTP 経由の場合と同じです。
| 引数 | 必須 | 意味 |
|---|---|---|
name | はい | パッケージ名:left-pad、@scope/thing(npm)、requests(PyPI)。 |
version | いいえ | 正確なバージョン。特定のリリースではなくパッケージを検証する場合は省略します。 |
ecosystem | いいえ | npm(デフォルト)または pypi。 |
回答は2種類です。エージェントが読む要約と、サービス独自の JSON が structuredContent に含まれます。宣言された出力スキーマに従い、判定、情報源を含むすべての理由、判定の計算時刻が記載されています。
呼び出しは一度に1件ずつ実行されます。サービスでは、支払者ごとに実行中の検証は1件までと定められており、2件目の呼び出しは拒否されます。そのため、依存関係のリストを確認するエージェントは失敗せず、ここで順番待ちになります。
2つのネットワーク
pkgproof は、それぞれ専用のエンドポイントを持つ2つのチェーンに対応しています。互換性はありません。使用する鍵の形式が異なり、無料枠があるのは片方だけです。
| Algorand Mainnet | Base | |
|---|---|---|
| エンドポイント | x402-algo.pkgproof.net | x402.pkgproof.net |
| ネットワーク | algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8= | eip155:8453 |
| 資産 | USDC、ASA 31566704 | USDC、0x8335…2913 |
| 価格 | 検証1回あたり$0.05 | 検証1回あたり$0.05 |
| 無料枠 | なし。呼び出しはすべて有料です | あり。呼び出し元ごとに1日1回の判定 |
| 鍵の環境変数 | PKGPROOF_ALGORAND_PRIVATE_KEY | PKGPROOF_BASE_PRIVATE_KEY |
| 鍵の形式 | base64アカウント鍵 | 0x接頭辞付きのEVM鍵 |
| 支払いごとのネットワーク手数料 | なし。スポンサー提供 | なし。スポンサー提供 |
| 初回セットアップ | 約0.3 ALGOと、資産のオプトイン | なし。USDCを送るだけです |
サーバーの選択方法。 無料の呼び出しに応答するのはBaseだけなので、無料枠の試行は常にBaseに送られます。支払いではAlgorandが優先され、Algorandの鍵が設定されていない場合にのみBaseにフォールバックします。そのため、どちらかのチェーンのウォレットを使えます。また、どちらも設定していなくても、1日1回の判定を受けられます。
ウォレットを使った有料利用
警告
メインのウォレットではなく、使い捨てのウォレットに資金を入れてください。 鍵はMCPクライアントの設定ファイルに平文で保存されます。このファイルは暗号化されたストアではなく、ファイルを読み取れるものなら誰でもウォレットの資金を使えます。パッケージ検証に使ってもよい金額だけを入れ、それ以上は入れないでください。このサーバーには意図的に支出上限がないため、上限となるのはウォレットの残高だけです。
Algorand(優先)
検証でアカウントのALGOが消費されることはありません。 402レスポンスには手数料の支払者が指定されているため、ファシリテーターがすべての支払いでネットワーク手数料を負担し、ALGO残高は変わりません。
{
"mcpServers": {
"pkgproof": {
"command": "npx",
"args": ["-y", "@pkgproof/mcp"],
"env": {
"PKGPROOF_ALGORAND_PRIVATE_KEY": "..."
}
}
}
}
Base
使い捨てウォレットのアドレスに、Base上のUSDCを送金してください。ETHは不要です。支払いはオフチェーン署名で行われ、ガス代はファシリテーターが負担します。
{
"mcpServers": {
"pkgproof": {
"command": "npx",
"args": ["-y", "@pkgproof/mcp"],
"env": {
"PKGPROOF_BASE_PRIVATE_KEY": "0x..."
}
}
}
}
サーバーは常に無料の呼び出しを最初に試すため、設定したウォレットに請求されるのは、その日の無料検証を使い切った後だけです。
設定
| 変数 | 必須 | 意味 |
|---|---|---|
PKGPROOF_ALGORAND_PRIVATE_KEY | いいえ | Mainnet上にUSDCを保有する使い捨てのAlgorandアカウント。base64形式です。設定されている場合、支払いに優先して使用されます。 |
PKGPROOF_BASE_PRIVATE_KEY | いいえ | Base上にUSDCを保有する使い捨てのEVMウォレット。0x接頭辞付きです。Algorandの鍵が設定されていない場合に使用されます。 |
どちらも設定されていない場合、サーバーは無料枠のみで動作し、その日の検証を使い切るとその旨を通知します。
簡単なセットアップ手順
Node 22 以降が必要です。上記の注意に従い、使い捨てアカウントを使用してください。
-
使い捨ての Algorand アカウントを生成します。 新しいアカウントをお使いのマシン上に作成する、小さなヘルパースクリプトをダウンロードします。
git clone https://github.com/jahija-okan/pkgproof-x402-algorand cd pkgproof-x402-algorand npm install npx tsx algo-account.ts newADDRESS、KEY_B64、MNEMONICが一度だけ表示され、何も保存されません。パスワードマネージャーなど、安全な場所に保管してください。以下では、25 単語のMNEMONICではなく、必ずKEY_B64を使用してください。 -
ADDRESSに 0.3 ALGO を送金します。 取引所で ALGO を購入し、Algorand ネットワーク経由で出金してください。新しいアカウントは残高がなく、ALGO を保有するまで何もできません。この金額でアカウントの最低残高とオプトイン手数料をまかなえます。必要なのは一度だけで、検証自体に ALGO はかかりません。 -
アカウントを USDC にオプトインします。 Algorand アカウントは、資産を受け取る前にその資産へのオプトインが必要です。そのため、オプトインしていないアカウントに送金された USDC は届きません。このコマンドは、お使いのキーを使ってオプトインに署名します。
ALGOD_URL=https://mainnet-api.algonode.cloud ASSET_ID=31566704 \ ALGO_PRIVATE_KEY=<KEY_B64> npx tsx algo-account.ts optin -
Algorand 上の USDC を
ADDRESSに送金します。 取引所から USDC を出金する際は、Base や Ethereum ではなく、Algorand ネットワークを選んでください。検証 1 回あたり $0.05 かかるため、$1 で 20 回検証できます。 -
両方の残高が届いたことを確認します。 ネットワークからアカウント情報を読み込み、ALGO と USDC の残高を表示します。
NOT OPTED INと表示された場合は、手順 3 が完了していません。ALGOD_URL=https://mainnet-api.algonode.cloud ASSET_ID=31566704 \ npx tsx algo-account.ts balance <ADDRESS> -
サーバーを Claude Code に追加します。 これにより pkgproof が MCP サーバーとして登録され、キーが渡されます。キーはお使いのマシン上で支払いに署名するために使われ、外部に送信されることはありません。
--scope userを指定するとすべてのプロジェクトにインストールされます。指定しない場合、Claude Code は現在のディレクトリにのみサーバーを登録します。claude mcp add --scope user pkgproof -e PKGPROOF_ALGORAND_PRIVATE_KEY=<KEY_B64> -- npx -y @pkgproof/mcp -
検証を実行します。
claudeを起動し、次のように尋ねます。check package crossenv with pkgproof。Claude はverify_packageツールを呼び出し、判定とその理由を報告します。
毎日最初の検証は無料で、Base 経由で実行されます。それ以降の検証は Algorand アカウントから支払われます。
プライバシーポリシー
検証ごとに HTTPS リクエストを 1 回送信します。リクエストに含まれるのは、確認を依頼したパッケージ名、バージョン、エコシステムのみです。アカウント情報、テレメトリー、ファイルの内容は送信しません。ウォレットキーはローカルで署名に使用され、送信されることはありません。全文は PRIVACY.md をご覧ください。
開発
npm install
npm test # unit tests, and a real client handshake over an in-memory transport
npm run lint # typecheck, formatting, eslint
npm run inspector # build, then the MCP inspector against the local server
どのテストでも支払いは発生しません。テストスイートはそれを単に信用するのではなく、確実に守ります。ネットワークに接続しようとするテストは失敗し、環境にウォレットキーが設定されている場合は実行自体が開始されません。支払い処理は、作成した 402 と公開済みのテストアカウントを使って検証されます。そのため、EIP-3009 認証への署名はローカルで行われ、ウォレットを使わずにペイロードとヘッダーを確認できます。
リンク
- サービスとドキュメント:https://pkgproof.net/docs
- MCP Registry の登録情報: https://registry.modelcontextprotocol.io/v0/servers?search=pkgproof
- OpenAPI、Base レール:https://x402.pkgproof.net/openapi.json
- OpenAPI、Algorand レール:https://x402-algo.pkgproof.net/openapi.json
ライセンス
Apache-2.0。変更したバージョンを配布する場合、第 4(b) 項により、変更したファイルに印を付ける必要があります。この名前を引き継ぐセキュリティツールのフォークが、元のものと誤認されることがあってはなりません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。