Skip to main content
Glama

Servidor MCP de atención médica

Un servidor de Protocolo de Contexto Modelo (MCP) que proporciona a los asistentes de IA acceso a datos de atención médica y herramientas de información médica.

Descripción general

El Servidor MCP de Salud es un servidor especializado que implementa el Protocolo de Contexto de Modelo (MCP) para proporcionar a los asistentes de IA acceso a datos de atención médica y herramientas de información médica. Permite a los modelos de IA recuperar información médica precisa y actualizada de fuentes confiables.

Related MCP server: MCP Toolkit

Características

  • Información sobre medicamentos de la FDA : Busque y recupere información completa sobre medicamentos de la base de datos de la FDA

  • PubMed Research : Busque literatura médica en la base de datos de artículos científicos de PubMed.

  • Temas de salud : Acceda a información de salud basada en evidencia en Health.gov

  • Ensayos clínicos : búsqueda de ensayos clínicos en curso y finalizados

  • Terminología médica : Busque códigos CIE-10 y definiciones de terminología médica

  • Almacenamiento en caché : sistema de almacenamiento en caché eficiente con agrupación de conexiones para reducir las llamadas a la API y mejorar el rendimiento

  • Seguimiento de uso : seguimiento de uso anónimo para supervisar el uso de la API

  • Manejo de errores : manejo y registro de errores robustos

  • Interfaces múltiples : compatibilidad con interfaces stdio (para CLI) y HTTP/SSE

  • Documentación de API : Documentación de API interactiva con Swagger UI

  • Pruebas integrales : Amplio conjunto de pruebas con pytest e informes de cobertura

Instalación

Instalación manual

  1. Clonar el repositorio:

    git clone https://github.com/Cicatriiz/healthcare-mcp-public.git cd healthcare-mcp-public
  2. Crear un entorno virtual:

    python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
  3. Instalar dependencias:

    pip install -r requirements.txt
  4. Configurar variables de entorno (opcional):

    # Create .env file from example cp .env.example .env # Edit .env with your API keys (optional)
  5. Ejecutar el servidor:

    python run.py

Uso

Corriendo en diferentes modos de transporte

  • Modo stdio (predeterminado, para Cline):

    python run.py
  • Modo HTTP/SSE (para clientes web):

    python run.py --http --port 8000

Probando las herramientas

Puede probar las herramientas MCP utilizando la nueva suite de pruebas basada en pytest:

# Run all tests with pytest and coverage python -m tests.run_tests --pytest # Run a specific test file python -m tests.run_tests --test test_fda_tool.py # Test the HTTP server python -m tests.run_tests --server --port 8000

Para mantener la compatibilidad con versiones anteriores, aún puedes ejecutar las pruebas antiguas:

# Run all tests (old style) python -m tests.run_tests # Test individual tools (old style) python -m tests.run_tests --fda # Test FDA drug lookup python -m tests.run_tests --pubmed # Test PubMed search python -m tests.run_tests --health # Test Health Topics python -m tests.run_tests --trials # Test Clinical Trials search python -m tests.run_tests --icd # Test ICD-10 code lookup

Referencia de API

El servidor MCP de atención médica proporciona una API programática para integración directa y una API HTTP RESTful para clientes web.

Puntos finales de API RESTful

Cuando se ejecuta en modo HTTP, están disponibles los siguientes puntos finales:

Chequeo de salud

GET /health

Devuelve el estado del servidor y sus servicios.

Búsqueda de medicamentos de la FDA

GET /api/fda?drug_name={drug_name}&search_type={search_type}

Parámetros:

  • drug_name : Nombre del medicamento a buscar

  • search_type : Tipo de información a recuperar

    • general : Información básica del medicamento (predeterminado)

    • label : Información de etiquetado de medicamentos

    • adverse_events : Eventos adversos notificados

Ejemplo de respuesta:

{ "status": "success", "drug_name": "aspirin", "search_type": "general", "total_results": 25, "results": [ { "brand_name": "ASPIRIN", "generic_name": "ASPIRIN", "manufacturer": "Bayer Healthcare", "product_type": "HUMAN OTC DRUG", "route": "ORAL", "active_ingredients": [ { "name": "ASPIRIN", "strength": "325 mg/1" } ] } ] }

Búsqueda en PubMed

GET /api/pubmed?query={query}&max_results={max_results}&date_range={date_range}

Parámetros:

  • query : Consulta de búsqueda de literatura médica

  • max_results : Número máximo de resultados a devolver (predeterminado: 5, máximo: 50)

  • date_range : Límite a artículos publicados en los últimos años (por ejemplo, '5' para los últimos 5 años)

Ejemplo de respuesta:

{ "status": "success", "query": "diabetes treatment", "total_results": 123456, "date_range": "5", "articles": [ { "pmid": "12345678", "title": "New advances in diabetes treatment", "authors": ["Smith J", "Johnson A"], "journal": "Journal of Diabetes Research", "publication_date": "2023-01-15", "abstract": "This study explores new treatment options...", "url": "https://pubmed.ncbi.nlm.nih.gov/12345678/" } ] }

Temas de salud

GET /api/health_finder?topic={topic}&language={language}

Parámetros:

  • topic : Tema de salud para buscar información

  • language : Idioma del contenido (en o es, predeterminado: en)

Ejemplo de respuesta:

{ "status": "success", "search_term": "diabetes", "language": "en", "total_results": 15, "topics": [ { "title": "Diabetes Type 2", "url": "https://health.gov/myhealthfinder/topics/health-conditions/diabetes/diabetes-type-2", "last_updated": "2023-05-20", "section": "Health Conditions", "description": "Information about managing type 2 diabetes", "content": ["Diabetes is a disease...", "Treatment options include..."] } ] }

Búsqueda de ensayos clínicos

GET /api/clinical_trials?condition={condition}&status={status}&max_results={max_results}

Parámetros:

  • condition : Condición médica o enfermedad a buscar

  • status : Estado de la prueba (en proceso de reclutamiento, completada, activa, no reclutando o todas)

  • max_results : Número máximo de resultados a devolver (predeterminado: 10, máximo: 100)

Ejemplo de respuesta:

{ "status": "success", "condition": "breast cancer", "search_status": "recruiting", "total_results": 256, "trials": [ { "nct_id": "NCT12345678", "title": "Study of New Treatment for Breast Cancer", "status": "Recruiting", "phase": "Phase 2", "study_type": "Interventional", "conditions": ["Breast Cancer", "HER2-positive Breast Cancer"], "locations": [ { "facility": "Memorial Hospital", "city": "New York", "state": "NY", "country": "United States" } ], "sponsor": "National Cancer Institute", "url": "https://clinicaltrials.gov/study/NCT12345678", "eligibility": { "gender": "Female", "min_age": "18 Years", "max_age": "75 Years", "healthy_volunteers": "No" } } ] }

Búsqueda de códigos CIE-10

GET /api/medical_terminology?code={code}&description={description}&max_results={max_results}

Parámetros:

  • code : código CIE-10 a buscar (opcional si se proporciona una descripción)

  • description : Descripción de la condición médica a buscar (opcional si se proporciona el código)

  • max_results : Número máximo de resultados a devolver (predeterminado: 10, máximo: 50)

Ejemplo de respuesta:

{ "status": "success", "search_type": "description", "search_term": "diabetes", "total_results": 25, "codes": [ { "code": "E11", "description": "Type 2 diabetes mellitus", "category": "Endocrine, nutritional and metabolic diseases" }, { "code": "E10", "description": "Type 1 diabetes mellitus", "category": "Endocrine, nutritional and metabolic diseases" } ] }

Ejecución de herramientas genéricas

POST /mcp/call-tool

Cuerpo de la solicitud:

{ "name": "fda_drug_lookup", "arguments": { "drug_name": "aspirin", "search_type": "general" }, "session_id": "optional-session-id" }

API programática

Al utilizar el servidor MCP mediante programación, están disponibles las siguientes funciones:

Búsqueda de medicamentos de la FDA

fda_drug_lookup(drug_name: str, search_type: str = "general")

Parámetros:

  • drug_name : Nombre del medicamento a buscar

  • search_type : Tipo de información a recuperar

    • general : Información básica del medicamento (predeterminado)

    • label : Información de etiquetado de medicamentos

    • adverse_events : Eventos adversos notificados

Búsqueda en PubMed

pubmed_search(query: str, max_results: int = 5, date_range: str = "")

Parámetros:

  • query : Consulta de búsqueda de literatura médica

  • max_results : Número máximo de resultados a devolver (predeterminado: 5)

  • date_range : Límite a artículos publicados en los últimos años (por ejemplo, '5' para los últimos 5 años)

Temas de salud

health_topics(topic: str, language: str = "en")

Parámetros:

  • topic : Tema de salud para buscar información

  • language : Idioma del contenido (en o es, predeterminado: en)

Búsqueda de ensayos clínicos

clinical_trials_search(condition: str, status: str = "recruiting", max_results: int = 10)

Parámetros:

  • condition : Condición médica o enfermedad a buscar

  • status : Estado de la prueba (en proceso de reclutamiento, completada, activa, no reclutando o todas)

  • max_results : Número máximo de resultados a devolver

Búsqueda de códigos CIE-10

lookup_icd_code(code: str = None, description: str = None, max_results: int = 10)

Parámetros:

  • code : código CIE-10 a buscar (opcional si se proporciona una descripción)

  • description : Descripción de la condición médica a buscar (opcional si se proporciona el código)

  • max_results : Número máximo de resultados a devolver

Fuentes de datos

Este servidor MCP utiliza varias API de atención médica disponibles públicamente:

Versión Premium (aún en desarrollo)

Esta es la versión gratuita de Healthcare MCP Server con límites de uso. Para funciones avanzadas y límites de uso más altos, consulte nuestra versión premium:

  • Llamadas API ilimitadas

  • Herramientas avanzadas de datos de atención médica

  • Integraciones personalizadas

  • Soporte prioritario

Licencia

Licencia MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Cicatriiz/healthcare-mcp-public'

If you have feedback or need assistance with the MCP directory API, please join our Discord server