DOI Citation Verifier MCP Server
A Model Context Protocol (MCP) server that prevents citation hallucination by verifying academic citations against multiple authoritative databases. This server enables AI assistants to verify every citation against real publications in CrossRef, OpenAlex, and PubMed before citing them.
The Problem This Solves
Large language models often "hallucinate" academic citations - citing papers that don't exist, misattributing real titles to wrong authors, or mixing up publication details. This MCP server eliminates that problem by:
Multi-source verification: Checks citations across CrossRef (150+ million publications), OpenAlex (250+ million works), and PubMed (35+ million biomedical papers)
Real-time validation: Searches multiple authoritative databases to confirm publications exist
Comprehensive coverage: Combines general academic literature (CrossRef, OpenAlex) with specialized biomedical sources (PubMed)
DOI-backed citations: Every verified citation includes a valid, clickable DOI
Features
Verify Citations: Check if a paper with specific details actually exists across multiple databases
Find Verified Papers: Search for real papers on a topic and get only verified citations from CrossRef, OpenAlex, and PubMed
Multi-Database Coverage: Cross-references results across academic databases for maximum reliability
Source Selection: Search all databases or target specific sources (CrossRef, OpenAlex, PubMed)
Citation Formatting: Returns properly formatted citations with DOIs
How It Works
When an AI assistant is asked about research or for citations:
Without this MCP: The assistant might cite "According to Smith et al. (2023) in Nature..." referencing a paper that doesn't exist
With this MCP: The assistant uses
verifyCitationfirst, which searches across databases and returns:Verified match with full DOI → Can be cited
No match found → Cannot cite; must search for real papers instead
Tools
verifyCitation
Primary anti-hallucination tool - Verifies a citation exists across multiple databases before it can be mentioned.
Input:
title(string, optional): Paper title (partial matches accepted)authors(array, optional): Author names (last names sufficient)year(number, optional): Publication yeardoi(string, optional): DOI if knownjournal(string, optional): Journal name
Returns JSON with:
verified: true/falseIf verified=true: DOI, title, authors, year, journal, URL, source database
If verified=false: Warning message that no matching publication was found
Match quality indicators for transparency
Example successful verification:
findVerifiedPapers
Search for real papers on a topic and return only verified citations with DOIs from multiple databases.
Input:
query(string): Search query (topic, keywords, author names)source(string, optional): Which database to search - "all" (default), "crossref", "openalex", or "pubmed"limit(number, optional): Number of results per source (1-20, default: 5)yearFrom(number, optional): Minimum publication yearyearTo(number, optional): Maximum publication year
Returns: Array of verified papers from the specified database(s) with complete citation information including source
Example:
Installation
Installing via Smithery
To install DOI Citation Verifier automatically via Smithery:
Manual Installation
Clone the repository
Install dependencies:
npm installBuild the project:
npm run buildAdd to your MCP client configuration
Development
Example Usage
Before this MCP (citation hallucination):
After this MCP (verified citations only):
Verification catches fake citations:
API Sources
CrossRef API: 150+ million scholarly publications (https://api.crossref.org)
OpenAlex API: 250+ million scholarly works (https://api.openalex.org)
PubMed API: 35+ million biomedical and life sciences publications (https://api.ncbi.nlm.nih.gov/lit/ctxp)
DOI Resolution: DOI.org API (https://doi.org)
License
MIT
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
Related
This server cannot be installed