PubCrawl

PubMed, Europe PMC (incluindo preprints), rótulos de medicamentos da FDA/DailyMed e eMC do Reino Unido, e ClinicalTrials.gov para assistentes de IA, incluindo comparação lado a lado de rótulos dos EUA vs Reino Unido. Cada resultado cita seu PMID, NCT ID ou DOI; nenhuma chave de API é necessária.

Servidor MCP hospedado

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

Instala no Claude Code, Codex, Cursor e outros

Documentação

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

Um servidor MCP que dá a assistentes de IA acesso ao PubMed, Europe PMC, bulas de medicamentos da FDA e do Reino Unido, e ClinicalTrials.gov.

Um passeio revisado por pares pela literatura — a bula — e o ensaio clínico.

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

Início rápido · Ferramentas · Exemplos · Arquitetura · Roteiro · Contribuindo


✨ O que é o PubCrawl?

O PubCrawl conecta seu assistente de IA (Claude Desktop, Cursor ou qualquer cliente compatível com MCP) diretamente às fontes primárias que clínicos e pesquisadores realmente usam — para que você possa fazer uma pergunta em linguagem simples e obter uma resposta fundamentada em PubMed, Europe PMC, bulas da FDA/Reino Unido e ClinicalTrials.gov, com PMIDs, IDs NCT e DOIs reais que você pode verificar.

Cada ferramenta é um wrapper fino e determinístico sobre uma API oficial. Nada é inventado; cada resultado cita sua fonte.

O que nenhum outro servidor MCP faz

Pergunte "compare as bulas dos EUA e do Reino Unido para semaglutida" e o PubCrawl puxa ambas as bulas ao vivo e mapeia seções equivalentes — Indicações e Uso dos EUA ↔ 4.1 Indicações terapêuticas do Reino Unido, e assim por diante — para que as diferenças fiquem visíveis em vez de presumidas:

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.

Informações de Prescrição dos EUASmPC do Reino Unido
Indicaçõescontrole glicêmico · reduzir o risco de MACE em DM2 com DCV estabelecida · reduzir o risco de declínio sustentado da TFGe, DRT e morte CV em DM2 com DRCapenas controle glicêmico — desfechos CV e renais aparecem como referências cruzadas às seções §4.4/4.5/5.1, não como indicações
Contraindicaçõeshistórico pessoal ou familiar de CMT ou NEM 2 · hipersensibilidadeapenas hipersensibilidade

Uma alegação cardiovascular que é aprovada nos EUA promove uma indicação não licenciada no Reino Unido. Se você escreve, revisa ou verifica textos médicos para ambos os mercados, essa lacuna é o trabalho inteiro — e compare_labels é a única ferramenta MCP que a expõe.

Todo o resto

  • 🔬 14 ferramentas em literatura, bulas de medicamentos e ensaios clínicos
  • 🧾 Verificável por design — resultados vinculam de volta ao DailyMed, eMC, PubMed e ClinicalTrials.gov
  • 📰 Pré-prints via Europe PMC — traga trabalhos à tona antes da publicação formal
  • 🆓 Sem necessidade de chaves de API (uma chave NCBI gratuita e opcional aumenta os limites de taxa do PubMed)
  • 🧪 Totalmente tipado, testado e verificado por CI — recuperação de literatura controlada pelo OpenGATE, e bulas e ensaios pelo benchmark de fidelidade no repositório, a cada lançamento

Construído pela PharmaTools.AI.


🚀 Início rápido (60 segundos)

1. Adicione o PubCrawl à configuração do seu cliente — sem etapa de instalação, npx o busca na primeira execução.

Para Claude Desktop, edite 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. Reinicie seu cliente. O PubCrawl aparece em + → Conectores.

3. Pergunte:

"Compare as bulas dos EUA e do Reino Unido para atorvastatina e encontre ensaios de Fase 3 recentes para ela."

É isso. → Mais exemplos · Chave de API e outras opções


🧰 Ferramentas

📚 Literatura

FerramentaO que faz
search_pubmedPesquise no PubMed com filtros de intervalo de datas, tipo de artigo e ordem de classificação. Retorna PMIDs, títulos, autores, periódicos e DOIs.
search_europepmcPesquise no Europe PMC — um corpus mais amplo que o PubMed, que também indexa pré-prints (bioRxiv, medRxiv) e patentes. Cada resultado inclui um trecho do resumo, contagem de citações, status de acesso aberto e um sinalizador de pré-print. Filtre para apenas pré-prints ou acesso aberto.
get_abstractObtenha o resumo estruturado completo de um artigo — dividido em seções rotuladas (contexto, métodos, resultados, conclusões) com palavras-chave e termos MeSH.
get_full_textRecupere o texto completo de artigos de acesso aberto do PubMed Central, com seções analisadas, legendas de figuras/tabelas e contagens de referências.
find_relatedEncontre artigos semelhantes usando o algoritmo de vizinhança do PubMed, classificados por pontuação de relevância.
format_citationGere uma citação formatada nos estilos APA, Vancouver, Harvard ou BibTeX.
trending_papersEncontre artigos recentes sobre um tópico, com filtragem opcional para periódicos de alto impacto (Nature, Science, Cell, NEJM, Lancet, JAMA, etc.).

💊 Bulas de medicamentos

FerramentaO que faz
resolve_drug_nameConverta um nome de marca de medicamento para seu genérico (ou um genérico para seus nomes de marca nos EUA), com classe do medicamento e indicações comuns. Determinístico, via RxNorm/openFDA — sem IA.
get_uspiPuxe seções das Informações de Prescrição dos EUA via openFDA (citadas ao DailyMed) — indicações, dosagem, advertências, contraindicações e mais.
get_smpcRecupere o Resumo das Características do Medicamento do Reino Unido do eMC — o equivalente britânico das informações de prescrição dos EUA, com seções SmPC numeradas.
compare_labelsComparação lado a lado das bulas dos EUA (USPI) e do Reino Unido (SmPC) para o mesmo medicamento, pareando seções equivalentes (Indicações dos EUA ↔ 4.1 do Reino Unido). Um lado ausente é sempre explicado, seções cortadas são sinalizadas truncated, e us_drug / uk_drug fixam um nome diferente por mercado (Farxiga / Forxiga).
search_by_indicationEncontre medicamentos aprovados para uma condição médica. Pesquisa bulas da FDA via openFDA e depois cruza a disponibilidade no Reino Unido no eMC.

🧫 Ensaios clínicos

FerramentaO que faz
search_trialsPesquise ensaios clínicos no ClinicalTrials.gov. Filtre por condição, intervenção, status de recrutamento e fase. Retorna IDs NCT, patrocinadores, inscrições e links.
get_trialObtenha detalhes completos de um ensaio clínico pelo ID NCT — critérios de elegibilidade, desenho do estudo, braços, desfechos primários/secundários, locais e IDs PubMed associados.

💬 Exemplos

Depois de conectado, basta perguntar naturalmente:

Literatura

  • "Pesquise no PubMed ensaios clínicos recentes sobre semaglutida."
  • "Pesquise no Europe PMC pré-prints sobre agonistas do receptor GLP-1, mais citados primeiro."
  • "Obtenha o resumo do PMID 38127654, depois encontre artigos relacionados e cite todos no estilo Vancouver."
  • "Quais são os artigos em alta sobre terapia genética CRISPR neste mês, apenas periódicos de alto impacto?"
  • "Puxe o texto completo daquele artigo do PMC e resuma a seção de métodos."

Bulas de medicamentos

  • "Obtenha as informações de prescrição da FDA para metformina — apenas as indicações e advertências."
  • "Puxe o SmPC do Reino Unido para atorvastatina."
  • "Compare as bulas dos EUA e do Reino Unido para lisinopril e destaque as diferenças."
  • "Qual é o nome genérico e a classe do medicamento para Ozempic?"
  • "Quais medicamentos são aprovados para diabetes tipo 2 tanto nos EUA quanto no Reino Unido?"

Ensaios clínicos

  • "Encontre ensaios de Fase 3 em recrutamento para pembrolizumabe em câncer de mama."
  • "Obtenha os critérios de elegibilidade e desfechos primários para NCT03086486."

Fontes cruzadas (onde o PubCrawl brilha)

  • "Para semaglutida: resuma a indicação cardiovascular da bula dos EUA, depois encontre o ensaio pivotal e sua publicação no NEJM."

🏗 Arquitetura

Três camadas — ferramentas registram a interface MCP, clientes lib conversam com cada API externa, e cache + analisadores compartilhados mantêm tudo rápido e 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 arquivo de ferramenta exporta uma função register*Tool(server) com um esquema zod e um manipulador assíncrono. Todas as chamadas de rede são limitadas por taxa, armazenadas em cache e com limite de tempo. Veja CLAUDE.md para uma explicação completa da arquitetura e CONTRIBUTING.md para adicionar uma ferramenta.


🔧 Configuração

Opções de instalação

# 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" } } }

Chave de API NCBI (opcional)

Sem uma chave, as solicitações ao PubMed são limitadas a 3/segundo. Uma chave gratuita eleva isso para 10/segundo.

  1. Crie uma conta NCBI gratuita em https://www.ncbi.nlm.nih.gov/account/
  2. Configurações da conta → Gerenciamento de chaves de API → crie uma chave
  3. Adicione-a à sua configuração:
{
  "mcpServers": {
    "pubcrawl": {
      "command": "npx",
      "args": ["-y", "@pharmatools/pubcrawl"],
      "env": { "NCBI_API_KEY": "your_key_here" }
    }
  }
}

Transporte HTTP

O PubCrawl também oferece um transporte HTTP Streamable sem estado para clientes baseados em navegador e hospedados:

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

🗺 Roteiro

Destaques do que está planejado — veja ROADMAP.md para a lista completa.

  • get_europepmc_fulltext — leia pré-prints e artigos de acesso aberto encontrados por search_europepmc
  • get_adverse_events — consultas de eventos adversos FAERS do openFDA
  • Bulas EMA / EPAR para complementar as compare_labels dos EUA + Reino Unido
  • Auxiliar de consulta MeSH para pesquisas PubMed mais precisas
  • Recursos e prompts MCP para fluxos de trabalho comuns de revisão

Ideias são bem-vindas — abra uma issue.


🛠 Desenvolvimento

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

Os testes unitários ficam em tests/ e cobrem a lógica de análise, cache, citação, formatação e pareamento de bulas com cargas de teste (sem chamadas de rede). A CI executa lint → teste → build a cada push e pull request. Novo no código? Comece com CONTRIBUTING.md.

Medindo a fidelidade

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

Duas portarias rodam a cada lançamento e semanalmente. O avaliador de recuperação do OpenGATE verifica registros do PubMed e Europe PMC contra âncoras verificadas manualmente. O benchmark de fidelidade no repositório faz o mesmo para bulas de medicamentos e ensaios: compare_labels é mantido em um conjunto dourado de âncoras dos EUA/Reino Unido (uma frase deve aparecer em um lado e não no outro, para que divergências reais sejam expostas em vez de suavizadas), além de uma verificação literal que busca novamente o registro bruto do openFDA e a página do eMC e confirma que cada frase retornada é uma substring da fonte. Nenhum juiz de LLM em nenhuma das portarias.


📦 Lançamentos e changelog

As versões seguem Versionamento Semântico. Veja o CHANGELOG para um histórico completo e Lançamentos para notas e artefatos.

🤝 Contribuindo

Contribuições são bem-vindas e apreciadas — relatórios de bugs, novas fontes de dados, novas ferramentas. Leia o guia de contribuição para começar e depois abra uma issue ou um pull request.

📚 Citação

Se o PubCrawl apoiar um trabalho que você publica, cite-o — veja CITATION.cff, ou:

@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}
}

📄 Licença

MIT © PharmaTools.AI

Dados de NCBI E-utilities, Europe PMC, openFDA, DailyMed, eMC do Reino Unido e ClinicalTrials.gov. O PubCrawl não é afiliado a esses provedores.