MCP Refchecker
mcp-refchecker
ClaudeがSemantic Scholar、OpenAlex、Crossrefに対して学術引用をリアルタイムで検証できるようにするMCPサーバーです。ハルシネーションや不正確な参照が成果物に含まれる前に検知します。
academic-refchecker (MIT) をベースに構築されています。
ツール
verify_citation — 引用された論文が存在すること、およびそのメタデータ(タイトル、著者、年、掲載誌)が引用内容と一致していることを検証します。
パラメータ | 型 | 必須 | 説明 |
| string | はい | 引用された論文のタイトル |
| string[] | いいえ | 著者名のリスト |
| integer | いいえ | 出版年 |
| string | いいえ | DOI (例: |
| string | いいえ | arXiv ID (例: |
| string | いいえ | 論文への直接URL |
JSONを返します:
{
"verified": true,
"url": "https://...",
"matched_paper": {
"title": "...",
"authors": [...],
"year": 2023,
"venue": "..."
},
"possible_match": null,
"errors": null,
"warnings": null,
"info": null
}結果フィールド
verified— 論文が見つかり、提供されたすべてのメタデータ(年、著者、掲載誌)が一致した場合にtrueとなります。実際のメタデータの不一致がある場合、または論文が見つからなかった場合はfalseとなります。matched_paper— 検証ソースからの信頼できるメタデータ。possible_match— 正確なタイトルが見つからなかったが、近いバリエーションが見つかった場合のCrossrefによるフォールバック一致(以下の「あいまいフォールバック」を参照)。errors— 検証をブロックする重大なエラー(年が違う、著者が違う、論文が見つからない)。warnings— 検証をブロックしない軽微な警告(arXiv v1とv2の違い、arXivプレプリントと出版済み掲載誌の違い、入力メタデータの不完全さ)。info— 情報提供のための提案(例:「参照にarXiv URLを含めることができます」)。
エラーと警告の定義
academic-refchecker は、いくつかの不整合を含む問題のフラットなリストを返します(年の不一致は警告としてマークされ、著者の不一致はエラーとしてマークされます)。このラッパーは出力を正規化します:
重大なエラーに昇格: 引用されたメタデータが実際と異なる、単純な
year/author/venueの不一致。これらはverifiedをブロックします。警告に降格: 論文は見つかったが、ユーザーがそのフィールドを入力しなかった場合の「フィールド欠落」エラー。入力メタデータの欠落は、ハルシネーションによる引用の証拠ではありません。
警告として維持: arXivのバージョン違い(v1対v2)、プレプリントと出版済み掲載誌に関する注記。
あいまいフォールバックとその制限
academic-refchecker が論文を検証できなかったと報告した場合、このラッパーは fuzzywuzzy.ratio を使用したあいまいタイトルマッチングを用いて Crossref に二次クエリを実行します。類似度が85%以上の候補が見つかった場合、警告付きで possible_match として返されます。
あいまいフォールバックで検知できるもの:
スタイルのバリエーション(大文字小文字の違い、句読点、語順)
軽微な言い回しの違い
refcheckerの厳密な比較では拒否されたが、実際には有効な一致であるタイトル
あいまいフォールバックで検知できないもの:
特徴的な単語の実際の誤字(例:「Atention Is All You Need」)
大幅に崩れたタイトル
これは無料の学術検索APIの根本的な制限です。Crossref、OpenAlex、Semantic Scholarはすべてキーワード/トークンベースの検索を行っているため、特徴的な単語が綴り間違えられると、検索インデックスに存在しなくなり、どのように後処理をしても実際の論文は結果に現れません。実際の誤字を検知するには、有料API(OpenAI、Voyageなど)からのセマンティック埋め込みや、全文あいまい検索エンジンが必要ですが、無料の学術データソースではどちらも提供されていません。
誤字が疑われるのに verify_citation が未検証を返す場合は、タイトルを可能な限り標準的な形式に書き直して再試行するのが最善の回避策です。
Related MCP server: Lyra's Expanded Research MCP
インストールと設定
推奨: uvx (インストール手順不要)
uv がインストールされている場合、個別のインストールは不要です。claude_desktop_config.json に直接追加してください:
{
"mcpServers": {
"refchecker": {
"command": "uvx",
"args": ["mcp-refchecker"]
}
}
}uvx はパッケージを自動的に分離環境でダウンロードして実行します。設定を保存した後、Claude Desktopを再起動してください。
代替案: pip
pip install mcp-refchecker次に claude_desktop_config.json に追加します:
{
"mcpServers": {
"refchecker": {
"command": "mcp-refchecker"
}
}
}ソースから
git clone https://github.com/JonasBaath/mcp-refchecker
cd mcp-refchecker
pip install .オプションの環境変数
SEMANTIC_SCHOLAR_API_KEY— refcheckerの主要な検証パスでのレート制限を緩和するために、こちらから申請してください。CROSSREF_MAILTO— より信頼性の高いあいまいフォールバックアクセスを得るために、Crossrefの polite pool にオプトインするための連絡先メールアドレス。MCP_REFCHECKER_DEBUG— 空でない値を設定すると、あいまいフォールバックパスからのデバッグログがstderrに出力されます。
すべてのオプション設定を含めた例 (uvx):
{
"mcpServers": {
"refchecker": {
"command": "uvx",
"args": ["mcp-refchecker"],
"env": {
"SEMANTIC_SCHOLAR_API_KEY": "your-key-here",
"CROSSREF_MAILTO": "you@example.com"
}
}
}
}ライセンス
MIT — © Jonas Bååth. academic-refchecker (MIT) をベースに構築されています。
Available Tools
1 toolverify_citationA
Verify that an academic citation is accurate by checking it against Semantic Scholar, OpenAlex, and CrossRef. Returns whether the paper exists and flags mismatches in title, authors, year, or venue.
Args: title: Title of the cited paper (required). authors: List of author names. year: Publication year. doi: DOI of the paper (e.g. 10.1145/12345). arxiv_id: arXiv ID (e.g. 2301.00001). url: Direct URL to the paper.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| authors | No | ||
| year | No | ||
| doi | No | ||
| arxiv_id | No | ||
| url | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains what the tool checks (title, authors, year, venue) and the sources used, adding behavioral context beyond the schema. However, with no annotations provided, this dimension carries full weight; the description does not cover all potential behaviors such as rate limits, authentication requirements, or error handling, but given the straightforward nature of a citation verification tool, the disclosure is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with a clear first paragraph stating the tool's purpose followed by a bulleted list of parameters. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (6 parameters, 1 required, output schema present), the description covers the essential information. It explains the verification process and parameter meanings, but lacks details on output structure. However, since an output schema exists, this omission is acceptable. The description is sufficiently complete for effective usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides brief semantic information for each parameter, defining what they represent (e.g., 'DOI of the paper', 'arXiv ID'). However, the input schema's title fields already convey most of this information (e.g., 'Doi', 'Arxiv Id'), and the description does not add significant new meaning. Schema description coverage is 0%, so the description compensates minimally.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: verifying academic citations by checking against three specific databases (Semantic Scholar, OpenAlex, CrossRef). It precisely describes the verification outputs: existence check and mismatch flags for title, authors, year, or venue. This is specific and informative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists parameters with their types and example formats, providing guidance on how to use the tool. However, it does not indicate when not to use this tool or mention alternatives, which would be beneficial since there are no sibling tools. The clarity of the parameter descriptions partly compensates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
verify_citation
TDQS
Scored across 1 tool
Only one tool exists, so there is no ambiguity between tools. The single tool has a clear, singular purpose.
With only one tool, consistency with other tools is not applicable. The name itself (verify_citation) follows a reasonable verb_noun pattern, but no pattern across tools can be evaluated.
The server provides only one tool for the domain of citation verification. While verifying a citation is a focused task, real-world usage often requires additional operations like batch verification, retrieving paper details, or checking multiple citations at once, making the single tool feel too limited.
The tool covers a single operation (verifying a citation) but lacks other related operations such as searching for papers, listing citations for a paper, or bulk verification. For a comprehensive citation checking service, the coverage is incomplete.
Maintenance
Related MCP Connectors
OpenCitations MCP — citation index (COCI + general Index API).
Academic research MCP server for paper search, citation checks, graphs, and deep research.
MCP server for Altmetric APIs - track research attention across news, policy, social media, and more
Crossref MCP — wraps the Crossref REST API (academic papers, free, no auth)
Related MCP Servers
- AlicenseAqualityCmaintenanceComprehensive MCP server for academic research workflows, enabling paper searching across multiple sources, manuscript processing with citation placeholders, search caching, and citation export.11MIT
- FlicenseNot gradedqualityDmaintenanceA unified MCP server providing programmatic access to three major academic research APIs: Semantic Scholar, OpenAlex, and PubMed.2-
- AlicenseAqualityCmaintenanceUnified MCP server for scientific literature search and extraction, integrating databases like Scopus, OpenAlex, Semantic Scholar, and Unpaywall to enable AI agents to discover papers, track citations, and analyze content.27MIT
- AlicenseAqualityCmaintenanceAn MCP server that verifies the existence, metadata accuracy, and claim support of academic citations by querying sources like OpenAlex, Crossref, and arXiv, enabling AI agents to fact-check references.768 PyPI1MIT