Skip to main content
Glama
cyanheads

clinicaltrialsgov-mcp-server

by cyanheads

npm Docker Version Framework

MCP SDK License TypeScript

Публичный хостинг сервера: https://clinicaltrials.caseyjhand.com/mcp


Обзор

Семь инструментов для поиска, обнаружения, анализа и подбора клинических исследований:

Название инструмента

Описание

clinicaltrials_search_studies

Поиск исследований с помощью полнотекстовых запросов, фильтров, пагинации, сортировки и выбора полей.

clinicaltrials_get_study_record

Получение одного исследования по NCT ID. Возвращает полную запись: протокол, критерии включения, исходы, группы, вмешательства, контакты и локации.

clinicaltrials_get_study_count

Получение общего количества исследований по запросу без загрузки данных. Быстрая статистика и разбивка.

clinicaltrials_get_field_values

Поиск допустимых значений для полей API (статус, фаза, тип исследования и т.д.) с подсчетом для каждого значения.

clinicaltrials_get_field_definitions

Просмотр дерева полей модели данных исследования — названия частей, типы, вложенность. Поддерживает навигацию по поддеревьям и поиск по ключевым словам.

clinicaltrials_get_study_results

Извлечение исходов, нежелательных явлений, потока участников и исходных данных из завершенных исследований. Опциональный режим сводки сокращает полезную нагрузку с ~200 КБ до ~5 КБ.

clinicaltrials_find_eligible

Подбор подходящих рекрутинговых исследований на основе демографических данных пациента и заболеваний. Укажите возраст, пол, заболевания и местоположение, чтобы найти исследования с соответствующими критериями включения, контактами и локациями.

Ресурс

Описание

clinicaltrials://{nctId}

Получение одного клинического исследования по NCT ID. Полный JSON.

Промпт

Описание

analyze_trial_landscape

Адаптивный рабочий процесс для анализа ландшафта исследований на основе данных с использованием инструментов подсчета и поиска.

Related MCP server: ClinicalTrials.gov MCP Server

Инструменты

clinicaltrials_search_studies

Основной инструмент поиска с полными возможностями запросов ClinicalTrials.gov.

  • Полнотекстовые и специфические для полей запросы (заболевание, вмешательство, спонсор, локация, название, исход)

  • Фильтры статуса и фазы с типизированными значениями перечислений

  • Географическая фильтрация по координатам и расстоянию

  • Поддержка расширенных выражений AREA[] Essie для сложных запросов

  • Выбор полей для уменьшения размера полезной нагрузки (полные записи весят ~70 КБ каждая)

  • Пагинация с токенами курсора, сортировка по любому полю


clinicaltrials_get_study_results

Получение опубликованных данных о результатах для завершенных исследований.

  • Меры исходов со статистикой, нежелательными явлениями, потоком участников, исходными характеристиками

  • Фильтрация на уровне разделов (запрашивайте только нужные данные)

  • Опциональный режим сводки сжимает полные результаты (~200 КБ) до основных метаданных (~5 КБ на исследование)

  • Пакетная обработка нескольких NCT ID за один вызов с отчетом о частичном успехе

  • Отдельное отслеживание исследований без результатов и ошибок получения

clinicaltrials_find_eligible

Подбор подходящих рекрутинговых исследований для профиля пациента.

  • Принимает возраст, пол, заболевания и местоположение в качестве демографических данных пациента

  • Формирует оптимизированные API-запросы с демографическими фильтрами (возрастной диапазон, пол, здоровые добровольцы)

  • Возвращает исследования с полями критериев включения и локаций для оценки вызывающей стороной

  • Предоставляет полезные подсказки, если подходящих исследований не найдено (расширение условий, корректировка фильтров)

Функции

Построено на @cyanheads/mcp-ts-core:

  • Декларативные определения инструментов/ресурсов/промптов со схемами Zod и функциями форматирования

  • Единая обработка ошибок — обработчики выбрасывают исключения, фреймворк перехватывает и классифицирует их

  • Двойной транспорт: stdio и Streamable HTTP из одной кодовой базы

  • Подключаемая аутентификация (none, jwt, oauth) для HTTP-транспорта

  • Структурированное логирование с опциональной трассировкой OpenTelemetry

Специфические функции ClinicalTrials.gov:

  • Типизированный клиент для ClinicalTrials.gov REST API v2

  • Публичный API — аутентификация или ключи API не требуются

  • Повторные попытки с экспоненциальной задержкой (3 попытки) и ограничением частоты запросов (~1 запрос/сек)

  • Обнаружение HTML-ошибок и фабрики структурированных ошибок

Начало работы

Публичный хостинг

Публичный экземпляр доступен по адресу https://clinicaltrials.caseyjhand.com/mcp — установка не требуется. Укажите его в любом MCP-клиенте через Streamable HTTP:

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

Самостоятельный хостинг / Локально

Добавьте в конфигурацию вашего MCP-клиента (например, claude_desktop_config.json):

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

Или для Streamable HTTP:

MCP_TRANSPORT_TYPE=http
MCP_HTTP_PORT=3010

Предварительные требования

  • Bun v1.2.0 или выше (или Node.js >= 22.0.0)

Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/cyanheads/clinicaltrialsgov-mcp-server.git
  2. Перейдите в директорию:

    cd clinicaltrialsgov-mcp-server
  3. Установите зависимости:

    bun install

Конфигурация

Вся конфигурация опциональна — сервер работает с настройками по умолчанию без ключей API.

Переменная

Описание

По умолчанию

CT_API_BASE_URL

Базовый URL API ClinicalTrials.gov.

https://clinicaltrials.gov/api/v2

CT_REQUEST_TIMEOUT_MS

Тайм-аут запроса в миллисекундах.

30000

CT_MAX_PAGE_SIZE

Максимальный размер страницы.

200

MCP_TRANSPORT_TYPE

Транспорт: stdio или http.

stdio

MCP_HTTP_PORT

Порт для HTTP-сервера.

3010

MCP_AUTH_MODE

Режим аутентификации: none, jwt, oauth.

none

MCP_LOG_LEVEL

Уровень логирования (RFC 5424).

info

LOGS_DIR

Директория для лог-файлов (только Node.js).

<project-root>/logs

OTEL_ENABLED

Включить трассировку OpenTelemetry.

false

Запуск сервера

Локальная разработка

  • Сборка и запуск продакшн-версии:

    bun run build
    bun run start:http   # or start:stdio
  • Запуск в режиме разработки (с отслеживанием изменений):

    bun run dev:http     # or dev:stdio
  • Запуск проверок и тестов:

    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

Структура проекта

Директория

Назначение

src/mcp-server/tools/

Определения инструментов (*.tool.ts).

src/mcp-server/resources/

Определения ресурсов (*.resource.ts).

src/mcp-server/prompts/

Определения промптов (*.prompt.ts).

src/services/clinical-trials/

Клиент API ClinicalTrials.gov и типы.

src/config/

Парсинг переменных окружения и валидация через Zod.

tests/

Модульные и интеграционные тесты.

Руководство по разработке

См. CLAUDE.md для получения рекомендаций по разработке и архитектурных правил. Кратко:

  • Обработчики выбрасывают исключения, фреймворк перехватывает — никаких try/catch в логике инструментов

  • Используйте ctx.log для логирования в рамках запроса, никаких вызовов console

  • Регистрируйте новые инструменты и ресурсы в файлах index.ts

Вклад в проект

Проблемы и пулл-реквесты приветствуются. Перед отправкой запустите проверки:

bun run devcheck
bun run test

Лицензия

Apache-2.0 — подробности см. в LICENSE.

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