ieee-search-mcp について
ieee-search-mcpは、大学図書館のプロキシやSSOセッション経由でIEEE Xploreを検索するスキルです。機関アクセスを維持しながらブラウザー検索を進め、キーワード・詳細・ジャーナル検索に対応します。
主な機能
- 01学校別の図書館プロファイル
- 02プロキシとSSOセッションの確認
- 03キーワード・詳細・ジャーナル検索
- 04年・文書種別による絞り込み
- 05既知ジャーナルへのショートカット
活用シーン
- 01大学のアクセス権でIEEE Xploreを検索
- 02既存のプロキシセッションで検索を継続
- 03指定ジャーナルの最新論文を調査
MCP 対応
ブラウザーを操作し、大学図書館のアクセス経路で検索するため、利用可能なBrowser MCPが必要です。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ duruii/ skills --skill ieee-search-mcpインストール後、Claude Code で/ieee-search-mcpを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamlassets/school_profiles.example.json
詳細
ieee-search-mcp
学校図書館経由のアクセス(プロキシ/SSO セッション)で IEEE Xplore を検索する必要がある場合に、このスキルを使用します。IEEE の一般公開ページから直接アクセスする場合は使用しません。
前提条件
- Browser MCP(例:
chrome-devtoolsまたは同等のもの)がすでにインストールされ、利用可能であること。 - エージェントにブラウザーを操作する権限があること。
- いずれかの条件を満たさない場合は中止し、このワークフローはブラウザー内では実行できないことを明示してください。
- 相対的な期間のフィルター(例:「過去2年」)を使う場合は、まずローカルの時刻/日付ツールを使い、フィルターを適用する前に明示的な年の範囲を計算してください。
学校プロファイル(プラグイン可能)
assets/school_profiles.example.jsonから学校プロファイルを読み込みます。- 学校が指定されていない場合は、まずユーザーに確認してください。
- 学校ごとに以下の項目をプラグイン可能なフィールドとして扱います。
library_homeproxy_ieee_homedb_keyword_candidates- 任意:
known_database_detail_url - 任意:
known_journals— ユーザーが頻繁にアクセスするジャーナルのエイリアスから{name, punumber, proxy_url}へのマップ
- デモ/デフォルトのプロファイルは
wust(武漢科技大学)です。
よくあるユーザーの意図に応じたフロー
パス A:ログイン+キーワード検索+最近の年
library_homeを開き、ログイン状態を確認します。- ログインが必要な場合は、ユーザーに SSO/QR 認証を完了してもらい、完了するまで待ちます。
db_keyword_candidatesの順に DB を検索します(WUST では、必要に応じてIEEEより先にIELを試してください)。- 図書館の入口から IEEE にアクセスし、機関認証セッションを確認します。
- キーワード検索を実行します。
- 明示的な年の範囲を適用します(例:現在が2026年の場合、「過去2年」は2025~2026年を意味します)。
- 指定された形式で検索結果を返します。
パス B:既存のプロキシ IEEE ページから続行
- ユーザーがプロキシ URL(例:
metaersp-2.../ieeexplore/...)を指定または開いている場合は、同じページ/セッションで続行します。 - ユーザーがフォールバックを確認しない限り、
https://ieeexplore.ieee.org/を直接開かないでください。 - 検索する前に、
Access provided by:またはプロキシホストを再確認します。
パス C:詳細検索/ジャーナル検索
- ユーザーに検索モード(
keyword/advanced/journal)を確認します。 - 不足している条件(クエリフィールド、ジャーナル名、年、文書タイプ)を尋ねます。
- 検索を実行し、構造化された結果を返します。
パス D:既知のジャーナル/直接移動(高速経路)
ユーザーがジャーナルをエイリアスまたは正式名称で指定し、プロファイルに known_journals エントリがある場合:
- ユーザーの入力を
known_journalsのキー(大文字と小文字を区別しない)またはnameフィールドと照合します。 - 一致した場合は、キャッシュ済みの
proxy_urlに直接移動し、パス A の検索フロー全体をスキップします。 - 機関認証セッション(
Access provided by:または URL 内のプロキシホスト)を確認します。 - セッションが期限切れの場合は、パス A に進んで再認証し、その後キャッシュ済みの URL に戻ります。
- ジャーナルページに到達したら、ユーザーが依頼した操作(最近の論文の閲覧、ページ内検索など)を続行します。
新しいジャーナルのショートカットを登録する
ユーザーがまだ known_journals に登録されていないジャーナルに移動した場合:
- 移動に成功した後、punumber と組み立てたプロキシ URL を記録します。
- ユーザーに次のように伝えます:「このジャーナルを既知のショートカットとして記録しました。次回からは名前を伝えるだけで、直接移動できます。」
- エージェントは、学校プロファイルの
known_journalsへの追加を提案してください。ユーザーが確認した場合は、assets/school_profiles.example.jsonを適宜更新します。
実際の WUST フローで発生した問題への対処
- DB のエイリアス不一致:
IEEEの検索に失敗した場合は、IELを再試行します。 - DB 行のクリックがタイムアウトした場合:スナップショットを更新して一度だけ再試行します。
- それでもクリックできない場合:プロファイルに
known_database_detail_urlがあれば、その既知の詳細 URL に移動します。 - セッションの逸脱:公開ページ
ieeexplore.ieee.orgに移動してしまった場合は、ただちにproxy_ieee_home経由のルートに戻します。 - ページ/ツールの引数エラー:再試行する前にツールのパラメーターの型/名前を確認します(例:
pageIdは数値である必要があります)。
必須のユーザーチェックポイント
次の状況では推測せず、ユーザーに確認してください。
- 学校または図書館のプロフィールが確認されていない場合。
- ログインに人間による操作(CAPTCHA/QRコード/2FA)が必要な場合。
- ほぼ同一のデータベース項目が複数表示され、クリック対象を特定できない場合。
- ユーザーが矛盾する条件を指定している場合(例:「プロキシ経由のセッションのみ」と「公開サイトへ直接移動」)。
CCF のオプションの後処理フィルター(ccf-rank スキルを使用)
ユーザーが「CCF-A/CCF-B のみ」などと指定した場合:
- IEEE の検索結果から会議またはジャーナルを取得します。
- 同階層のスキルスクリプトを使用します。
node ../ccf-rank/scripts/query_ccf_rank.mjs "<venue or journal>" --top 3 - 指定されたランク(例:
A)に該当する行のみを残します。 - 出力には IEEE のフィールドと CCF のフィールド(
type、rank、area)の両方を含めます。
出力ルール
- ユーザーが指定した形式を優先してください。
- ユーザーが表を指定した場合は、指定された列を含む Markdown 表を出力します。
- 列が指定されていない場合は、既定の列を使用します。
title | year | venue/journal | authors | access_path | ieee_url | ccf_rank(optional). - プロキシ経由であることをユーザーが確認できるよう、必ず
access_pathを含めます。 - 時期による絞り込みを行う場合は、回答文に明確な年の範囲を含めます。
最小実行サマリー
実行ごとに、次の 5 項目を報告します。
- 使用したアクセス経路(
library_home -> db alias -> IEEE proxy page)。 - 機関アクセスが維持されたかどうか。
- 検索モード、検索語、フィルター。
- 検索結果の一覧(または表)。
- 次の操作の選択肢(詳細検索/ジャーナル検索/CCF フィルター/全文を開く)。
コメント
Markdown 対応