👁 npm
👁 Docker
👁 Version
👁 Framework
👁 MCP SDK
👁 License
👁 TypeScript
Публичный хостинг сервера: https://clinicaltrials.caseyjhand.com/mcp
Обзор
Семь инструментов для поиска, обнаружения, анализа и подбора клинических исследований:
Название инструмента | Описание |
| Поиск исследований с помощью полнотекстовых запросов, фильтров, пагинации, сортировки и выбора полей. |
| Получение одного исследования по NCT ID. Возвращает полную запись: протокол, критерии включения, исходы, группы, вмешательства, контакты и локации. |
| Получение общего количества исследований по запросу без загрузки данных. Быстрая статистика и разбивка. |
| Поиск допустимых значений для полей API (статус, фаза, тип исследования и т.д.) с подсчетом для каждого значения. |
| Просмотр дерева полей модели данных исследования — названия частей, типы, вложенность. Поддерживает навигацию по поддеревьям и поиск по ключевым словам. |
| Извлечение исходов, нежелательных явлений, потока участников и исходных данных из завершенных исследований. Опциональный режим сводки сокращает полезную нагрузку с ~200 КБ до ~5 КБ. |
| Подбор подходящих рекрутинговых исследований на основе демографических данных пациента и заболеваний. Укажите возраст, пол, заболевания и местоположение, чтобы найти исследования с соответствующими критериями включения, контактами и локациями. |
Ресурс | Описание |
| Получение одного клинического исследования по NCT ID. Полный JSON. |
Промпт | Описание |
| Адаптивный рабочий процесс для анализа ландшафта исследований на основе данных с использованием инструментов подсчета и поиска. |
Related MCP server: Healthcare 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)
Установка
Клонируйте репозиторий:
git clone https://github.com/cyanheads/clinicaltrialsgov-mcp-server.gitПерейдите в директорию:
cd clinicaltrialsgov-mcp-serverУстановите зависимости:
bun install
Конфигурация
Вся конфигурация опциональна — сервер работает с настройками по умолчанию без ключей API.
Переменная | Описание | По умолчанию |
| Базовый URL API ClinicalTrials.gov. |
|
| Тайм-аут запроса в миллисекундах. |
|
| Максимальный размер страницы. |
|
| Транспорт: |
|
| Порт для HTTP-сервера. |
|
| Режим аутентификации: |
|
| Уровень логирования (RFC 5424). |
|
| Директория для лог-файлов (только Node.js). |
|
| Включить трассировку OpenTelemetry. |
|
Запуск сервера
Локальная разработка
Сборка и запуск продакшн-версии:
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Структура проекта
Директория | Назначение |
| Определения инструментов ( |
| Определения ресурсов ( |
| Определения промптов ( |
| Клиент API ClinicalTrials.gov и типы. |
| Парсинг переменных окружения и валидация через Zod. |
| Модульные и интеграционные тесты. |
Руководство по разработке
См. CLAUDE.md для получения рекомендаций по разработке и архитектурных правил. Кратко:
Обработчики выбрасывают исключения, фреймворк перехватывает — никаких
try/catchв логике инструментовИспользуйте
ctx.logдля логирования в рамках запроса, никаких вызововconsoleРегистрируйте новые инструменты и ресурсы в файлах
index.ts
Вклад в проект
Проблемы и пулл-реквесты приветствуются. Перед отправкой запустите проверки:
bun run devcheck
bun run testЛицензия
Apache-2.0 — подробности см. в LICENSE.
Maintenance
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
