MCP Refchecker
mcp-refchecker
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 |
| string | sí | Título del artículo citado |
| string[] | no | Lista de nombres de autores |
| integer | no | Año de publicación |
| string | no | DOI (ej. |
| string | no | ID de arXiv (ej. |
| 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—truesi se encontró el artículo y todos los metadatos proporcionados (año, autores, lugar) coinciden.falsesi 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/venuedonde los metadatos citados realmente difieren de la realidad. Estos bloqueanverified.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-refcheckerLuego 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 toolverify_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.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| authors | No | ||
| year | No | ||
| doi | No | ||
| arxiv_id | No | ||
| url | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 tool update
v0.1.0- First observed
verify_citation
TDQS
Scored across 1 tool
Only one tool exists, so there is no ambiguity between tools. The single tool has a clear, singular purpose.
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.
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.
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
Related MCP Connectors
OpenCitations MCP — citation index (COCI + general Index API).
Academic research MCP server for paper search, citation checks, graphs, and deep research.
MCP server for Altmetric APIs - track research attention across news, policy, social media, and more
Crossref MCP — wraps the Crossref REST API (academic papers, free, no auth)
Related MCP Servers
- AlicenseAqualityCmaintenanceComprehensive MCP server for academic research workflows, enabling paper searching across multiple sources, manuscript processing with citation placeholders, search caching, and citation export.11MIT
- FlicenseNot gradedqualityDmaintenanceA unified MCP server providing programmatic access to three major academic research APIs: Semantic Scholar, OpenAlex, and PubMed.2-
- AlicenseAqualityCmaintenanceUnified 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.27MIT
- AlicenseAqualityCmaintenanceAn 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.768 PyPI1MIT