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
- Python 3.8 ou superior
- Poetry (recomendado) - Instalar Poetry
Configuração (5 minutos)
-
Crie e inicialize o projeto
mkdir ncbi-mcp-server && cd ncbi-mcp-server poetry initDurante a inicialização, adicione as dependências:
mcp,httpx,typing-extensions -
Crie a estrutura do projeto
mkdir -p src/ncbi_mcp_server # Save server.py code as src/ncbi_mcp_server/server.py -
Instale as dependências
poetry install -
Teste o servidor
poetry run python src/ncbi_mcp_server/server.py -
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" } } } - macOS:
-
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
-
Configure as credenciais:
cp .env.example .env # Edit .env with your NCBI email and API key -
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:
- Redis Commander: http://localhost:8081
- Estatísticas de cache via ferramenta MCP:
cache_stats()
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:
- Registre-se no NCBI: https://www.ncbi.nlm.nih.gov/account/
- Obtenha a chave de API: https://www.ncbi.nlm.nih.gov/account/settings/
- 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
- Comece amplo:
search_pubmed("computational phylogenetics") - Refine com MeSH:
search_mesh_terms("phylogenetics") - Encontre artigos-chave: Use datas de publicação e filtros de periódicos
- Explore conexões:
get_related_articles(pmid="key_paper_id") - Aprofunde-se:
get_article_details(pmids=["12345", "67890"])
Mantendo-se Atualizado
- Métodos recentes:
search_pubmed("new methods", date_range="90") - Siga autores-chave:
search_pubmed("author_name[au]", sort="pub_date") - Acompanhe tópicos específicos:
advanced_searchcom suas palavras-chave de pesquisa
Descoberta de Métodos
- Artigos sobre algoritmos:
search_pubmed("algorithm[ti] AND your_field") - Ferramentas de software:
search_pubmed("software[ti] OR tool[ti] AND bioinformatics") - 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
- Documentação de E-utilities do NCBI: https://www.ncbi.nlm.nih.gov/books/NBK25499/
- Dicas de busca no PubMed: https://pubmed.ncbi.nlm.nih.gov/help/
- Banco de dados MeSH: https://www.ncbi.nlm.nih.gov/mesh/
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!