clinicaltrialsgov-mcp-server
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 |
| Busca estudios con consultas de texto completo, filtros, paginación, ordenación y selección de campos. |
| Obtiene un estudio individual por ID NCT. Devuelve el registro completo: protocolo, elegibilidad, resultados, brazos, intervenciones, contactos y ubicaciones. |
| Obtiene el recuento total de estudios para una consulta sin recuperar datos. Estadísticas rápidas y desgloses. |
| Descubre valores válidos para campos de la API (estado, fase, tipo de estudio, etc.) con recuentos por valor. |
| Explora el árbol de campos del modelo de datos del estudio: nombres de piezas, tipos, anidamiento. Admite navegación por subárboles y búsqueda por palabras clave. |
| Extrae resultados, eventos adversos, flujo de participantes y datos basales de estudios completados. El modo de resumen opcional reduce cargas útiles de ~200KB a ~5KB. |
| 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 |
| Obtiene un estudio clínico individual por ID NCT. JSON completo. |
Prompt | Descripción |
| Flujo de trabajo adaptable para el análisis del panorama de ensayos basado en datos utilizando herramientas de recuento + búsqueda. |
Related MCP server: Healthcare 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 basales
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 IDs NCT por llamada con informes de éxito parcial
Seguimiento separado de estudios sin resultados y errores de recuperación
clinicaltrials_find_eligible
Empareja un perfil de paciente con ensayos de reclutamiento elegibles.
Toma la 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 HTTPRegistro 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 requieren 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 a 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=3010Requisitos previos
Bun v1.2.0 o superior (o Node.js >= 22.0.0)
Instalación
Clona el repositorio:
git clone https://github.com/cyanheads/clinicaltrialsgov-mcp-server.gitNavega al directorio:
cd clinicaltrialsgov-mcp-serverInstala 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 |
| URL base de la API de ClinicalTrials.gov. |
|
| Tiempo de espera por solicitud en milisegundos. |
|
| Límite máximo de tamaño de página. |
|
| Transporte: |
|
| Puerto para el servidor HTTP. |
|
| Modo de autenticación: |
|
| Nivel de registro (RFC 5424). |
|
| Directorio para archivos de registro (solo Node.js). |
|
| Habilitar rastreo de OpenTelemetry. |
|
Ejecución del servidor
Desarrollo local
Compila y ejecuta la versión de producción:
bun run build bun run start:http # or start:stdioEjecuta en modo de desarrollo (con watch):
bun run dev:http # or dev:stdioEjecuta 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-serverEstructura del proyecto
Directorio | Propósito |
| Definiciones de herramientas ( |
| Definiciones de recursos ( |
| Definiciones de prompts ( |
| Cliente y tipos de la API de ClinicalTrials.gov. |
| Análisis y validación de variables de entorno con Zod. |
| 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/catchen la lógica de la herramientaUsa
ctx.logpara el registro con alcance de solicitud, no llamadas aconsoleRegistra nuevas herramientas y recursos en los archivos barril
index.ts
Contribución
Las incidencias y las solicitudes de extracción (pull requests) son bienvenidas. Ejecuta las comprobaciones antes de enviar:
bun run devcheck
bun run testLicencia
Apache-2.0: consulta LICENSE para obtener más detalles.
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