citeguard
citeguard
Zurückgezogene Beiträge werden noch Jahre nach ihrer Zurücknahme zitiert. Andrew Wakefields betrügerischer Artikel von 1998, der die MMR-Impfung mit Autismus in Verbindung brachte — 2010 zurückgezogen —, wurde seither über tausendmal seit der Zurücknahme zitiert, und das von Forschenden, die kaum eine einfache Möglichkeit hatten, das zu erkennen. Eine JMIR-Studie aus dem Jahr 2026 ergab, dass frei verfügbare KI-Werkzeuge „retracted literature nicht zuverlässig erkennen können“, ausgerechnet in dem Moment, in dem KI-gestützte und Forschung und Schreiben explodiert. citeguard überbrückt dieses Lücke: eine Quellenangabe wird gegen Crossref — kostenlos, ohne API-Schlüssel — geprüft, bevor sie in ein Paper, eine Zusammenfassung oder ein Review einfließt.
Drei Anwendungsflächen, ein verifizierter Erkennungsalgorithmus:
Zugang | Anwendungsfall | Ort (Quellcode) |
Python-Bibliothek + CLI | wissenschaftliche Schreibende, Skripte | |
MCP server | KI-Agenten für Recherche/Schreiben | |
GitHub Action | CI in einem Lab- oder das Journal-Repo |
Warum das so aufgebaut ist
Die Erkennungslogik ist nicht aus Dokumentationen abgeleitet — sie wurde durch Anfragen an die echte Crossref-API für bekannte Fälle und das Lesen der tatsächlichen Antwortstrukturen erfunden. Anschließend wurden Tests gegen die gespeicherten echten Antworten geschrieben (committed in tests/fixtures/, gemeinschaftlich von der Python- und spätere TypeScript-Implementierung). Zwei echte Paper fungieren als Referenzfall der „Ground Truth“:
Wakefield et al., 1998, The Lancet (das MMR-Autismus-Paper): Die eigene Crossref-Metadaten des Verlags enthalten keinerlei strukturierte Rückzugsdaten — eine
update-to-Prüfung allein würde das stillschweigend übersehen. Das eigentliche Signal steckt in einem separatenupdated-by-Feld, in dem Crossref die Rücknahme (zusammen mit einer frühen 2004-Korrektur) aus der Retraction Watch database selbst nachgetragen hat. Dieses Feld zu ignorieren, hieße, das bedeutendste zurückgezogene Paper der Medizin zu ver passe.Mehra et al., 2020, The Lancet (das Surgisphere-bezogene COVID-19/Hydroxychloroquine-Papper): Hier hat der Verlag strukturierte Daten direkt über
update-toin den Datenerecord eingepflegt. Ein anderes Feld, eine andere Herkunft, die gleiche Inhaltliche Tatsache.Watson & Crick, 1953, Nature wird in jedem Testsuite eingesetzt – eine eindeutig echte, definitiv nicht zurückgezogene Veröffentlichung, die niemals markiert werden darf.
The research follows daher drei unabhängige Signale in gegebener Reihenfolge: update-to (vom Verlag gemeldet), updated-by (oft aus der Retraction-Watch-Datenbank, erwischt, was Verlage auslassen) und eine psatzkategorie per Titelpräfix („RETRACTED:“, „WITHDRAWN:“ usw.) für ältere/unverbundene Fälle ohne strukturierte Metadaten in lie at one will both Feldern. Each Signal bekommt eine angemessene Schwere zugewiesen — ein Titel beginnend mit „Expression of Concern“ ist nicht identisch a retraction, and older Versionen, die diesen Unterschied eingeebnet haben, sind selbst als Bug enttarnt worden durch Testen an realen Titeln, nicht nur an synthetisch erzeugten. Siehe src/citeguard/analyze.py für die unter: kommentierte Implementierung.
Related MCP server: verification-mcp
Schnellstart
CLI:
pip install -e .
citeguard doi 10.1016/S0140-6736(97)11096-0
citeguard file references.bib --fail-on retracted # for CI, see belowMCP server (tragen Sie ihn in die Konfiguration Ihres Clients ein, z. B. .mcp.json):
{ "mcpServers": { "citeguard": { "command": "node", "args": ["/path/to/citeguard/mcp-server/dist/index.js"] } } }GitHub Action (in einem Workflow eines anderen Repos):
- uses: wedo911/citeguard@main
with:
path: references.bib
fail-on: concern # never | retracted | concern | correctedWas das nicht ist
Kein Beweis für die inhaltliche Korrektheit eines Papers. Sie prüft nur den Rückzugsstatus, nicht ob die Ergebnisse eines nicht zurückgezogenen Papers stichhaltig sind.
Nicht vollständig. Die Titelpräfix-Heuristik erkennt nur Verlagskonventionen, gegen die sie getestet wurde; ein sauberes Ergebnis heißt „kein bekanntes Signal gefunden“ und nicht „garantiert nie zurückgezogen“.
Kein Massen-abrufwerkzeug. Es ist gebaut für die Größe eines echten Literaturverzeichnisses (einige Dutzend Zitate), mit einer kleinen festen Verzögerung zwischen Crossref-Anfragen und einem optionalen persistenten Cache (
src/citeguard/cache.py) — ein fairer APInnutzungsverhalten gegenüber einem kostenlosen öffentlichen Service, und kein Instrument zum Scannen von Millionen von DOIs.
Tests ausführen
# Python (55 tests, including against the real fixtures above)
pip install -e ".[dev]" && pytest -v
# MCP server (17 tests against the same real fixtures)
cd mcp-server && npm install && npm run build && npm testBeide Testumgebungen sind netzwerkfrei und deterministisch — sie laufen gegen die gespeicherten echten API-Antworten statt gegen Live-Calls die Langsam und hängen nicht davon ab, dass Crossref erreichbar ist. Das echte Ende-zu Ende-Verhalten (das tatsächliche CLI, das echte MCP-Tool, das Ansprechen der realen API) wurde während der Entwicklung manuell und separat verifiziert. Die GitHub Action hat zusätzlich einen eigenen CI-Job (action-smoke-test), der die reale Composite Action bei jedem Push gegen eine bekannte zurückgezogene und eine bekannte saubere Literaturliste ausführt; damit wird die Action selbst — nicht nur die zugrunde liegende Bibliothek — kontinuierlich mit der Live-API getestet.
Mitwirken
Neue Signaltypen, zusätzliche Verlags-Titelkonventionen und Fehlermeldungen zu False-Positives sind gern willkommen. Wenn Sie einen neuen Fall hinzufügen, bevorzugen Sie möglichst eine echtes, ausführlich zitierten Crossref-Fixture vor einer synthetischen — genau das hat zwei echte Bugs entdeckt, die die erwartete Testsuite der Projekts während der Entwicklung gefunden hat (einen URL-Encoding-Bug im DOI-Anfragepfad und einen BibTeX-Parser, der beim Verarbeiten eines fehlerhaften @comment-Blocks den benachbarten Eintrag verschlucken konnte).
Lizenz
MIT — siehe LICENSE.
This server cannot be installed
Maintenance
Related MCP Servers
- AlicenseAqualityDmaintenancePrevents citation hallucination by verifying academic citations against CrossRef's database of 150+ million publications before they can be mentioned, ensuring every citation includes a valid DOI.315MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to fact-check claims, verify citations, and check source freshness using Wikipedia, Wikidata, Crossref, and Wayback Machine.1
- AlicenseNot gradedqualityCmaintenanceVerifies citations in reference lists by checking DOIs against public registries to catch AI-hallucinated or mismatched citations.MIT

CiteStamp MCP serverofficial
AlicenseNot gradedqualityCmaintenanceGround citations before your agent emits them by checking references against public scholarly registries and flagging hallucinated or retracted ones.MIT
Related MCP Connectors
Catch AI-fabricated citations (real DOI + fake title). Retraction, open-access, 10,000+ CSL styles.
Real-time fact-check, citation verification, and source-freshness for AI agents.
AI research grounded in 300M scientific works — every citation a verifiable DOI.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wedo911/citeguard'
If you have feedback or need assistance with the MCP directory API, please join our Discord server