mcpField
W
wos-export

wos-export

github.com/cookjohn生産性13054 回インストール33 週間前に更新
リポジトリ

wos-export について

wos-export は、Web of Science の論文レコードを Zotero に登録したり、ファイルにエクスポートしたりするスキルです。WoS のメタデータを対応付け、Zotero を使えない場合やファイルが必要な場合はブラウザーからの出力にも対応します。

主な機能

  1. 01レコードの Zotero 登録
  2. 02WoS フィールドの Zotero への対応付け
  3. 03再試行時の重複防止
  4. 04RIS、BibTeX、Excel、テキストへの出力
  5. 05WoS 画面からのレコード出力

活用シーン

  1. 01検索結果を選択中の Zotero コレクションに保存
  2. 02WoS レコードを RIS または BibTeX ファイルで出力
  3. 03WoS ID や引用データを Zotero に保存

インストール

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

$npx skills add https://github.com/cookjohn/wos-skills --skill wos-export

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

同梱ファイルscripts/push_to_zotero.py

詳細

WoS エクスポート

WoS の論文レコードをエクスポートします。2 つのモードがあります。Zotero への直接プッシュ(推奨)または UI を使ったファイルエクスポートです。

モード A:Zotero にプッシュ(推奨、UI 操作不要)

論文のメタデータ(以前の検索結果や詳細結果から)を収集し、push_to_zotero.py スクリプトを使って Zotero にプッシュします。

ステップ 1:論文データを準備する

会話内ですでに利用可能なデータ(wos-search API の結果または wos-paper-detail による抽出)から JSON オブジェクトを作成します。このスクリプトは WoS の論文フィールドを直接受け付けます。

{
  "title": "Value co-creation in service logic",
  "authors": "Grönroos, C",
  "source": "MARKETING THEORY",
  "year": 2011,
  "volume": "11",
  "issue": "3",
  "pages": "279-301",
  "doi": "10.1177/1470593111408177",
  "issn": "1470-5931",
  "abstract": "The underpinning logic of...",
  "language": "English",
  "accessionNumber": "WOS:000295471900004",
  "authorKeywords": ["value co-creation", "service logic"],
  "keywordsPlus": ["DOMINANT LOGIC"],
  "citedCount": "992",
  "alldbCited": "1,254",
  "jif": "2.8",
  "jifYear": "2024",
  "jcrQuartile": "Q3",
  "researchAreas": "Business & Economics",
  "wosCategories": "Business",
  "docType": "Article"
}

複数の論文を指定する場合は、配列または {"items": [...]} で囲みます。

ステップ 2:スクリプトでプッシュする
echo '{JSON_DATA}' | python "e:\wos-skills\.claude\skills\wos-export\scripts\push_to_zotero.py"

または、先に一時ファイルに保存します(データ量が多い場合や中国語の文字を含む場合に推奨)。

python "e:\wos-skills\.claude\skills\wos-export\scripts\push_to_zotero.py" /tmp/wos_export.json
ステップ 3:結果を報告する
  • OK: Saved (session: xxx) → 成功
  • OK: Already saved (session: xxx) → 冪等性により、重複は発生しません
  • Error: Zotero not running → Zotero デスクトップアプリを起動するようユーザーに伝えます

スクリプトは、Zotero で現在選択されているコレクションを自動検出します。エクスポート前に Zotero で別のフォルダーを選択すると、保存先を変更できます。

コレクションを一覧表示するには、python push_to_zotero.py --list を実行します。

モード B:UI を使ったファイルエクスポート(フォールバック)

Zotero を利用できない場合、またはユーザーが特にファイルを希望する場合に使用します。

前提条件

ブラウザーで WoS の検索結果ページ(/summary/...)または全レコードページ(/full-record/...)を開いている必要があります。

対応形式
形式メニュー項目ファイル
RIS"RIS (other reference software)".ris
BibTeX"BibTeX".bib
Excel"Excel".xlsx
プレーンテキスト"Plain text file".txt
Fast 5000"Fast 5000"クイックエクスポート
手順
  1. take_snapshot → Export ボタン(haspopup="menu" を持ち、"Export" を含む button)を探す → click
  2. take_snapshot → 形式の menuitem を探す → click
  3. エクスポートダイアログ(レコード範囲、コンテンツのオプション)に対応する → ダウンロードボタンをクリックする
UI エクスポートに関する注意事項
  • 3~4 回のツール呼び出しを使用します:snapshot + Export をクリック + snapshot + 形式をクリック + ダイアログ
  • "Fast 5000" は基本フィールドを含む最大 5000 件のレコードをエクスポートします
  • 全レコードページでは、現在のレコードのみをエクスポートします

Zotero スクリプトの機能

  • 決定論的なセッション ID:同じ論文には常に同じセッション ID が割り当てられます(コンテンツハッシュ)。再試行時の重複を防ぎます(409 → 成功として処理)。
  • WoS メタデータのマッピング:WoS フィールドを Zotero の journalArticle スキーマに自動的にマッピングします。
  • Extra フィールド:WoS 固有のデータ(WoS ID、引用数、JIF、JCR 四分位、研究分野)を Zotero の Extra フィールドに保存します。
  • 著者の解析:WoS 標準形式の「LastName, Initials」を処理し、Zotero の firstName/lastName に変換します。
  • キーワード:Author Keywords と Keywords Plus の両方を Zotero のタグとして追加します。

注意事項

  • モード A(Zotero へのプッシュ)ではブラウザー操作は不要です。以前の API 呼び出しで取得したデータを使用します
  • モード A は、ブラウザーが WoS ページを開いていない場合でも動作します
  • スクリプトのパス:e:\wos-skills\.claude\skills\wos-export\scripts\push_to_zotero.py
  • Zotero は localhost:23119 で実行されている必要があります

コメント