NCBI Literature Search

Pesquise em bancos de dados do NCBI, incluindo PubMed, por literatura científica. Adaptado para pesquisadores em ciências da vida, biologia evolutiva e biologia computacional.

Documentação

NCBI Literature Search MCP Server

Um servidor Model Context Protocol (MCP) para pesquisar bancos de dados do NCBI, projetado para pesquisadores de todas as áreas das ciências da vida e biomédicas. Este servidor fornece acesso contínuo ao vasto acervo de mais de 35 milhões de artigos científicos do PubMed por meio de consultas em linguagem natural, permitindo que assistentes de IA ajudem em revisões de literatura, descoberta de pesquisas e análise científica.

Recursos

🔬 Pesquisa Abrangente: Pesquise mais de 35 milhões de artigos do PubMed em todas as disciplinas biológicas 📊 Consultas Avançadas: Suporte para buscas complexas com operadores booleanos, tags de campo e filtros
🧬 Pesquisa em Ciências da Vida: Cobre todos os campos biológicos e biomédicos, incluindo genética, ecologia, medicina e biotecnologia 💻 Biologia Computacional: Perfeito para encontrar métodos de bioinformática, algoritmos e ferramentas computacionais 🔬 Aplicações de Pesquisa: Revisões de literatura, geração de hipóteses, descoberta de métodos e atualização sobre avanços científicos 📚 Detalhes Completos de Artigos: Obtenha resumos, listas de autores, termos MeSH, DOIs e informações de publicação 🔗 Artigos Relacionados: Descubra pesquisas relevantes através dos algoritmos de relacionamento do NCBI 📖 Integração MeSH: Pesquise e utilize Medical Subject Headings para terminologia precisa

Início Rápido

Pré-requisitos

Configuração (5 minutos)

  1. Crie e inicialize o projeto

    mkdir ncbi-mcp-server && cd ncbi-mcp-server
    poetry init
    

    Durante a inicialização, adicione as dependências: mcp, httpx, typing-extensions

  2. Crie a estrutura do projeto

    mkdir -p src/ncbi_mcp_server
    # Save server.py code as src/ncbi_mcp_server/server.py
    
  3. Instale as dependências

    poetry install
    
  4. Teste o servidor

    poetry run python src/ncbi_mcp_server/server.py
    
  5. Configure o Claude Desktop

    Edite o arquivo de configuração do Claude Desktop:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%/Claude/claude_desktop_config.json
    • Linux: ~/.config/claude/claude_desktop_config.json

    Adicione esta configuração:

    {
      "mcpServers": {
        "ncbi-literature": {
          "command": "poetry",
          "args": ["run", "python", "src/ncbi_mcp_server/server.py"],
          "cwd": "/FULL/PATH/TO/YOUR/ncbi-mcp-server"
        }
      }
    }
    
  6. Reinicie o Claude Desktop e comece a pesquisar!

Métodos Alternativos de Configuração

Clique para expandir métodos alternativos de instalação

Ambiente Conda

conda env create -f environment.yml
conda activate ncbi-mcp
python server.py

pip + venv padrão

python -m venv venv
source venv/bin/activate  # Linux/macOS
pip install -r requirements.txt
python server.py

Exemplos de Uso

Para Pesquisa em Biologia Evolutiva

Pesquise estudos filogenéticos:

"Search for recent phylogenetic analysis papers on mammalian evolution"
→ Uses: search_pubmed with query "phylogenetic analysis[ti] AND mammalian[ti] AND evolution"

Encontre métodos computacionais de filogenética:

"Find papers about maximum likelihood methods for phylogenetic reconstruction"
→ Uses: search_pubmed with query "maximum likelihood[ti] AND phylogenetic reconstruction"

Pesquise por organismo específico:

"Find recent papers on Drosophila comparative genomics"
→ Uses: search_pubmed with query "Drosophila[ti] AND comparative genomics[ti]"

Para Pesquisa em Biologia Computacional

Artigos sobre algoritmos e métodos:

"Search for machine learning applications in genomics from the last 2 years"
→ Uses: search_pubmed with date_range="730" and query "machine learning AND genomics"

Artigos sobre software e bancos de dados:

"Find papers about new bioinformatics tools for sequence analysis"
→ Uses: search_pubmed with query "bioinformatics[ti] AND software[ti] AND sequence analysis"

Exemplos de Busca Avançada

Busca com múltiplos critérios:

"Find review articles about CRISPR applications in evolutionary studies published in Nature or Science"
→ Uses: advanced_search with terms=["CRISPR", "evolution"], publication_types=["Review"], journals=["Nature", "Science"]

Buscas específicas por autor:

"Find recent papers by researchers working on ancient DNA and phylogenomics"
→ Uses: search_pubmed with query "ancient DNA[ti] AND phylogenomics[ti]"

Referência de Ferramentas

search_pubmed

Ferramenta principal de pesquisa no banco de dados PubMed

  • query: Termos de busca (suporta tags de campo como [ti] para título, [au] para autor, [mh] para termos MeSH)
  • max_results: Número de resultados (1-100, padrão: 20)
  • sort: Ordenar por "relevance", "pub_date", "author" ou "journal"
  • date_range: Limitar a artigos recentes ("30", "90", "365", "1095" dias)

Exemplos:

  • "CRISPR[ti] AND evolution" - CRISPR no título E evolução em qualquer lugar
  • "phylogenetic analysis[mh]" - Usando termo MeSH para análise filogenética
  • "computational biology AND machine learning" - Busca booleana

get_article_details

Busca informações completas de artigos específicos

  • pmids: Lista de IDs do PubMed (até 50)

Retorna resumos completos, listas de autores, termos MeSH, DOI, detalhes de publicação

search_mesh_terms

Encontra Medical Subject Headings padronizados

  • term: Termo para pesquisar no banco de dados MeSH

Ajuda a descobrir conceitos relacionados e melhorar a precisão da busca

get_related_articles

Descobre artigos relacionados a um artigo específico

  • pmid: ID do PubMed do artigo de referência
  • max_results: Número de artigos relacionados (1-50, padrão: 10)

Perfeito para revisões de literatura e para encontrar pesquisas relevantes

advanced_search

Buscas complexas com múltiplos critérios

  • terms: Lista de termos de busca para combinar
  • operator: "AND", "OR" ou "NOT" para combinar termos
  • authors: Lista de nomes de autores
  • journals: Lista de nomes de periódicos
  • publication_types: "Research Article", "Review", "Meta-Analysis", etc.
  • date_from/date_to: Intervalo de datas no formato YYYY/MM/DD
  • max_results: Número de resultados (1-100, padrão: 20)

Analytics e Monitoramento de Desempenho

O NCBI MCP Server inclui analytics abrangentes para ajudar você a entender seus padrões de pesquisa e otimizar o desempenho.

Ferramentas de Analytics

get_analytics_summary

Obtenha uma visão geral abrangente de analytics

"Show me my research analytics summary"

Retorna:

  • Total de solicitações e tempo de atividade
  • Detalhamento por operação (buscas, buscas de detalhes, etc.)
  • Métricas de desempenho de cache
  • Atividade recente e taxas de erro
  • Indicadores de saúde do sistema

get_detailed_metrics

Métricas detalhadas de desempenho para períodos específicos

"Get detailed metrics for the last 24 hours"
  • hours: Período de tempo para analisar (padrão: 24)
  • Dados de desempenho por operação
  • Análise de linha do tempo com detalhamento por hora
  • Taxas de erro e tempos de resposta por operação

reset_analytics

Redefine dados de analytics (use com cautela)

"Reset all analytics data"

Nota: Isso limpa permanentemente todas as métricas coletadas.

O Que É Monitorado

Padrões de Uso:

  • Consultas de busca e frequência
  • Operações mais utilizadas
  • Consultas únicas vs. repetidas
  • Períodos de pico de uso

Métricas de Desempenho:

  • Tempos de resposta para cada operação
  • Taxas de acerto/erro de cache
  • Taxas e tipos de erro
  • Eficiência de limitação de taxa

Insights de Pesquisa:

  • Termos e padrões de busca populares
  • Análise de fluxo de trabalho de pesquisa
  • Padrões de acesso à literatura
  • Periódicos e tópicos mais acessados

Implantação

Início Rápido

  1. Configure as credenciais:

    cp .env.example .env
    # Edit .env with your NCBI email and API key
    
  2. Escolha o método de implantação:

    # Local development
    ./deploy.sh local
    
    # Docker deployment
    ./deploy.sh docker
    
    # Production deployment
    ./deploy.sh production
    

Opções de Implantação

1. Desenvolvimento Local

Perfeito para desenvolvimento e testes:

poetry install
poetry run python -m src.ncbi_mcp_server.server

2. Implantação com Docker

Recomendado para a maioria dos usuários, com duas opções:

Configuração completa com Redis (recomendada):

# Copy and configure environment
cp .env.example .env
# Edit .env with your NCBI email and API key

# Start all services
docker-compose up -d

Configuração simples sem Redis:

# For basic usage without Redis dependencies
cp .env.example .env
# Edit .env with your NCBI email

docker-compose -f docker-compose.simple.yml up -d

A configuração completa inclui:

  • Container do NCBI MCP Server
  • Cache Redis para desempenho
  • Interface Redis Commander (http://localhost:8081)

A configuração simples inclui:

  • Apenas o container do NCBI MCP Server
  • Cache em memória (sem persistência)

3. Implantação em Produção

Para ambientes de produção:

# Configure production settings
cp .env.production .env
# Edit with production values

# Deploy
./deploy.sh production

Monitoramento

Logs do Docker:

docker-compose logs -f ncbi-mcp-server

Monitoramento de cache:

Verificações de saúde:

# Test server health
curl http://localhost:8000/health

# Test via MCP
python -c "from src.ncbi_mcp_server.server import cache_stats; import asyncio; print(asyncio.run(cache_stats()))"

Configuração

Chave de API do NCBI (Opcional, mas Recomendada)

Para limites de taxa mais altos e melhor desempenho:

  1. Registre-se no NCBI: https://www.ncbi.nlm.nih.gov/account/
  2. Obtenha a chave de API: https://www.ncbi.nlm.nih.gov/account/settings/
  3. Adicione ao código do servidor em src/ncbi_mcp_server/server.py:
# Replace the line: ncbi_client = NCBIClient()
# With:
ncbi_client = NCBIClient(
    email="your.email@university.edu",
    api_key="your_api_key_here"
)

Limites de Taxa

  • Sem chave de API: 3 solicitações/segundo
  • Com chave de API: 10 solicitações/segundo
  • Com chave de API + email: Limites mais altos para solicitações em massa

Fluxo de Trabalho de Desenvolvimento

Comandos Poetry

poetry shell              # Activate virtual environment
poetry add package        # Add new dependency
poetry remove package     # Remove dependency
poetry update            # Update all dependencies
poetry run python ...    # Run commands in environment
poetry build             # Create distribution packages

Qualidade de Código (se você adicionou dependências de desenvolvimento)

poetry add --group dev black mypy pytest isort flake8
poetry run black .       # Format code
poetry run mypy .        # Type checking  
poetry run pytest       # Run tests
poetry run isort .       # Sort imports

Compartilhando com Colegas

# They just need:
git clone your-repo
cd ncbi-mcp-server  
poetry install
# Everything works identically!

Tags de Campo para Buscas Avançadas

O PubMed suporta muitas tags de campo para busca precisa:

  • [ti] - Título
  • [tiab] - Título e Resumo
  • [au] - Autor
  • [mh] - Termos MeSH
  • [journal] - Nome do Periódico
  • [pdat] - Data de Publicação
  • [pt] - Tipo de Publicação
  • [lang] - Idioma
  • [sb] - Subconjunto (ex.: medline, pubmed)

Exemplos de Consultas Avançadas:

"machine learning"[ti] AND "phylogen*"[tiab] AND "2020"[pdat]:"2024"[pdat]
evolutionary[mh] AND computational[ti] AND (genomics[tiab] OR proteomics[tiab])
"ancient DNA"[ti] AND (paleogenomics[mh] OR phylogenomics[tiab])

Exemplos de Fluxo de Trabalho de Pesquisa

Fluxo de Trabalho de Revisão de Literatura

  1. Comece amplo: search_pubmed("computational phylogenetics")
  2. Refine com MeSH: search_mesh_terms("phylogenetics")
  3. Encontre artigos-chave: Use datas de publicação e filtros de periódicos
  4. Explore conexões: get_related_articles(pmid="key_paper_id")
  5. Aprofunde-se: get_article_details(pmids=["12345", "67890"])

Mantendo-se Atualizado

  1. Métodos recentes: search_pubmed("new methods", date_range="90")
  2. Siga autores-chave: search_pubmed("author_name[au]", sort="pub_date")
  3. Acompanhe tópicos específicos: advanced_search com suas palavras-chave de pesquisa

Descoberta de Métodos

  1. Artigos sobre algoritmos: search_pubmed("algorithm[ti] AND your_field")
  2. Ferramentas de software: search_pubmed("software[ti] OR tool[ti] AND bioinformatics")
  3. Benchmarking: search_pubmed("comparison[ti] OR benchmark[ti]")

Solução de Problemas

Problemas Comuns

O servidor não inicia:

  • Verifique a versão do Python (3.8+ necessária)
  • Instale as dependências: pip install -r requirements.txt
  • Verifique as permissões de arquivo

Sem resultados de busca:

  • Verifique a sintaxe da consulta (use tags de campo adequadas)
  • Tente termos de busca mais amplos
  • Verifique a conexão com a internet

Erros de limite de taxa:

  • Adicione atrasos entre as solicitações
  • Obtenha uma chave de API do NCBI para limites mais altos
  • Considere buscar menos resultados por consulta

Erros de análise XML:

  • Geralmente são problemas temporários do servidor do NCBI
  • Tente novamente após alguns segundos
  • Verifique o status do NCBI: https://www.ncbi.nlm.nih.gov/

Obtendo Ajuda

Contribuindo

Este servidor MCP foi projetado para crescer com a comunidade de pesquisa. Ideias para aprimoramento:

  • Bancos de dados adicionais: PMC, BioRxiv, bancos de dados além do NCBI
  • Análise de citações: Acompanhe o impacto de artigos e redes de citações
  • Formatos de exportação: BibTeX, EndNote, RIS para gerenciadores de referências
  • Buscas salvas: Perfis de pesquisa persistentes e alertas
  • Integração de texto completo: Quando disponível através do PMC

Licença

Este projeto é de código aberto. Sinta-se à vontade para modificar e distribuir de acordo com as políticas da sua instituição.


Perfeito para pesquisadores em:

  • Biologia Evolutiva e Filogenética
  • Biologia Computacional e Bioinformática
  • Evolução Molecular e Genética de Populações
  • Genômica Comparativa e Proteômica
  • Biologia de Sistemas e Análise de Redes
  • Bioestatística e Biologia Matemática
  • DNA Antigo e Paleogenômica
  • Genética da Conservação e Ecologia

Comece a explorar o vasto mundo da literatura biológica com buscas poderosas e precisas!