CiteGuard について
CiteGuardは、参考文献や機関の引用状況を調べ、撤回、訂正、その他の問題が指摘された研究を特定します。研究者、編集者、研究公正担当者向けで、根拠が食い違う場合は推測せず、その不一致を示します。
主な機能
- 01DOIと.bibの参考文献をチェック
- 02編集上のステータスを分類
- 03根拠、出典、日付、確信度を表示
- 04機関の引用状況を監視
- 053つのMCPツールでチェックを提供
- 06適合率と再現率を評価
活用シーン
- 01投稿前に参考文献を確認する
- 02システマティックレビューの引用を点検する
- 03機関で新たに問題が指摘された引用を監視する
- 04論文の編集上のステータスを調べる
MCP 対応
MCPサーバーはcheck_references、get_editorial_status、watch_institutionをMCPクライアントに公開します。OpenAlex、Retraction Watch、Crossrefのデータを使用し、一部のOpenAlex連携チェックにはAPIキーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx retractguardOPENALEX_API_KEYシークレットOpenAlex API key (required for live OpenAlex lookups and watch_institution).CITEGUARD_MAILTOContact email for the OpenAlex/Crossref polite pool.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
CiteGuard
撤回論文や問題のある引用を監視する、無料でオープンなOpenAlexネイティブのウォッチドッグです。
CiteGuardは、あなたの参考文献、著者、所属機関の論文が、コミュニティによって撤回、訂正、または懸念表明の対象とされた研究を引用している場合に、通知し続けます。
既存の選択肢にはそれぞれ課題があるため、CiteGuardは開発されました。sciteはプロプライエタリで有料、RetractoBotはScopusのライセンスが必要でした(当時はオープンな引用データベースが存在しませんでした)。またOpenAlexは、すべての編集上のステータスを単一のis_retractedブール値にまとめてしまうため、撤回と訂正を区別できず、過去には誤検出も発生していました。
Retraction Watchデータセットがオープンになり(Crossref経由)、OpenAlexの引用グラフがCC0になった今、CiteGuardはこれを完全にオープンかつ無料で実現できます。
ステータス:開発初期段階です。 MVPを構築中です。ミッションについては
GOAL.md、開発ガイドについてはCLAUDE.mdをご覧ください。
機能
- 参考文献リストを確認します。 DOIを貼り付けるか、
.bibファイルをアップロードすると、各参考文献のステータス(撤回、訂正、懸念表明、ハイジャックされたジャーナル、または問題なし)が表示されます。 - 単なるブール値ではなく、詳細なステータスを提示します。 各フラグには、情報源(Retraction Watch/OpenAlex/Crossref)、証拠へのリンク、日付、信頼度に関する注記が付属します。情報源間で意見が食い違う場合、CiteGuardは推測で黙って決めるのではなく、その食い違いを明示します。
- 機関を監視します。 ROR IDを指定すると、その機関の論文が新たにフラグ付けされた論文を引用した場合や、機関の論文自体が新たにフラグ付けされた場合に、ダイジェストを受け取れます。
- AI エージェントから利用できます。 MCP サーバーが同じロジックをツール(
check_references、get_editorial_status、watch_institution)として公開し、Claude、Cursor、およびMCP互換クライアントから利用できます。
信頼できる理由
研究公正性を扱うツールは、誤りがあると実害をもたらします。「撤回済み」という誤ったフラグは、実在する著者に損害を与えます。CiteGuardは慎重さを重視した設計です。フラグを付ける前に複数の情報で裏付けを取り、文書化された編集上の通知を優先し、推測する代わりに論文をUNKNOWNとします。すべての中核機能には、ゴールドセットでの適合率と再現率を報告する公開済み評価が付属します。
対象ユーザー
- 投稿論文を審査する研究公正担当者やジャーナル編集者
- OpenAlexを採用している機関の学術図書館員
- システマティックレビューを行う研究者(撤回論文が1件含まれるだけで、レビューの妥当性が損なわれる場合があります)
- MCP サーバーを活用する開発者やメタサイエンス研究者
- 投稿前に自分の参考文献リストを確認する著者
アーキテクチャ
1つのコア、2つのインターフェース。
┌─────────────────────────────┐
OpenAlex ─────▶ │
(CC0 graph) │ editorial-status model │──▶ MCP server
│ + resolution logic │ (check_references,
Retraction ──▶│ (conservative) │ get_editorial_status,
Watch (open) │ │ watch_institution)
│ │──▶ reference-list checker
Crossref ─────▶ │ (DOI / .bib → statuses,
(DOI norm.) └─────────────────────────────┘ thin web UI)
リポジトリの構成:
src/citeguard/
openalex.py # keyed, rate-aware, ID-lookup-first OpenAlex client
retractionwatch.py # ingest + normalize the Retraction Watch dump
status.py # the EditorialStatus model + resolution logic (core)
checker.py # reference-list checker (DOI / .bib -> statuses)
mcp_server.py # MCP server exposing the three tools
tests/ # pytest unit + functional tests
evals/ # gold sets + precision/recall harness
data/ # local RW dump + cached lookups (gitignored)
設計上の制約(重要)
- 無料枠を考慮しています。 2026年2月13日以降、OpenAlex APIキーが必須です。無料枠は小さく、検索コストはレコードの参照の約10倍です。CiteGuardはまずIDを解決し、IDで検索します。一括処理には無料の月次スナップショットを使用し、ライブAPIは差分チェックに限定します。
- オープンで再現可能です。 CC0の理念に基づきつつ、Retraction WatchとOpenAlexに適切なクレジットを表示し、充実したドキュメントとZenodo DOIを提供します。
はじめ方(開発)
Python 3.11以降とuvが必要です。
uv sync # install dependencies
export OPENALEX_API_KEY=... # your OpenAlex key
export [email protected] # polite-pool contact
uv run pytest # run tests
uv run python -m evals.run # run the eval harness (precision/recall)
uv run python -m citeguard.mcp_server # launch the MCP server locally
MCP サーバーとして接続する
CiteGuard は、あらゆる MCP クライアントに get_editorial_status、check_references、watch_institution を公開します。pip install retractguard(または uv tool install retractguard)の実行後、retractguard-mcp コマンドで stdio サーバーを起動できます。
Claude Desktop — claude_desktop_config.json に追加します。
{
"mcpServers": {
"retractguard": {
"command": "retractguard-mcp",
"env": {
"OPENALEX_API_KEY": "your-key",
"CITEGUARD_MAILTO": "[email protected]"
}
}
}
}
Cursor/その他のクライアント — 同じ retractguard-mcp コマンド(stdio トランスポート)を指定します。インストールせずにチェックアウトから実行する場合は、"cwd" にリポジトリを設定し、"command": "uv", "args": ["run", "retractguard-mcp"] を使用します。
初回の呼び出し時に、サーバーは Retraction Watch のダンプ(約 65 MB、無料)を CITEGUARD_DATA_DIR(デフォルトは ./data)にダウンロードします。編集上の通知の検索(Retraction Watch、Crossref)にはキーは不要ですが、OpenAlex による裏付け確認と watch_institution には必要です。
Web チェッカー
エディターを使わない人向けのシンプルな Web UI です。DOI を貼り付けるか .bib ファイルをドロップすると、文献ごとのステータステーブルが表示されます。
retractguard-web # then open http://127.0.0.1:8000
# or from a checkout: uv run python -m citeguard.web
POST /check に Accept: application/json を追加すると、テーブルの代わりに結果を JSON で取得できます。MCP サーバーと同じ慎重な照合ロジックを再利用しているため、別のコードパスも、別の信頼モデルもありません。
ロードマップ(MVP)
status.py— 正規化された編集ステータスモデル(基盤)retractionwatch.py— Retraction Watch のダンプの取り込みと正規化openalex.py— キーを使った ID 優先のクライアントchecker.py— DOI/.bib→ ステータスmcp_server.py— 3 つのツールを公開evals/— 正解データセットと適合率/再現率の評価ハーネス(ステップ 2 以降で実行)
クレジットとデータ
- OpenAlex — CC0 の学術メタデータおよび引用グラフ。
- Retraction Watch — Crossref を通じてオープンに利用できるようになった撤回データベース。
- Crossref — DOI インフラストラクチャ。
CiteGuard はこれらのプロジェクトから独立しており、提携関係もありません。感謝を込めて、それらのオープンデータを活用しています。
ライセンス
MIT(LICENSE を参照) — GOAL.md に示されているオープンサイエンスの理念に沿った、制約が少なく、最大限に再利用可能なライセンスです。
コードは CiteGuard のものです。基盤としているデータは CiteGuard のものではなく、それぞれ独自の利用条件があります。対象は Retraction Watch(Crossref 経由)および OpenAlex/Crossref のメタデータです。CiteGuard が再配布するのはごく小規模な評価用データの抜粋のみです(evals/fixtures/ATTRIBUTION.md を参照)。大規模なデータは、各ライセンスに従って上流のソースから取得してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。