MCP server for verifying academic citations via Semantic Scholar, OpenAlex, and CrossRef
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"mcp-refchecker","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# mcp-refchecker An MCP server that lets Claude verify academic citations in real time against [Semantic Scholar](https://www.semanticscholar.org/), [OpenAlex](https://openalex.org/), and [Crossref](https://www.crossref.org/) — catching hallucinated or incorrect references before they end up in your work. Built on top of [academic-refchecker](https://github.com/markrussinovich/refchecker) (MIT). ## Tool **`verify_citation`** — verifies that a cited paper exists and that its metadata (title, authors, year, venue) matches what was cited. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `title` | string | yes | Title of the cited paper | | `authors` | string[] | no | List of author names | | `year` | integer | no | Publication year | | `doi` | string | no | DOI (e.g. `10.1145/12345`) | | `arxiv_id` | string | no | arXiv ID (e.g. `2301.00001`) | | `url` | string | no | Direct URL to the paper | Returns JSON: ```json { "verified": true, "url": "https://...", "matched_paper": { "title": "...", "authors": [...], "year": 2023, "venue": "..." }, "possible_match": null, "errors": null, "warnings": null, "info": null } ``` ### Result fields - **`verified`** — `true` if the paper was found and all provided metadata (year, authors, venue) matches. `false` if there is a real metadata conflict or the paper could not be found. - **`matched_paper`** — the authoritative metadata from the verification source. - **`possible_match`** — a Crossref fallback match when the exact title was not found but a close variant was (see "Fuzzy fallback" below). - **`errors`** — hard errors that block verification (wrong year, wrong authors, paper not found). - **`warnings`** — soft warnings that don't block verification (arXiv v1 vs v2 differences, arXiv preprint vs published venue, incomplete input metadata). - **`info`** — informational suggestions (e.g., "reference could include arXiv URL"). ### What counts as …
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.