mcpField
P
pp-pypi

pp-pypi

github.com/mvanhorn開発2.1k261 回インストール今日更新
リポジトリ

pp-pypi について

PyPI データの確認と分析に使う、読み取り専用の Printing Press CLI スキルです。認証不要で、エージェント向け JSON 出力、ローカル SQLite を使うワークフロー、RSS フィードに対応します。

主な機能

  1. 01PyPI の読み取り専用調査
  2. 02新着パッケージと更新 RSS
  3. 03自然言語によるコマンド検索
  4. 04エージェントモードの JSON とフィールド選択
  5. 05ローカル SQLite の同期と検索
  6. 06ファイルや Webhook への出力

活用シーン

  1. 01最近追加されたパッケージの確認
  2. 02PyPI の最近の更新の追跡
  3. 03エージェントのワークフローから PyPI データを照会

MCP 対応

README には、PyPI MCP サーバー `pypi-pp-mcp` のインストールと Claude Code への登録方法が記載されています。提供するリソースやツールの詳細は記載されていません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-pypi

インストール後、Claude Code で/pp-pypiを入力して読み込まれたか確認します。

詳細

Pypi — Printing Press CLI

前提条件:CLI をインストールする

このスキルでは、pypi-pp-cli バイナリを使用します。このスキルのコマンドを実行する前に、CLI がインストールされていることを必ず確認してください。 インストールされていない場合は、先にインストールしてください。

  1. Printing Press インストーラーを使ってインストールします。バイナリの既定の配置先は、macOS/Linux では $HOME/.local/bin、Windows では %LOCALAPPDATA%\Programs\PrintingPress\bin です。
    npx -y @mvanhorn/printing-press-library install pypi --cli-only
    
  2. 確認します:pypi-pp-cli --version
  3. 報告されたインストールディレクトリが、このスキルを実行するエージェント/ランタイムの $PATH に含まれていることを確認してください。

npx でのインストールに失敗した場合(Node がない、オフラインなど)は、Go を直接インストールしてください(Go 1.26.6 以降が必要です)。

go install github.com/mvanhorn/printing-press-library/library/developer-tools/pypi/cmd/pypi-pp-cli@latest

インストール後に --version が「command not found」と報告する場合、ランタイムからバイナリディレクトリが $PATH 経由で見えていません。確認が成功するまで、スキルのコマンドを実行しないでください。

この CLI を使用しない場合

リモートの状態を作成、更新、削除、公開したり、コメント、賛成票、招待、注文、メッセージ送信、予約、購入を行ったり、変更したりする必要があるリクエストでは、この CLI を有効にしないでください。この印刷用 CLI が提供するのは、確認、エクスポート、同期、分析を行う読み取り専用コマンドです。

コマンドリファレンス

pypi — pypi を管理します

rss — 最近の更新と新しいパッケージの RSS フィード

  • pypi-pp-cli rss newest-packages — PyPI に追加された最新パッケージの RSS フィードです。
  • pypi-pp-cli rss recent-updates — PyPI で最近更新されたパッケージの RSS フィードです。
適切なコマンドを見つける

実行したいことは分かっているものの、どのコマンドを使えばよいか分からない場合は、CLI に直接問い合わせてください。

pypi-pp-cli which "<capability in your own words>"

which は、自然言語による機能の問い合わせを、この CLI の厳選された機能インデックスから最適なコマンドに対応付けます。終了コード 0 は少なくとも 1 つ一致したことを示し、終了コード 2 は確度の高い一致がなかったことを示します。その場合は --help を使うか、より絞り込んだ問い合わせをしてください。

認証の設定

認証は必要ありません。

pypi-pp-cli doctor を実行して、設定を確認してください。

エージェントモード

任意のコマンドに --agent を追加してください。次のオプションに展開されます:--json --compact --no-input --no-color --yes。

  • パイプで利用可能 — stdout に JSON、stderr にエラーを出力します

  • フィルタリング可能 — --select でフィールドを絞り込めます。ドット区切りのパスはネストされた構造をたどり、配列は各要素をたどります。冗長な API でコンテキストを小さく保つのに役立ちます。

    pypi-pp-cli rss newest-packages --agent --select id,name,status
    
  • プレビュー可能 — --dry-run で、送信せずにリクエストを表示します

  • オフラインに対応 — 同期/検索コマンドでは、利用可能な場合にローカルの SQLite ストアを使用できます

  • 非対話型 — プロンプトは表示されず、すべての入力はフラグで指定します

  • 読み取り専用 — 作成、更新、削除、公開、コメント、賛成票、招待、注文、送信、その他の変更を伴うリクエストには、この CLI を使用しないでください

レスポンスのエンベロープ

ローカルストアまたは API から読み取るコマンドは、出力を出所情報のエンベロープでラップします。

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

データの取得には .results を解析し、ライブかローカルかを確認するには .meta.source を参照してください。人が読める N results (live) の概要は、stdout が端末の場合にのみ stderr に出力されます。パイプ/エージェントの利用者には、stdout に純粋な JSON が出力されます。

エージェントからのフィードバック

この CLI に問題があることにあなた(またはエージェント)が気付いた場合は、記録してください。

pypi-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
pypi-pp-cli feedback --stdin < notes.txt
pypi-pp-cli feedback list --json --limit 10

エントリはローカルの ~/.pypi-pp-cli/feedback.jsonl に保存されます。PYPI_FEEDBACK_ENDPOINT が設定され、かつ --send が渡されているか、PYPI_FEEDBACK_AUTO_SEND=true の場合を除き、POST されることはありません。既定の動作はローカルのみです。

バグ報告ではなく、意外だったことを書いてください。短く、具体的に、1 行で。それが積み重なっていく部分です。

出力の配信

すべてのコマンドで --deliver <sink> を指定できます。出力は標準出力に加えて(または標準出力の代わりに)指定したシンクに送られるため、エージェントはコマンドの結果を手作業でパイプ処理せずに振り分けられます。シンクは次の3種類に対応しています。

シンク動作
stdoutデフォルト。標準出力のみに書き込みます
file:<path>出力を <path> にアトミックに書き込みます(一時ファイルを作成してからリネーム)
webhook:<url>出力本文を URL に POST します(--compact の場合は application/json または application/x-ndjson)

不明なスキームは、対応しているスキームの一覧を示す構造化エラーとともに拒否されます。Webhook の失敗時にはゼロ以外の終了コードが返され、URL と HTTP ステータスが標準エラーに記録されます。

名前付きプロファイル

プロファイルとは、保存されたフラグ値のセットで、複数回の実行で再利用できます。スケジュールされたエージェントが毎回同じ設定で同じコマンドを呼び出す場合に使用します。これは HeyGen の「Beacon」パターンです。

pypi-pp-cli profile save briefing --json
pypi-pp-cli --profile briefing rss newest-packages
pypi-pp-cli profile list --json
pypi-pp-cli profile show briefing
pypi-pp-cli profile delete briefing --yes

明示的に指定したフラグは、常にプロファイルの値より優先されます。プロファイルの値はデフォルトより優先されます。agent-context は available_profiles にすべての利用可能なプロファイルを一覧表示するため、情報を参照するエージェントは実行時にそれらを見つけられます。

終了コード

コード意味
0成功
2使用方法のエラー(引数が誤っています)
3リソースが見つかりません
5API エラー(上流で問題が発生しました)
7レート制限中(待機してから再試行してください)
10設定エラー

引数の解析

$ARGUMENTS を解析します。

  1. 空、help、または --help → pypi-pp-cli --help の出力を表示します
  2. install で始まる場合 → mcp で終わる場合は MCP のインストール、それ以外の場合は上記の「前提条件」を参照してください
  3. その他の場合 → 直接使用(--agent を付けて CLI コマンドとして実行)

MCP サーバーのインストール

  1. MCP サーバーをインストールします。
    go install github.com/mvanhorn/printing-press-library/library/other/pypi-pp-cli/cmd/pypi-pp-mcp@latest
    
  2. Claude Code に登録します。
    claude mcp add pypi-pp-mcp -- pypi-pp-mcp
    
  3. 確認します:claude mcp list

直接使用

  1. インストールされているか確認します:which pypi-pp-cli 見つからない場合は、インストールを提案してください(このスキルの冒頭にある「前提条件」を参照)。
  2. ユーザーのクエリに最適なコマンドを、上記の「独自の機能」と「コマンドリファレンス」から選びます。
  3. --agent フラグを付けて実行します。
    pypi-pp-cli <command> [subcommand] [args] --agent
    
  4. あいまいな場合は、サブコマンドのヘルプを確認します:pypi-pp-cli <command> --help。

コメント