PubCrawl

PubMed, Europe PMC (incluidos preprints), etiquetado de fármacos de FDA/DailyMed y eMC del Reino Unido, y ClinicalTrials.gov para asistentes de IA, incluida la comparación lado a lado de etiquetas de EE. UU. frente a Reino Unido. Cada resultado cita su PMID, NCT ID o DOI; no se requiere clave API.

Servidor MCP alojado

npx add-mcp 'https://pubcrawl-production-feb9.up.railway.app/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

PubCrawl — PubMed, drug labels, and clinical trials for AI assistants

Un servidor MCP que brinda a los asistentes de IA acceso a PubMed, Europe PMC, etiquetado de medicamentos de la FDA y del Reino Unido, y ClinicalTrials.gov.

Un recorrido revisado por pares a través de la literatura — la etiqueta — y el ensayo.

ci npm downloads node MCP Registry Glama MCP server DOI License: MIT PRs welcome

Inicio rápido · Herramientas · Ejemplos · Arquitectura · Hoja de ruta · Contribuciones


✨ ¿Qué es PubCrawl?

PubCrawl conecta tu asistente de IA (Claude Desktop, Cursor o cualquier cliente compatible con MCP) directamente con las fuentes primarias que clínicos e investigadores realmente usan — para que puedas hacer una pregunta en lenguaje natural y obtener una respuesta fundamentada en PubMed, Europe PMC, etiquetado de medicamentos de la FDA/Reino Unido y ClinicalTrials.gov, con PMIDs, NCT IDs y DOIs reales que puedes verificar.

Cada herramienta es un envoltorio delgado y determinista sobre una API oficial. Nada se inventa; cada resultado cita su fuente.

Lo que ningún otro servidor MCP hace

Pregunta "compara el etiquetado de EE. UU. y Reino Unido para semaglutida" y PubCrawl extrae ambas etiquetas en vivo y mapea secciones equivalentes — Indicaciones y uso de EE. UU. ↔ 4.1 Indicaciones terapéuticas del Reino Unido, y así sucesivamente — para que las diferencias sean visibles en lugar de asumidas:

Asking an MCP client to compare US and UK labelling for semaglutide: PubCrawl calls compare_labels, fetches the US Prescribing Information from openFDA/DailyMed and the UK SmPC from the eMC, and returns the two indication lists side by side — three US indications including cardiovascular and renal risk reduction, against one UK indication, with the cardiovascular and renal outcomes appearing only as cross-references to sections 4.4, 4.5 and 5.1.

Información de prescripción de EE. UU.SmPC del Reino Unido
Indicacionescontrol glucémico · reducir el riesgo de MACE en T2D con ECV establecida · reducir el riesgo de disminución sostenida de la TFGe, ESKD y muerte CV en T2D con ERCsolo control glucémico — los resultados CV y renales aparecen como referencias cruzadas a §4.4/4.5/5.1, no como indicaciones
Contraindicacionesantecedentes personales o familiares de MTC o MEN 2 · hipersensibilidadsolo hipersensibilidad

Una afirmación cardiovascular que está en la etiqueta en EE. UU. promueve una indicación no autorizada en el Reino Unido. Si escribes, revisas o verificas copia médica para ambos mercados, esa brecha es todo el trabajo — y compare_labels es la única herramienta MCP que la saca a la luz.

Todo lo demás

  • 🔬 14 herramientas en literatura, etiquetado de medicamentos y ensayos clínicos
  • 🧾 Verificable por diseño — los resultados enlazan a DailyMed, eMC, PubMed y ClinicalTrials.gov
  • 📰 Preprints vía Europe PMC — saca a la luz trabajo antes de la publicación formal
  • 🆓 Sin necesidad de claves API (una clave NCBI gratuita opcional aumenta los límites de tasa de PubMed)
  • 🧪 Completamente tipado, probado y verificado por CI — la recuperación de literatura está controlada por OpenGATE, y el etiquetado y los ensayos por el benchmark de fidelidad del repositorio, en cada versión

Construido por PharmaTools.AI.


🚀 Inicio rápido (60 segundos)

1. Agrega PubCrawl a la configuración de tu cliente — sin necesidad de instalación, npx lo obtiene en la primera ejecución.

Para Claude Desktop, edita claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "pubcrawl": {
      "command": "npx",
      "args": ["-y", "@pharmatools/pubcrawl"]
    }
  }
}

2. Reinicia tu cliente. PubCrawl aparece bajo + → Conectores.

3. Pregunta:

"Compara el etiquetado de EE. UU. y Reino Unido para atorvastatina y encuentra ensayos de Fase 3 recientes para ella."

Eso es todo. → Más ejemplos · Clave API y otras opciones


🧰 Herramientas

📚 Literatura

HerramientaQué hace
search_pubmedBusca en PubMed con filtros de rango de fechas, tipo de artículo y orden de clasificación. Devuelve PMIDs, títulos, autores, revistas y DOIs.
search_europepmcBusca en Europe PMC — un corpus más amplio que PubMed que también indexa preprints (bioRxiv, medRxiv) y patentes. Cada resultado incluye un fragmento de resumen, recuento de citas, estado de acceso abierto y un indicador de preprint. Filtra solo preprints o acceso abierto.
get_abstractObtén el resumen estructurado completo de un artículo — dividido en secciones etiquetadas (antecedentes, métodos, resultados, conclusiones) con palabras clave y términos MeSH.
get_full_textRecupera el texto completo de artículos de acceso abierto de PubMed Central, con secciones analizadas, pies de figura/tabla y recuentos de referencias.
find_relatedEncuentra artículos similares usando el algoritmo de vecinos de PubMed, clasificados por puntuación de relevancia.
format_citationGenera una cita formateada en estilo APA, Vancouver, Harvard o BibTeX.
trending_papersEncuentra artículos recientes sobre un tema, con filtrado opcional a revistas de alto impacto (Nature, Science, Cell, NEJM, Lancet, JAMA, etc.).

💊 Etiquetado de medicamentos

HerramientaQué hace
resolve_drug_nameConvierte un nombre de marca de medicamento a su genérico (o un genérico a sus nombres de marca en EE. UU.), con clase de fármaco e indicaciones comunes. Determinista, vía RxNorm/openFDA — sin IA.
get_uspiExtrae secciones de Información de Prescripción de EE. UU. vía openFDA (citado a DailyMed) — indicaciones, dosis, advertencias, contraindicaciones y más.
get_smpcRecupera el Resumen de Características del Producto del Reino Unido del eMC — el equivalente británico de la información de prescripción de EE. UU., con secciones SmPC numeradas.
compare_labelsComparación lado a lado del etiquetado de EE. UU. (USPI) y Reino Unido (SmPC) para el mismo medicamento, emparejando secciones equivalentes (Indicaciones de EE. UU. ↔ 4.1 del Reino Unido). Un lado faltante siempre se explica, las secciones eliminadas se marcan truncated, y us_drug / uk_drug fijan un nombre diferente por mercado (Farxiga / Forxiga).
search_by_indicationEncuentra medicamentos aprobados para una condición médica. Busca en el etiquetado de la FDA vía openFDA y luego cruza referencias con la disponibilidad en el Reino Unido en el eMC.

🧫 Ensayos clínicos

HerramientaQué hace
search_trialsBusca en ClinicalTrials.gov ensayos clínicos. Filtra por condición, intervención, estado de reclutamiento y fase. Devuelve NCT IDs, patrocinadores, inscripción y enlaces.
get_trialObtén detalles completos de un ensayo clínico por NCT ID — criterios de elegibilidad, diseño del estudio, brazos, resultados primarios/secundarios, ubicaciones y PMIDs asociados.

💬 Ejemplos

Una vez conectado, solo pregunta de forma natural:

Literatura

  • "Busca en PubMed ensayos clínicos recientes sobre semaglutida."
  • "Busca en Europe PMC preprints sobre agonistas del receptor GLP-1, los más citados primero."
  • "Obtén el resumen del PMID 38127654, luego encuentra artículos relacionados y cítalos todos en estilo Vancouver."
  • "¿Cuáles son los artículos de tendencia sobre terapia génica CRISPR este mes, solo revistas de alto impacto?"
  • "Extrae el texto completo de ese artículo de PMC y resume la sección de métodos."

Etiquetado de medicamentos

  • "Obtén la información de prescripción de la FDA para metformina — solo las indicaciones y advertencias."
  • "Extrae el SmPC del Reino Unido para atorvastatina."
  • "Compara el etiquetado de EE. UU. y Reino Unido para lisinopril y resalta las diferencias."
  • "¿Cuál es el nombre genérico y la clase de fármaco para Ozempic?"
  • "¿Qué medicamentos están aprobados para diabetes tipo 2 tanto en EE. UU. como en el Reino Unido?"

Ensayos clínicos

  • "Encuentra ensayos de Fase 3 en reclutamiento para pembrolizumab en cáncer de mama."
  • "Obtén los criterios de elegibilidad y los resultados primarios para NCT03086486."

Fuentes cruzadas (donde PubCrawl brilla)

  • "Para semaglutida: resume la indicación cardiovascular de la etiqueta de EE. UU., luego encuentra el ensayo fundamental y su publicación en NEJM."

🏗 Arquitectura

Tres capas — herramientas registran la interfaz MCP, clientes lib hablan con cada API externa, y caché + analizadores compartidos lo mantienen rápido y consistente.

PubCrawl architecture: an MCP client connects over stdio or streamable HTTP to the PubCrawl server, whose 14 tools are grouped into literature, drug labelling and clinical trials. Each family calls the official APIs directly — NCBI E-utilities, Europe PMC, openFDA and DailyMed, the UK eMC, and ClinicalTrials.gov — behind a shared LRU cache, XML/JATS/SPL parsers and rate limits. Every result returns with its own identifier: PMID, NCT or DOI. No model sits in this path; nothing is invented.

Cada archivo de herramienta exporta una función register*Tool(server) con un esquema zod y un manejador asíncrono. Todas las llamadas de red tienen límite de tasa, caché y límite de tiempo. Consulta CLAUDE.md para un recorrido completo de la arquitectura y CONTRIBUTING.md para agregar una herramienta.


🔧 Configuración

Opciones de instalación

# Zero-install (recommended): npx fetches it on demand — see Quick start above.

# Or install globally:
npm install -g @pharmatools/pubcrawl

# Config for a global install:
#   { "mcpServers": { "pubcrawl": { "command": "pubcrawl" } } }

Clave API de NCBI (opcional)

Sin una clave, las solicitudes de PubMed están limitadas a 3/segundo. Una clave gratuita las eleva a 10/segundo.

  1. Crea una cuenta gratuita de NCBI en https://www.ncbi.nlm.nih.gov/account/
  2. Configuración de cuenta → Gestión de claves API → crea una clave
  3. Agrégala a tu configuración:
{
  "mcpServers": {
    "pubcrawl": {
      "command": "npx",
      "args": ["-y", "@pharmatools/pubcrawl"],
      "env": { "NCBI_API_KEY": "your_key_here" }
    }
  }
}

Transporte HTTP

PubCrawl también incluye un transporte HTTP Streamable sin estado para clientes basados en navegador y alojados:

npm run start:http   # serves POST /mcp and GET /health on PORT (default 3000)

🗺 Hoja de ruta

Aspectos destacados de lo planificado — consulta ROADMAP.md para la lista completa.

  • get_europepmc_fulltext — lee preprints y artículos de acceso abierto que search_europepmc saca a la luz
  • get_adverse_events — consultas de eventos adversos FAERS de openFDA
  • Etiquetado EMA / EPAR para complementar el compare_labels de EE. UU. + Reino Unido
  • Asistente de consulta MeSH para búsquedas más precisas en PubMed
  • Recursos y prompts de MCP para flujos de trabajo de revisión comunes

Las ideas son bienvenidas — abre un problema.


🛠 Desarrollo

git clone https://github.com/nickjlamb/pubcrawl.git
cd pubcrawl
npm install

npm run dev      # TypeScript watch mode
npm run build    # compile to dist/
npm start        # run the stdio server
npm test         # Vitest unit suite
npm run lint     # ESLint

Las pruebas unitarias viven en tests/ y cubren la lógica de análisis, caché, citas, formato y emparejamiento de etiquetas con cargas útiles de fixture (sin llamadas de red). CI ejecuta lint → test → build en cada push y pull request. ¿Nuevo en el código base? Comienza con CONTRIBUTING.md.

Medición de fidelidad

npm run bench            # labelling + trials fidelity benchmark against the live sources
npm run bench -- --ci    # what the release gate runs: exit 1 if a verified case fails

Dos puertas se ejecutan en cada versión y semanalmente. El puntuador de recuperación de OpenGATE verifica los registros de PubMed y Europe PMC contra anclas verificadas manualmente. El benchmark de fidelidad del repositorio hace lo mismo para el etiquetado de medicamentos y los ensayos: compare_labels se mantiene contra un conjunto dorado de anclas de EE. UU./Reino Unido (una frase debe aparecer en un lado y no en el otro, para que las divergencias reales salgan a la luz en lugar de suavizarse) más una verificación textual que vuelve a obtener el registro bruto de openFDA y la página del eMC y confirma que cada oración devuelta es una subcadena de la fuente. Sin juez LLM en ninguna de las dos puertas.


📦 Versiones y registro de cambios

Las versiones siguen Versionado Semántico. Consulta el CHANGELOG para un historial completo y Versiones para notas y recursos.

🤝 Contribuciones

Las contribuciones son bienvenidas y apreciadas — informes de errores, nuevas fuentes de datos, nuevas herramientas. Lee la guía de contribución para comenzar, luego abre un problema o una solicitud de extracción.

📚 Cita

Si PubCrawl respalda el trabajo que publicas, por favor cítalo — consulta CITATION.cff, o:

@software{lamb_pubcrawl,
  author    = {Lamb, Nick},
  title     = {PubCrawl: verifiable biomedical literature, drug labelling and clinical trials for AI assistants},
  year      = {2026},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.22101559},
  url       = {https://doi.org/10.5281/zenodo.22101559}
}

📄 Licencia

MIT © PharmaTools.AI

Datos de NCBI E-utilities, Europe PMC, openFDA, DailyMed, el eMC del Reino Unido y ClinicalTrials.gov. PubCrawl no está afiliado con estos proveedores.