mcpField
F
fetch-meta-to-kb

fetch-meta-to-kb

github.com/tiangong-aiデータ・データベース1135 回インストール1 週間前に更新
リポジトリ

fetch-meta-to-kb について

fetch-meta-to-kbは、Crossrefから雑誌論文を差分取得してデータベースへ登録するスキルです。雑誌レコードを管理するワークフロー向けで、DOIによる重複回避と実行単位の集計に対応します。

主な機能

  1. 01指定日以降の論文を取得
  2. 02journals_issnから雑誌ISSNを取得
  3. 03雑誌名でCrossrefの結果を絞り込み
  4. 04論文の各項目をjournalsへ登録
  5. 05DOIの競合をスキップ

活用シーン

  1. 01新しい雑誌論文レコードの取り込み
  2. 02指定日以降のCrossrefメタデータの追加

インストール

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

$npx skills add https://github.com/tiangong-ai/agent-skills --skill fetch-meta-to-kb

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

詳細

KB へのメタデータ取得

主な目標

  • 指定された --from-date 以降の journal-article レコードを Crossref から取得します。
  • journals_issn から ISSN のシード行(journal、issn1)を読み取ります。
  • ON CONFLICT (doi) DO NOTHING を指定して journals に行を挿入します。
  • 実装を fetch_meta_to_kb.py に準拠させます。

実行ワークフロー

  1. データベース接続用の環境変数を設定します(ユーザーが管理するキーには KB_ を付けます)。
  • KB_DB_HOST
  • KB_DB_PORT
  • KB_DB_NAME
  • KB_DB_USER
  • KB_DB_PASSWORD
  • KB_LOG_DIR(必須。ログ出力先ディレクトリ)
  1. 必須の日付を指定して増分取得を実行します。
python3 scripts/fetch_meta_to_kb.py --from-date 2024-05-01
  • exec ツール呼び出しで実行する場合は、タイムアウトを 1800 秒(30 分) に設定してください。
  1. 次の場所でログを確認します。
  • ${KB_LOG_DIR}/fetch-meta-to-kb-YYYYMMDD-HHMMSS.log(UTC のタイムスタンプ。実行ごとに 1 ファイル)
  1. ユーザー向けの概要は、今回の実行結果のみを基に作成します。
  • fetch_meta_to_kb.py が出力する RUN_SUMMARY_JSON を優先してください。
  • JSON を利用できない場合は、今回の実行に対応する ${KB_LOG_DIR}/fetch-meta-to-kb-YYYYMMDD-HHMMSS.log のみを解析してください。
  • total_inserted は、テーブル内の累計行数ではなく、今回の実行で挿入された行数(DOI の重複排除後)を表す必要があります。

動作仕様

  • Crossref エンドポイント https://api.crossref.org/journals/{issn}/works をクエリします。
  • type:journal-article,from-pub-date:<from-date> で絞り込みます。
  • container-title が対象のジャーナル名と一致するアイテムのみを保持します(一致判定では大文字と小文字を区別しません)。
  • 一致するアイテムがなくなるまで、カーソルを使ってページネーションを続けます。
  • 次のフィールドを journals に保存します:title、doi、journal、authors、date、abstract(Crossref に abstract がない場合は null)。
  • レポートや告知に使用する指標は、今回の実行のログまたはサマリーのみを使用する必要があります。
  • データベース全体や期間を対象とする SQL(WHERE date >= ... など)を使って告知件数を計算しないでください。

対象範囲

  • Crossref からの増分取得と journals への挿入のみを実装します。

スクリプト

  • scripts/fetch_meta_to_kb.py

コメント