Skip to main content
Glama

mcp-refchecker

PyPI

Un servidor MCP que permite a Claude verificar citas académicas en tiempo real frente a Semantic Scholar, OpenAlex y Crossref, detectando referencias alucinadas o incorrectas antes de que terminen en tu trabajo.

Construido sobre academic-refchecker (MIT).

Herramienta

verify_citation — verifica que un artículo citado exista y que sus metadatos (título, autores, año, lugar de publicación) coincidan con lo citado.

Parámetro

Tipo

Requerido

Descripción

title

string

sí

Título del artículo citado

authors

string[]

no

Lista de nombres de autores

year

integer

no

Año de publicación

doi

string

no

DOI (ej. 10.1145/12345)

arxiv_id

string

no

ID de arXiv (ej. 2301.00001)

url

string

no

URL directa al artículo

Devuelve JSON:

{
  "verified": true,
  "url": "https://...",
  "matched_paper": {
    "title": "...",
    "authors": [...],
    "year": 2023,
    "venue": "..."
  },
  "possible_match": null,
  "errors": null,
  "warnings": null,
  "info": null
}

Campos de resultado

  • verified — true si se encontró el artículo y todos los metadatos proporcionados (año, autores, lugar) coinciden. false si hay un conflicto real de metadatos o si no se pudo encontrar el artículo.

  • matched_paper — los metadatos autorizados de la fuente de verificación.

  • possible_match — una coincidencia de respaldo de Crossref cuando no se encontró el título exacto pero sí una variante cercana (ver "Respaldo difuso" a continuación).

  • errors — errores graves que bloquean la verificación (año incorrecto, autores incorrectos, artículo no encontrado).

  • warnings — advertencias leves que no bloquean la verificación (diferencias entre arXiv v1 y v2, diferencias entre preimpresión de arXiv y lugar de publicación, metadatos de entrada incompletos).

  • info — sugerencias informativas (ej., "la referencia podría incluir la URL de arXiv").

Qué cuenta como error frente a una advertencia

academic-refchecker devuelve una lista plana de problemas con cierta inconsistencia (las discrepancias de año se marcan como advertencias, mientras que las discrepancias de autor se marcan como errores). Este envoltorio normaliza la salida:

  • Promovidos a errores graves: discrepancias simples de year/author/venue donde los metadatos citados realmente difieren de la realidad. Estos bloquean verified.

  • Degradados a advertencias: errores de "campo faltante" cuando se encontró el artículo pero el usuario no proporcionó ese campo en primer lugar. La falta de metadatos de entrada no es evidencia de una cita alucinada.

  • Mantenidos como advertencias: diferencias de versión de arXiv (v1 vs v2), notas sobre lugar de publicación de preimpresión frente a publicado.

Respaldo difuso y sus limitaciones

Cuando academic-refchecker informa que un artículo no pudo ser verificado, este envoltorio realiza una consulta secundaria a Crossref utilizando coincidencia de títulos difusa y fuzzywuzzy.ratio. Si se encuentra un candidato con una similitud ≥ 85%, se devuelve como possible_match con una advertencia.

Lo que detecta el respaldo difuso:

  • Variaciones estilísticas de títulos (diferencias de mayúsculas, puntuación, orden de palabras)

  • Reformulaciones menores

  • Títulos donde la comparación estricta de refchecker rechazó una coincidencia por lo demás válida

Lo que NO detecta el respaldo difuso:

  • Errores tipográficos reales en palabras distintivas del título (ej., "Atention Is All You Need")

  • Títulos gravemente alterados

Esta es una limitación fundamental de las APIs de búsqueda académica gratuitas. Crossref, OpenAlex y Semantic Scholar realizan búsquedas basadas en palabras clave/tokens; tan pronto como una palabra distintiva está mal escrita, simplemente no está en el índice de búsqueda y el artículo real no aparecerá en los resultados, independientemente de cómo los proceses posteriormente. Detectar errores tipográficos reales requeriría incrustaciones semánticas de una API de pago (OpenAI, Voyage, etc.) o un motor de búsqueda difusa de texto completo, ninguno de los cuales está expuesto por fuentes de datos académicos gratuitas.

Si sospechas que hay un error tipográfico pero verify_citation devuelve "no verificado", la mejor solución es reescribir el título de la forma más canónica posible e intentarlo de nuevo.

Related MCP server: Lyra's Expanded Research MCP

Instalación y configuración

Recomendado: uvx (sin paso de instalación)

Si tienes instalado uv, no se necesita una instalación por separado. Añádelo directamente a tu claude_desktop_config.json:

{
  "mcpServers": {
    "refchecker": {
      "command": "uvx",
      "args": ["mcp-refchecker"]
    }
  }
}

uvx descarga y ejecuta el paquete en un entorno aislado automáticamente. Reinicia Claude Desktop después de guardar la configuración.

Alternativa: pip

pip install mcp-refchecker

Luego añade a claude_desktop_config.json:

{
  "mcpServers": {
    "refchecker": {
      "command": "mcp-refchecker"
    }
  }
}

Desde el código fuente

git clone https://github.com/JonasBaath/mcp-refchecker
cd mcp-refchecker
pip install .

Variables de entorno opcionales

  • SEMANTIC_SCHOLAR_API_KEY — solicita una aquí para obtener límites de tasa más altos en la ruta de verificación principal de refchecker.

  • CROSSREF_MAILTO — tu correo electrónico de contacto, utilizado para optar por el polite pool de Crossref para un acceso de respaldo difuso más fiable.

  • MCP_REFCHECKER_DEBUG — establécelo en cualquier valor no vacío para imprimir el registro de depuración de la ruta de respaldo difuso en stderr.

Ejemplo con todas las configuraciones opcionales (uvx):

{
  "mcpServers": {
    "refchecker": {
      "command": "uvx",
      "args": ["mcp-refchecker"],
      "env": {
        "SEMANTIC_SCHOLAR_API_KEY": "your-key-here",
        "CROSSREF_MAILTO": "you@example.com"
      }
    }
  }
}

Licencia

MIT — © Jonas Bååth. Construido sobre academic-refchecker (MIT).

Available Tools

1 tool
verify_citationA

Verify that an academic citation is accurate by checking it against Semantic Scholar, OpenAlex, and CrossRef. Returns whether the paper exists and flags mismatches in title, authors, year, or venue.

Args: title: Title of the cited paper (required). authors: List of author names. year: Publication year. doi: DOI of the paper (e.g. 10.1145/12345). arxiv_id: arXiv ID (e.g. 2301.00001). url: Direct URL to the paper.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
authorsNo
yearNo
doiNo
arxiv_idNo
urlNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explains what the tool checks (title, authors, year, venue) and the sources used, adding behavioral context beyond the schema. However, with no annotations provided, this dimension carries full weight; the description does not cover all potential behaviors such as rate limits, authentication requirements, or error handling, but given the straightforward nature of a citation verification tool, the disclosure is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, with a clear first paragraph stating the tool's purpose followed by a bulleted list of parameters. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (6 parameters, 1 required, output schema present), the description covers the essential information. It explains the verification process and parameter meanings, but lacks details on output structure. However, since an output schema exists, this omission is acceptable. The description is sufficiently complete for effective usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides brief semantic information for each parameter, defining what they represent (e.g., 'DOI of the paper', 'arXiv ID'). However, the input schema's title fields already convey most of this information (e.g., 'Doi', 'Arxiv Id'), and the description does not add significant new meaning. Schema description coverage is 0%, so the description compensates minimally.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: verifying academic citations by checking against three specific databases (Semantic Scholar, OpenAlex, CrossRef). It precisely describes the verification outputs: existence check and mismatch flags for title, authors, year, or venue. This is specific and informative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists parameters with their types and example formats, providing guidance on how to use the tool. However, it does not indicate when not to use this tool or mention alternatives, which would be beneficial since there are no sibling tools. The clarity of the parameter descriptions partly compensates.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev0.1.0
    • First observedverify_citation

TDQS

A3.8/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no ambiguity between tools. The single tool has a clear, singular purpose.

Naming Consistency3/5

With only one tool, consistency with other tools is not applicable. The name itself (verify_citation) follows a reasonable verb_noun pattern, but no pattern across tools can be evaluated.

Tool Count2/5

The server provides only one tool for the domain of citation verification. While verifying a citation is a focused task, real-world usage often requires additional operations like batch verification, retrieving paper details, or checking multiple citations at once, making the single tool feel too limited.

Completeness2/5

The tool covers a single operation (verifying a citation) but lacks other related operations such as searching for papers, listing citations for a paper, or bulk verification. For a comprehensive citation checking service, the coverage is incomplete.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Comprehensive MCP server for academic research workflows, enabling paper searching across multiple sources, manuscript processing with citation placeholders, search caching, and citation export.
    11
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Unified MCP server for scientific literature search and extraction, integrating databases like Scopus, OpenAlex, Semantic Scholar, and Unpaywall to enable AI agents to discover papers, track citations, and analyze content.
    27
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that verifies the existence, metadata accuracy, and claim support of academic citations by querying sources like OpenAlex, Crossref, and arXiv, enabling AI agents to fact-check references.
    7
    68 PyPI
    1
    MIT