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

| Informações de Prescrição dos EUA | SmPC do Reino Unido | |
|---|---|---|
| Indicações | controle 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 DRC | apenas 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ções | histórico pessoal ou familiar de CMT ou NEM 2 · hipersensibilidade | apenas 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
| Ferramenta | O que faz |
|---|---|
search_pubmed | Pesquise 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_europepmc | Pesquise 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_abstract | Obtenha 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_text | Recupere 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_related | Encontre artigos semelhantes usando o algoritmo de vizinhança do PubMed, classificados por pontuação de relevância. |
format_citation | Gere uma citação formatada nos estilos APA, Vancouver, Harvard ou BibTeX. |
trending_papers | Encontre 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
| Ferramenta | O que faz |
|---|---|
resolve_drug_name | Converta 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_uspi | Puxe 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_smpc | Recupere 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_labels | Comparaçã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_indication | Encontre 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
| Ferramenta | O que faz |
|---|---|
search_trials | Pesquise 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_trial | Obtenha 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.
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.
- Crie uma conta NCBI gratuita em https://www.ncbi.nlm.nih.gov/account/
- Configurações da conta → Gerenciamento de chaves de API → crie uma chave
- 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 porsearch_europepmcget_adverse_events— consultas de eventos adversos FAERS do openFDA- Bulas EMA / EPAR para complementar as
compare_labelsdos 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}
}