mcpField
P
pp-openalex

pp-openalex

github.com/mvanhorn生産性2.1k95 回インストール今日更新
リポジトリ

pp-openalex について

pp-openalex は、OpenAlex の学術データを調べる研究者やエージェント向けの読み取り専用スキルです。CLI で論文、著者、機関、情報源、研究トピックを検索でき、絞り込みや並べ替え、簡潔な JSON 出力にも対応します。

主な機能

  1. 01条件を指定した学術成果の検索と並べ替え
  2. 02著者と機関の取得
  3. 03情報源と研究トピックの調査
  4. 04助成金と資金提供者の検索
  5. 05エージェント向け JSON でのデータ確認と出力

活用シーン

  1. 01研究テーマに関する学術成果の検索
  2. 02著者と所属機関の特定
  3. 03ジャーナルや研究発表先の調査
  4. 04資金提供者や地域による研究記録の絞り込み

インストール

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

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

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

詳細

Openalex — Printing Press CLI

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

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

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

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

go install github.com/mvanhorn/printing-press-library/library/other/openalex/cmd/openalex-pp-cli@latest

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

この CLI を使用しない場合

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

独自の機能

これらの機能は、この API のほかのツールでは利用できません。

研究グラフの取得
  • works list — コンパクトな JSON、フィールド選択、フィルター、ソート、ライブ API へのフォールバックを使って学術論文を検索します。
  • authors list — 著者を検索し、引用や共同研究者の調査に使える正規の OpenAlex 著者レコードを取得します。
  • institutions list — 国/種類のメタデータを含む機関を検索し、所属や研究エコシステムを分析します。
  • sources list — エージェント向けのコンパクトな出力で、ジャーナル、リポジトリ、出版媒体を検索します。
  • topics list — OpenAlex のトピックを調べ、研究分野の発見や後続のフィルタリングに活用します。

コマンドリファレンス

authors — 学術論文を作成する人々

  • openalex-pp-cli authors get — OpenAlex ID または ORCID を使って、単一の著者を取得します。
  • openalex-pp-cli authors list — フィルタリング、検索、ソート、ページネーションを任意で指定して、著者の一覧を取得します。

autocomplete — あらゆる種類のエンティティをすばやく先行検索します

  • openalex-pp-cli autocomplete — 最大 10 件の結果を返す、すばやい先行検索です。入力と同時に検索するインターフェースで使用します。

awards — 研究助成金と資金提供の賞

  • openalex-pp-cli awards get — OpenAlex ID を使って、単一の賞を取得します。
  • openalex-pp-cli awards list — 研究助成金と資金提供の賞の一覧を取得します。

changefiles — 変更ファイルを管理します

  • openalex-pp-cli changefiles get — 指定した日付の変更ファイルの詳細を取得します。変更されたエンティティの種類、レコード数、ダウンロード先などが含まれます...
  • openalex-pp-cli changefiles list — 利用可能な変更ファイルの日付をすべて一覧表示します。各日付には、変更されたすべてのエンティティレコードを含むダウンロード可能なファイルがあります...

concepts — 研究分野の旧分類体系(非推奨 — 代わりに Topics を使用してください)

  • openalex-pp-cli concepts get — 非推奨: 代わりに Topics を使用してください。OpenAlex ID を使って、単一の概念を取得します。
  • openalex-pp-cli concepts list — 非推奨: 代わりに Topics を使用してください。旧分類体系から概念の一覧を取得します。

continents — 地理的な大陸(全 7 件)

  • openalex-pp-cli continents get — Wikidata の Q-ID を使って、単一の大陸を取得します。
  • openalex-pp-cli continents list — 大陸の一覧を取得します(全 7 件)。

countries — 研究を場所でフィルタリングするための地理的な国

  • openalex-pp-cli countries get-country — ISO 3166-1 alpha-2 コードを使って、単一の国を取得します。
  • openalex-pp-cli countries list — 国の一覧を取得します。著者の所属国で論文をフィルタリングする際に便利です。

domains — トピック階層の最上位カテゴリ(全 4 件)

  • openalex-pp-cli domains get — ID(1〜4)で単一のドメインを取得します。
  • openalex-pp-cli domains list — ドメイン(最上位のトピックカテゴリ)の一覧を取得します。ドメインは Life Sciences、Social Sciences、... の 4 つのみです。

fields — トピック階層における第 2 レベルのカテゴリ(合計 26)

  • openalex-pp-cli fields get — ID で単一のフィールドを取得します。
  • openalex-pp-cli fields list — フィールド(第 2 レベルのトピックカテゴリ)の一覧を取得します。4 つのドメインにまたがる 26 のフィールドがあります。

funders — 研究に資金を提供する組織

  • openalex-pp-cli funders get — OpenAlex ID または Crossref Funder ID で単一の助成機関を取得します。
  • openalex-pp-cli funders list — 任意のフィルタリング、検索、並べ替え、ページネーションを指定して助成機関の一覧を取得します。

institution-types — 機関の種類(教育、医療、企業など)

  • openalex-pp-cli institution-types — 機関の種類(教育、医療、企業など)の一覧を取得します。

institutions — 大学、研究機関、その他の所属

  • openalex-pp-cli institutions get — OpenAlex ID または ROR で単一の機関を取得します。
  • openalex-pp-cli institutions list — 任意のフィルタリング、検索、並べ替え、ページネーションを指定して機関の一覧を取得します。

keywords — 研究業績のトピックから特定される短いフレーズ

  • openalex-pp-cli keywords get — OpenAlex ID で単一のキーワードを取得します。
  • openalex-pp-cli keywords list — 任意のフィルタリング、検索、並べ替え、ページネーションを指定してキーワードの一覧を取得します。

languages — 学術研究業績の言語

  • openalex-pp-cli languages get — ISO 639-1 コードで単一の言語を取得します。
  • openalex-pp-cli languages list — 学術研究業績で使用される言語の一覧を取得します。

licenses — オープンアクセスライセンス(CC BY、CC BY-SA など)

  • openalex-pp-cli licenses — オープンアクセスライセンス(CC BY、CC BY-SA など)の一覧を取得します。

publishers — 学術研究業績を出版する企業および組織

  • openalex-pp-cli publishers get — OpenAlex ID で単一の出版社を取得します。
  • openalex-pp-cli publishers list — 任意のフィルタリング、検索、並べ替え、ページネーションを指定して出版社の一覧を取得します。

rate-limit — レート制限を管理

  • openalex-pp-cli rate-limit — 使用量と残りの許容量を含む、現在のレート制限状況を確認します。

sdgs — 国連持続可能な開発目標(合計 17)

  • openalex-pp-cli sdgs get — ID(1〜17)で単一の持続可能な開発目標を取得します。
  • openalex-pp-cli sdgs list — 国連持続可能な開発目標の一覧を取得します。17 の SDGs があります。

source-types — ソースの種類(ジャーナル、リポジトリ、学会など)

  • openalex-pp-cli source-types — ソースの種類(ジャーナル、リポジトリ、学会など)の一覧を取得します。

sources — 研究業績が公開されるジャーナル、リポジトリ、その他の場

  • openalex-pp-cli sources get — OpenAlex ID または ISSN で単一のソースを取得します。
  • openalex-pp-cli sources list — 任意のフィルタリング、検索、並べ替え、ページネーションを指定してソース(ジャーナル、リポジトリ、学会)の一覧を取得します。

subfields — トピック階層における第 3 レベルのカテゴリ(合計 254)

  • openalex-pp-cli subfields get — ID で単一のサブフィールドを取得します。
  • openalex-pp-cli subfields list — サブフィールド(第 3 レベルのトピックカテゴリ)の一覧を取得します。26 のフィールドにまたがる 254 のサブフィールドがあります。

text — テキストを管理

  • openalex-pp-cli text — 非推奨: このエンドポイントは非推奨であり、新規プロジェクトには推奨されません。更新も... も受信しません。

topics — 研究業績に自動的に割り当てられる研究トピック

  • openalex-pp-cli topics get — OpenAlex ID で単一のトピックを取得します。
  • openalex-pp-cli topics list — 任意のフィルタリング、検索、並べ替え、ページネーションを指定してトピックの一覧を取得します。トピックは研究領域...

work-types — 学術研究業績の種類(論文、書籍、データセットなど)

  • openalex-pp-cli work-types — 研究業績の種類(論文、書籍、データセットなど)の一覧を取得します。 works — 学術論文、書籍、データセット、学位論文などの学術成果

  • openalex-pp-cli works get — OpenAlex ID または外部 ID(DOI、PMID、PMCID、MAG ID)で学術成果を1件取得します。外部 ID は次のように指定できます...

  • openalex-pp-cli works list — 絞り込み、検索、並べ替え、ページネーションを任意で指定して、学術成果の一覧を取得します。学術成果にはジャーナル...

適切なコマンドを見つける

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

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

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

認証の設定

環境変数で API キーを設定します。

export OPENALEX_API_KEY="<your-key>"

または、~/.config/openalex-pp-cli/config.toml に保存します。

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

エージェントモード

任意のコマンドに --agent を追加します。次のオプションが有効になります:--json --compact --no-input --no-color --yes。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

出力の配信

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

シンク効果
stdout既定値。stdout のみに出力します
file:<path>出力を <path> にアトミックに書き込みます(tmp + rename)
webhook:<url>出力本文を URL に POST します(--compact の場合は application/json または application/x-ndjson)

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

名前付きプロファイル

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

openalex-pp-cli profile save briefing --json
openalex-pp-cli --profile briefing authors list
openalex-pp-cli profile list --json
openalex-pp-cli profile show briefing
openalex-pp-cli profile delete briefing --yes

明示的なフラグは常にプロファイルの値より優先され、プロファイルの値は既定値より優先されます。agent-context は利用可能なすべてのプロファイルを available_profiles に一覧表示するため、情報を確認するエージェントは実行時にプロファイルを検出できます。

終了コード

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

引数の解析

$ARGUMENTS を解析します:

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

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

この CLI の公開パブリックライブラリエントリまたはビルド済みリリースから MCP バイナリをインストールし、登録します:

claude mcp add openalex-pp-mcp -- openalex-pp-mcp

確認:claude mcp list

直接使用

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

コメント