citeguard
citeguard
Los artículos retractados se siguen citando durante años después de su retractación. El fraudulento artículo de 1998 de Andrew Wakefield, que vinculaba la vacuna MMR con el autismo —retractado en 2010—, ha sido citado más de mil veces después de su retractación por investigadores que no tenían una forma sencilla de saberlo. Un estudio de 2026 publicado en JMIR descubrió que las herramientas de IA de libre acceso «no pueden señalar de forma fiable la literatura retractada», justo cuando la investigación y la escritura asistidas por IA se han disparado. citeguard cierra esa brecha: compruebe una cita contra Crossref —gratis, sin clave de API— antes de que llegue a un artículo, un resumen o una reseña.
Tres interfaces, un algoritmo de detección verificado:
Interfaz | Para | Ubicación |
Biblioteca de Python + CLI | Escritores académicos, scripts | |
Servidor MCP | Agentes de IA que investigan/escriben | |
GitHub Action | CI en un repositorio de laboratorio o revista |
Por qué se ha construido así
La lógica de detección no se deduce de la documentación: se construyó consultando la API real de Crossref para casos conocidos y leyendo las formas reales de las respuestas, para después escribir pruebas contra las respuestas reales guardadas (confirmadas en tests/fixtures/, compartidas por las implementaciones de Python y TypeScript). Dos artículos reales fijan la verdad base:
Wakefield et al., 1998, The Lancet (el artículo sobre la vacuna MMR y el autismo): los metadatos de Crossref del propio editor no tienen ningún dato estructurado de retractación; comprobar solo
update-tolo pasaría por alto en silencio. Lo que transmite la señal es un campoupdated-byaparte, en el que Crossref ha incorporado retroactivamente la retractación (y una corrección anterior de 2004) desde la propia base de datos de Retraction Watch. Haberse dejado ese campo habría significado omitir el artículo retractado más famoso de la medicina.Mehra et al., 2020, The Lancet (el artículo sobre la COVID/hidroxicloroquina relacionado con Surgisphere): aquí el editor sí adjuntó los datos estructurados directamente, mediante
update-to. Un campo distinto, una procedencia distinta, el mismo hecho de fondo.Watson & Crick, 1953, Nature sirve como control limpio en todas las suites de pruebas: un artículo definitivamente real y definitivamente no retractado que nunca debe marcarse.
Así, el verificador analiza tres señales independientes, en este orden: update-to (declarado por el editor), updated-by (a menudo con datos de Retraction Watch, con la que se se detecta lo que los editores pasan por alto) y un fallback por prefijo de título («RETRACTED:», «WITHDRAWN:», etc.) para casos antiguos o sin enlazar que no tienen metadatos estructurados en ninguno de los dos campos. Cada señal se asocia a la gravedad correcta: un título «Expression of Concern» no es lo mismo que una retractación, y las versiones anteriores de este código que que aplanaban esa distinción eran un error que se descubrió al hacer pruebas con títulos reales y no solo sintéticos. Véase src/citeguard/analyze.py para la implementación con todos los comentarios.
Related MCP server: verification-mcp
Inicio rápido
CLI:
pip install -e .
citeguard doi 10.1016/S0140-6736(97)11096-0
citeguard file references.bib --fail-on retracted # for CI, see belowAquí el servidor MCP (añada la configuración al cliente, p. ej. .mcp.json):
{ "mcpServers": { "citeguard": { "command": "node", "args": ["/path/to/citeguard/mcp-server/dist/index.js"] } } }GitHub Action (en el flujo de trabajo de otro repositorio):
- uses: wedo911/citeguard@main
with:
path: references.bib
fail-on: concern # never | retracted | concern | correctedLo que esto no es
No es una prueba de que el contenido de un artículo sea correcto. Solo comprueba el estado de retractación, no si los hallazgos de un artículo no retractado se sostienen.
No es exhaustivo. La heurística del prefijo de título solo detecta las convenciones de editores contra las que se ha probado; un resultado limpio significa «no se ha encontrado ninguna señal conocida», no «la retirada está garantizada».
No es una herramienta de expurgo masivo. Está diseñado para el tamaño de una bibliografía real (decenas de citas), con un pequeño retraso fijo entre las llamadas a Crossref y una caché persistente opcional (
src/citeguard/cache.py) —buena ciudadanía de API para un servicio público y gratuito, no un robot para escanear millones de DOIs.
Ejecutar las pruebas
# 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 testAmbas suites son sin red y deterministas: funcionan contra las respuestas reales de la API almacenadas en el repositorio, no con llamadas en vivo, de modo que son rápidas y no dependen de que Crossref sea accesible. El comportamiento en vivo de extremo a extremo (el CLI real, la herramienta MCP real, entrar en la API real) se verificó de forma manual y aparte durante el desarrollo; la GitHub Action tiene además su propio trabajo de CI (action-smoke-test) que ejecuta la acción real sin en una bibliografía que se sabe retractada y otra que se sabe limpia en cada push. Así, la propia Action —no solo la librería subyacente— queda verificada de forma continua contra la API en vivo.
Contribuciones
Son bienvenidos los nuevos tipos de señales, las convenciones adicionales de títulos de editores y los informes de falsos positivos. Si añade un caso, siempre que sea posible prefiera una integración de Crossref real y citada, en vez de un símbolo sintético: eso es lo que atrapó los dos errores reales que la propia suite de pruebas del proyecto encontró durante el desarrollo (un error de codificación URL en la ruta de petición del DOI y un parser BibTeX que podía engullir una entrada adyacente al analizar un bloque @comment malformado).
Licencia
MIT — consulte 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