NCBI Literature Search

Busca en bases de datos de NCBI, incluyendo PubMed, literatura científica. Diseñado para investigadores en ciencias de la vida, biología evolutiva y biología computacional.

Documentación

Servidor MCP de Búsqueda de Literatura NCBI

Un servidor de Protocolo de Contexto de Modelos (MCP) para buscar en bases de datos de NCBI, diseñado para investigadores en todos los campos de las ciencias de la vida y biomédicos. Este servidor proporciona acceso fluido a la vasta colección de más de 35 millones de artículos científicos de PubMed a través de consultas en lenguaje natural, permitiendo que los asistentes de IA ayuden con revisiones de literatura, descubrimiento de investigación y análisis científico.

Características

🔬 Búsqueda Integral: Busca en los más de 35 millones de artículos de PubMed en todas las disciplinas biológicas 📊 Consultas Avanzadas: Soporte para búsquedas complejas con operadores booleanos, etiquetas de campo y filtros
🧬 Investigación en Ciencias de la Vida: Cubre todos los campos biológicos y biomédicos, incluyendo genética, ecología, medicina y biotecnología 💻 Biología Computacional: Perfecto para encontrar métodos de bioinformática, algoritmos y herramientas computacionales 🔬 Aplicaciones de Investigación: Revisiones de literatura, generación de hipótesis, descubrimiento de métodos y mantenerse al día con los avances científicos 📚 Detalles Completos de Artículos: Obtén resúmenes, listas de autores, términos MeSH, DOIs e información de publicación 🔗 Artículos Relacionados: Descubre investigaciones relevantes a través de los algoritmos de relación de NCBI 📖 Integración MeSH: Busca y utiliza Encabezados de Materia Médica para terminología precisa

Inicio Rápido

Requisitos Previos

Configuración (5 minutos)

  1. Crear e inicializar proyecto

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

    Durante la inicialización, agrega dependencias: mcp, httpx, typing-extensions

  2. Crear estructura del proyecto

    mkdir -p src/ncbi_mcp_server
    # Save server.py code as src/ncbi_mcp_server/server.py
    
  3. Instalar dependencias

    poetry install
    
  4. Probar el servidor

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

    Edita tu archivo de configuración de 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

    Agrega esta configuración:

    {
      "mcpServers": {
        "ncbi-literature": {
          "command": "poetry",
          "args": ["run", "python", "src/ncbi_mcp_server/server.py"],
          "cwd": "/FULL/PATH/TO/YOUR/ncbi-mcp-server"
        }
      }
    }
    
  6. Reinicia Claude Desktop ¡y comienza a buscar!

Métodos Alternativos de Configuración

Haz clic para expandir métodos alternativos de instalación

Entorno Conda

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

pip estándar + venv

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

Ejemplos de Uso

Para Investigación en Biología Evolutiva

Buscar estudios filogenéticos:

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

Encontrar métodos computacionales de filogenética:

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

Buscar por organismo específico:

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

Para Investigación en Biología Computacional

Artículos sobre algoritmos y 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"

Artículos sobre software y bases de datos:

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

Ejemplos de Búsqueda Avanzada

Búsqueda multicriterio:

"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"]

Búsquedas 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]"

Referencia de Herramientas

search_pubmed

Herramienta principal de búsqueda para la base de datos PubMed

  • query: Términos de búsqueda (soporta etiquetas de campo como [ti] para título, [au] para autor, [mh] para términos MeSH)
  • max_results: Número de resultados (1-100, predeterminado: 20)
  • sort: Ordenar por "relevance", "pub_date", "author" o "journal"
  • date_range: Limitar a artículos recientes ("30", "90", "365", "1095" días)

Ejemplos:

  • "CRISPR[ti] AND evolution" - CRISPR en el título Y evolución en cualquier parte
  • "phylogenetic analysis[mh]" - Usando término MeSH para análisis filogenético
  • "computational biology AND machine learning" - Búsqueda booleana

get_article_details

Obtener información completa para artículos específicos

  • pmids: Lista de IDs de PubMed (hasta 50)

Devuelve resúmenes completos, listas de autores, términos MeSH, DOI, detalles de publicación

search_mesh_terms

Encontrar Encabezados de Materia Médica estandarizados

  • term: Término para buscar en la base de datos MeSH

Ayuda a descubrir conceptos relacionados y mejorar la precisión de la búsqueda

get_related_articles

Descubrir artículos relacionados con un artículo específico

  • pmid: ID de PubMed del artículo de referencia
  • max_results: Número de artículos relacionados (1-50, predeterminado: 10)

Perfecto para revisiones de literatura y encontrar investigaciones relevantes

advanced_search

Búsquedas complejas con múltiples criterios

  • terms: Lista de términos de búsqueda para combinar
  • operator: "AND", "OR" o "NOT" para combinar términos
  • authors: Lista de nombres de autores
  • journals: Lista de nombres de revistas
  • publication_types: "Research Article", "Review", "Meta-Analysis", etc.
  • date_from/date_to: Rango de fechas en formato YYYY/MM/DD
  • max_results: Número de resultados (1-100, predeterminado: 20)

Analíticas y Monitoreo de Rendimiento

El Servidor MCP de NCBI incluye analíticas integrales para ayudarte a comprender tus patrones de investigación y optimizar el rendimiento.

Herramientas de Analíticas

get_analytics_summary

Obtener una visión general completa de las analíticas

"Show me my research analytics summary"

Devuelve:

  • Solicitudes totales y tiempo de actividad
  • Desglose de operaciones (búsquedas, recuperaciones, etc.)
  • Métricas de rendimiento de caché
  • Actividad reciente y tasas de error
  • Indicadores de salud del sistema

get_detailed_metrics

Métricas de rendimiento detalladas para períodos de tiempo específicos

"Get detailed metrics for the last 24 hours"
  • hours: Período de tiempo a analizar (predeterminado: 24)
  • Datos de rendimiento específicos por operación
  • Análisis de línea de tiempo con desgloses por hora
  • Tasas de error y tiempos de respuesta por operación

reset_analytics

Restablecer datos de analíticas (usar con precaución)

"Reset all analytics data"

Nota: Esto borra permanentemente todas las métricas recopiladas.

Qué se Rastrea

Patrones de Uso:

  • Consultas de búsqueda y frecuencia
  • Operaciones más utilizadas
  • Consultas únicas vs. repetidas
  • Períodos de uso máximo

Métricas de Rendimiento:

  • Tiempos de respuesta para cada operación
  • Tasas de aciertos/fallos de caché
  • Tasas y tipos de error
  • Eficiencia de limitación de velocidad

Perspectivas de Investigación:

  • Términos y patrones de búsqueda populares
  • Análisis de flujo de trabajo de investigación
  • Patrones de acceso a literatura
  • Revistas y temas más accedidos

Implementación

Inicio Rápido

  1. Configurar credenciales:

    cp .env.example .env
    # Edit .env with your NCBI email and API key
    
  2. Elegir método de implementación:

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

Opciones de Implementación

1. Desarrollo Local

Perfecto para desarrollo y pruebas:

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

2. Implementación con Docker

Recomendado para la mayoría de los usuarios con dos opciones:

Configuración completa con 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

Configuración simple sin 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

La configuración completa incluye:

  • Contenedor del Servidor MCP de NCBI
  • Caché Redis para rendimiento
  • Interfaz de Redis Commander (http://localhost:8081)

La configuración simple incluye:

  • Solo contenedor del Servidor MCP de NCBI
  • Caché en memoria (sin persistencia)

3. Implementación en Producción

Para entornos de producción:

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

# Deploy
./deploy.sh production

Monitoreo

Registros de Docker:

docker-compose logs -f ncbi-mcp-server

Monitoreo de caché:

  • Redis Commander: http://localhost:8081
  • Estadísticas de caché a través de la herramienta MCP: cache_stats()

Verificaciones de salud:

# 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()))"

Configuración

Clave API de NCBI (Opcional pero Recomendada)

Para límites de velocidad más altos y mejor rendimiento:

  1. Regístrate en NCBI: https://www.ncbi.nlm.nih.gov/account/
  2. Obtén la clave API: https://www.ncbi.nlm.nih.gov/account/settings/
  3. Agrégala al código del servidor en 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"
)

Límites de Velocidad

  • Sin clave API: 3 solicitudes/segundo
  • Con clave API: 10 solicitudes/segundo
  • Con clave API + correo electrónico: Límites más altos para solicitudes masivas

Flujo de Trabajo de Desarrollo

Comandos de 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

Calidad de Código (si agregaste dependencias de desarrollo)

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

Compartir con Colegas

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

Etiquetas de Campo para Búsquedas Avanzadas

PubMed admite muchas etiquetas de campo para búsquedas precisas:

  • [ti] - Título
  • [tiab] - Título y Resumen
  • [au] - Autor
  • [mh] - Términos MeSH
  • [journal] - Nombre de Revista
  • [pdat] - Fecha de Publicación
  • [pt] - Tipo de Publicación
  • [lang] - Idioma
  • [sb] - Subconjunto (ej., medline, pubmed)

Ejemplos de Consultas Avanzadas:

"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])

Ejemplos de Flujos de Trabajo de Investigación

Flujo de Trabajo de Revisión de Literatura

  1. Comienza amplio: search_pubmed("computational phylogenetics")
  2. Refina con MeSH: search_mesh_terms("phylogenetics")
  3. Encuentra artículos clave: Usa fechas de publicación y filtros de revistas
  4. Explora conexiones: get_related_articles(pmid="key_paper_id")
  5. Inmersión profunda: get_article_details(pmids=["12345", "67890"])

Mantenerse al Día

  1. Métodos recientes: search_pubmed("new methods", date_range="90")
  2. Sigue a autores clave: search_pubmed("author_name[au]", sort="pub_date")
  3. Rastrea temas específicos: advanced_search con tus palabras clave de investigación

Descubrimiento de Métodos

  1. Artículos de algoritmos: search_pubmed("algorithm[ti] AND your_field")
  2. Herramientas de software: search_pubmed("software[ti] OR tool[ti] AND bioinformatics")
  3. Evaluación comparativa: search_pubmed("comparison[ti] OR benchmark[ti]")

Solución de Problemas

Problemas Comunes

El servidor no inicia:

  • Verifica la versión de Python (se requiere 3.8+)
  • Instala dependencias: pip install -r requirements.txt
  • Verifica los permisos de archivos

Sin resultados de búsqueda:

  • Verifica la sintaxis de la consulta (usa etiquetas de campo adecuadas)
  • Prueba con términos de búsqueda más amplios
  • Verifica la conexión a internet

Errores de límite de velocidad:

  • Agrega demoras entre solicitudes
  • Obtén una clave API de NCBI para límites más altos
  • Considera buscar menos resultados por consulta

Errores de análisis XML:

  • Generalmente son problemas temporales del servidor de NCBI
  • Reintenta después de unos segundos
  • Verifica el estado de NCBI: https://www.ncbi.nlm.nih.gov/

Obtener Ayuda

Contribuciones

Este servidor MCP está diseñado para crecer con la comunidad de investigación. Ideas para mejoras:

  • Bases de datos adicionales: PMC, BioRxiv, bases de datos más allá de NCBI
  • Análisis de citas: Rastrear impacto de artículos y redes de citación
  • Formatos de exportación: BibTeX, EndNote, RIS para gestores de referencias
  • Búsquedas guardadas: Perfiles de búsqueda persistentes y alertas
  • Integración de texto completo: Cuando esté disponible a través de PMC

Licencia

Este proyecto es de código abierto. Siéntete libre de modificarlo y distribuirlo de acuerdo con las políticas de tu institución.


Perfecto para investigadores en:

  • Biología Evolutiva y Filogenética
  • Biología Computacional y Bioinformática
  • Evolución Molecular y Genética de Poblaciones
  • Genómica Comparativa y Proteómica
  • Biología de Sistemas y Análisis de Redes
  • Bioestadística y Biología Matemática
  • ADN Antiguo y Paleogenómica
  • Genética de la Conservación y Ecología

¡Comienza a explorar el vasto mundo de la literatura biológica con búsquedas potentes y precisas!