Skip to main content
Glama

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

src/citeguard/

Servidor MCP

Agentes de IA que investigan/escriben

mcp-server/

GitHub Action

CI en un repositorio de laboratorio o revista

action.yml

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-to lo pasaría por alto en silencio. Lo que transmite la señal es un campo updated-by aparte, 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 below

Aquí 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 | corrected

Lo 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 test

Ambas 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.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to fact-check claims, verify citations, and check source freshness using Wikipedia, Wikidata, Crossref, and Wayback Machine.
    1
  • A
    license
    Not graded
    quality
    C
    maintenance
    Ground citations before your agent emits them by checking references against public scholarly registries and flagging hallucinated or retracted ones.
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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