Skip to main content
Glama
cyanheads

clinicaltrialsgov-mcp-server

by cyanheads

npm Docker Version Framework

MCP SDK License TypeScript

Servidor público alojado: https://clinicaltrials.caseyjhand.com/mcp


Descripción general

Siete herramientas para buscar, descubrir, analizar y emparejar ensayos clínicos:

Nombre de la herramienta

Descripción

clinicaltrials_search_studies

Busca estudios con consultas de texto completo, filtros, paginación, ordenación y selección de campos.

clinicaltrials_get_study_record

Obtiene un estudio individual por NCT ID. Devuelve el registro completo: protocolo, elegibilidad, resultados, brazos, intervenciones, contactos y ubicaciones.

clinicaltrials_get_study_count

Obtiene el recuento total de estudios para una consulta sin recuperar datos. Estadísticas rápidas y desgloses.

clinicaltrials_get_field_values

Descubre valores válidos para campos de la API (estado, fase, tipo de estudio, etc.) con recuentos por valor.

clinicaltrials_get_field_definitions

Explora el árbol de campos del modelo de datos de estudio: nombres de piezas, tipos, anidamiento. Admite navegación por subárboles y búsqueda por palabras clave.

clinicaltrials_get_study_results

Extrae resultados, eventos adversos, flujo de participantes y línea base de estudios completados. El modo de resumen opcional reduce cargas útiles de ~200KB a ~5KB.

clinicaltrials_find_eligible

Empareja datos demográficos y condiciones del paciente con ensayos de reclutamiento elegibles. Proporciona edad, sexo, condiciones y ubicación para encontrar estudios con criterios de elegibilidad, contactos y ubicaciones de reclutamiento coincidentes.

Recurso

Descripción

clinicaltrials://{nctId}

Obtiene un estudio clínico individual por NCT ID. JSON completo.

Prompt

Descripción

analyze_trial_landscape

Flujo de trabajo adaptable para el análisis del panorama de ensayos basado en datos utilizando herramientas de recuento + búsqueda.

Related MCP server: ClinicalTrials.gov MCP Server

Herramientas

clinicaltrials_search_studies

Herramienta de búsqueda principal con capacidades completas de consulta de ClinicalTrials.gov.

  • Consultas de texto completo y específicas por campo (condición, intervención, patrocinador, ubicación, título, resultado)

  • Filtros de estado y fase con valores de enumeración tipados

  • Filtrado de proximidad geográfica por coordenadas y distancia

  • Soporte avanzado de expresiones Essie AREA[] para consultas complejas

  • Selección de campos para reducir el tamaño de la carga útil (los registros completos son de ~70KB cada uno)

  • Paginación con tokens de cursor, ordenación por cualquier campo


clinicaltrials_get_study_results

Obtiene datos de resultados publicados para estudios completados.

  • Medidas de resultados con estadísticas, eventos adversos, flujo de participantes, características de línea base

  • Filtrado a nivel de sección (solicita solo los datos que necesitas)

  • El modo de resumen opcional condensa los resultados completos (~200KB) a metadatos esenciales (~5KB por estudio)

  • Procesamiento por lotes de múltiples NCT IDs por llamada con informes de éxito parcial

  • Seguimiento separado de estudios sin resultados y errores de obtención

clinicaltrials_find_eligible

Empareja un perfil de paciente con ensayos de reclutamiento elegibles.

  • Toma edad, sexo, condiciones y ubicación como datos demográficos del paciente

  • Crea consultas de API optimizadas con filtros demográficos (rango de edad, sexo, voluntarios sanos)

  • Devuelve estudios con campos de elegibilidad y ubicación para que el llamador los evalúe

  • Proporciona sugerencias prácticas cuando no hay estudios coincidentes (ampliar condiciones, ajustar filtros)

Características

Construido sobre @cyanheads/mcp-ts-core:

  • Definiciones declarativas de herramientas/recursos/prompts con esquemas Zod y funciones de formato

  • Manejo de errores unificado: los controladores lanzan, el framework captura y clasifica

  • Transporte dual: stdio y HTTP transmitible desde la misma base de código

  • Autenticación conectable (none, jwt, oauth) para transporte HTTP

  • Registro estructurado con rastreo opcional de OpenTelemetry

Específico de ClinicalTrials.gov:

  • Cliente con seguridad de tipos para la API REST v2 de ClinicalTrials.gov

  • API pública: no se requiere autenticación ni claves de API

  • Reintento con retroceso exponencial (3 intentos) y limitación de tasa (~1 req/seg)

  • Detección de errores HTML y fábricas de errores estructuradas

Primeros pasos

Instancia pública alojada

Hay una instancia pública disponible en https://clinicaltrials.caseyjhand.com/mcp: no requiere instalación. Apunta cualquier cliente MCP hacia ella mediante HTTP transmitible:

{
  "mcpServers": {
    "clinicaltrialsgov-mcp-server": {
      "type": "streamable-http",
      "url": "https://clinicaltrials.caseyjhand.com/mcp"
    }
  }
}

Autoalojado / Local

Agrégalo a la configuración de tu cliente MCP (por ejemplo, claude_desktop_config.json):

{
  "mcpServers": {
    "clinicaltrialsgov-mcp-server": {
      "type": "stdio",
      "command": "bunx",
      "args": ["clinicaltrialsgov-mcp-server@latest"],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio"
      }
    }
  }
}

O para HTTP transmitible:

MCP_TRANSPORT_TYPE=http
MCP_HTTP_PORT=3010

Requisitos previos

Instalación

  1. Clona el repositorio:

    git clone https://github.com/cyanheads/clinicaltrialsgov-mcp-server.git
  2. Navega al directorio:

    cd clinicaltrialsgov-mcp-server
  3. Instala las dependencias:

    bun install

Configuración

Toda la configuración es opcional: el servidor funciona con valores predeterminados y sin claves de API.

Variable

Descripción

Predeterminado

CT_API_BASE_URL

URL base de la API de ClinicalTrials.gov.

https://clinicaltrials.gov/api/v2

CT_REQUEST_TIMEOUT_MS

Tiempo de espera por solicitud en milisegundos.

30000

CT_MAX_PAGE_SIZE

Límite máximo de tamaño de página.

200

MCP_TRANSPORT_TYPE

Transporte: stdio o http.

stdio

MCP_HTTP_PORT

Puerto para el servidor HTTP.

3010

MCP_AUTH_MODE

Modo de autenticación: none, jwt o oauth.

none

MCP_LOG_LEVEL

Nivel de registro (RFC 5424).

info

LOGS_DIR

Directorio para archivos de registro (solo Node.js).

<project-root>/logs

OTEL_ENABLED

Habilitar rastreo de OpenTelemetry.

false

Ejecución del servidor

Desarrollo local

  • Compila y ejecuta la versión de producción:

    bun run build
    bun run start:http   # or start:stdio
  • Ejecuta en modo de desarrollo (con watch):

    bun run dev:http     # or dev:stdio
  • Ejecuta comprobaciones y pruebas:

    bun run devcheck     # Lints, formats, type-checks
    bun run test         # Runs test suite

Docker

docker build -t clinicaltrialsgov-mcp-server .
docker run -p 3010:3010 clinicaltrialsgov-mcp-server

Estructura del proyecto

Directorio

Propósito

src/mcp-server/tools/

Definiciones de herramientas (*.tool.ts).

src/mcp-server/resources/

Definiciones de recursos (*.resource.ts).

src/mcp-server/prompts/

Definiciones de prompts (*.prompt.ts).

src/services/clinical-trials/

Cliente y tipos de la API de ClinicalTrials.gov.

src/config/

Análisis y validación de variables de entorno con Zod.

tests/

Pruebas unitarias y de integración.

Guía de desarrollo

Consulta CLAUDE.md para conocer las pautas de desarrollo y las reglas arquitectónicas. La versión corta:

  • Los controladores lanzan, el framework captura: no uses try/catch en la lógica de la herramienta

  • Usa ctx.log para el registro con alcance de solicitud, no llamadas a console

  • Registra nuevas herramientas y recursos en los archivos barril index.ts

Contribución

Las incidencias y las solicitudes de extracción son bienvenidas. Ejecuta las comprobaciones antes de enviar:

bun run devcheck
bun run test

Licencia

Apache-2.0: consulta LICENSE para obtener más detalles.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
1hResponse time
3dRelease cycle
30Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Provides LLMs with structured access to critical biomedical databases including PubTator3 (PubMed/PMC), ClinicalTrials.gov, and MyVariant.info through the Model Context Protocol.
    35
    600
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to search and access clinical trial data from ClinicalTrials.gov, including searching trials by keywords, retrieving detailed trial metadata by NCT ID, and managing trial data in CSV format for research and analysis.
    16
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to search and analyze clinical trial data from ClinicalTrials.gov using both structured SQL queries for filtering trials by status, phase, and conditions, and semantic vector search for exploring detailed protocol information like exclusion criteria.

View all related MCP servers

Related MCP Connectors

  • ClinicalTrials MCP — wraps ClinicalTrials.gov API v2 (free, no auth)

  • Real-time Amazon, WIPO & PACER data for AI agents — 19 tools via the MCP protocol.

  • Search US grants + federal contracts (Grants.gov + SAM.gov) from any LLM.

View all MCP Connectors

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/cyanheads/clinicaltrialsgov-mcp-server'

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