Мутация Клиническое испытание Соответствие MCP
Сервер протокола контекста модели (MCP), который позволяет Claude Desktop искать совпадения в clincialtrials.gov на основе мутаций.
Статус
В настоящее время это первая фаза разработки. Она работает над получением испытаний на основе заданных мутаций в запросе Клода. Однако все еще есть ошибки и дальнейшие улучшения и дополнения, которые необходимо реализовать.
Обзор
Этот проект следует принципам Agentic Coding для создания системы, которая интегрирует Claude Desktop с API clinicaltrials.gov. Сервер позволяет делать запросы на естественном языке о генетических мутациях и возвращает обобщенную информацию о соответствующих клинических испытаниях.
Каждый узел в потоке следует шаблону узла PocketFlow с методами prep
, exec
и post
:
Структура проекта
Этот проект организован в соответствии с парадигмой агентного кодирования:
- Требования (под руководством человека):
- Поиск и обобщение клинических испытаний, связанных с определенными генетическими мутациями.
- Предоставьте информацию о мутациях в качестве контекстных ресурсов
- Полная интеграция с Claude Desktop
- Проектирование потока (совместное):
- Пользователь спрашивает Клода Десктопа о генетической мутации
- Клод называет наш инструмент MCP-сервера
- Сервер запрашивает API clinicaltrials.gov
- Сервер обрабатывает и суммирует результаты
- Сервер возвращает форматированные результаты Клоду
- Утилиты (совместные):
clinicaltrials/query.py
: обрабатывает вызовы API к clinicaltrials.govutils/call_llm.py
: Утилиты для работы с Клодом
- Проектирование узлов (под управлением ИИ):
utils/node.py
: реализует базовые классы Node и BatchNode с шаблоном prep/exec/postclinicaltrials/nodes.py
: определяет специализированные узлы для запросов и обобщенийclinicaltrials_mcp_server.py
: организует выполнение потока
- Реализация (под управлением ИИ):
- FastMCP SDK для обработки деталей протокола
- Обработка ошибок на всех уровнях
- Ресурсы для распространенных мутаций
Компоненты
Сервер MCP ( clinicaltrials_mcp_server.py
)
Основной сервер, реализующий интерфейс Model Context Protocol, использующий официальный Python SDK. Он:
- Регистрирует и предоставляет инструменты для использования Клодом
- Предоставляет ресурсы с информацией о распространенных мутациях
- Обеспечивает связь с Claude Desktop
Модуль запроса ( clinicaltrials/query.py
)
Отвечает за запросы к API clinicaltrials.gov с помощью:
- Надежная обработка ошибок
- Проверка входных данных
- Подробная регистрация
Суммировщик ( llm/summarize.py
)
Обрабатывает и форматирует данные клинических испытаний:
- Организует испытания по фазам
- Извлекает ключевую информацию (идентификатор NCT, резюме, условия и т. д.)
- Создает читабельную сводку разметки
Реализация шаблона узла
В этом проекте реализован шаблон PocketFlow Node, который обеспечивает модульный, удобный в обслуживании подход к построению рабочих процессов ИИ:
Базовые классы узлов ( utils/node.py
)
- Узел : базовый класс с методами
prep
,exec
иpost
для обработки данных. - BatchNode : расширение для пакетной обработки нескольких элементов
- Поток : организует выполнение узлов в последовательности.
Узлы внедрения ( clinicaltrials/nodes.py
)
- QueryTrialsNode :
- РезюмироватьTrialsNode :
Поток исполнения
Сервер MCP создает и запускает поток:
Этот шаблон разделяет подготовку, выполнение и постобработку, делая код более поддерживаемым и тестируемым. Для получения более подробной информации см. проектную документацию .
Использование
- Установите зависимости с помощью uv:
- Настройте рабочий стол Claude:
- Конфигурация в
~/Library/Application Support/Claude/claude_desktop_config.json
уже должна быть настроена
- Конфигурация в
- Запустите Claude Desktop и задайте такие вопросы:
- «Какие клинические испытания доступны для мутаций EGFR L858R?»
- «Проводятся ли какие-либо испытания мутаций BRAF V600E?»
- «Расскажите мне об испытаниях перестроек ALK»
- Используйте ресурсы, задавая вопросы:
- «Можете ли вы рассказать мне больше о мутации KRAS G12C?»
Интеграция с Claude Desktop
Вы можете настроить этот проект как инструмент Claude Desktop MCP. Используйте заполнители путей в своей конфигурации и замените их на ваши фактические пути:
Переменные пути:
{PATH_TO_VENV}
: Полный путь к каталогу вашей виртуальной среды.{PATH_TO_PROJECT}
: полный путь к каталогу, содержащему файлы вашего проекта.
Инструкция по установке:
- Клонируйте репозиторий на локальный компьютер.
- Установите uv, если у вас его еще нет:
- Создайте виртуальную среду и установите зависимости за один шаг:
- При необходимости активируйте виртуальную среду:
- Определите полный путь к вашей виртуальной среде и каталогу проекта.
- Обновите свою конфигурацию, используя эти конкретные пути.
Примеры:
- На macOS/Linux:
- В Windows:
Советы по поиску пути:
- Чтобы найти точный путь к интерпретатору Python в виртуальной среде, выполните:
which python
(macOS/Linux)where python
(Windows, после активации venv)
- В качестве пути к проекту используйте полный путь к каталогу, содержащему
clinicaltrials_mcp_server.py
.
Будущие улучшения
Полный список запланированных улучшений и будущих работ можно найти в документе future_work.md .
Зависимости
Этот проект опирается на следующие ключевые зависимости:
- Python 3.7+ — базовая среда выполнения
- PocketFlow (
pocketflow>=0.0.1
) — фреймворк для создания модульных рабочих процессов ИИ с использованием шаблона Node - MCP SDK (
mcp[cli]>=1.0.0
) - Официальный SDK Model Context Protocol для создания инструментов Claude Desktop - Запросы (
requests==2.31.0
) - HTTP-библиотека для выполнения вызовов API к clinicaltrials.gov - Python-dotenv (
python-dotenv==1.1.0
) — для загрузки переменных среды из файлов .env
Все зависимости можно установить с помощью uv, как описано в инструкции по установке.
Поиск неисправностей
Если Claude Desktop отключается от сервера MCP:
- Проверьте логи по адресу:
~/Library/Logs/Claude/mcp-server-clinicaltrials-mcp.log
- Перезагрузить рабочий стол Клода
- Убедитесь, что сервер работает правильно.
Процесс разработки
Этот проект был разработан с использованием подхода кодирования с помощью ИИ, следуя принципам агентного кодирования, где люди проектируют, а агенты ИИ реализуют. Оригинальная программа на main была создана 2025-04-30. Реализация была создана с помощью парного программирования с:
- Виндсерфинг
- ЧатGPT 4.1
- Клод 3.7 Сонет
Эти помощники на основе искусственного интеллекта сыграли важную роль в переводе высокоуровневых требований к проектированию в функциональный код, помогли с интеграцией API и структурировали проект в соответствии с передовыми практиками.
Обработка ограничения на количество символов .windsurfrules
Файл PocketFlow .windsurfrules
из репозитория шаблонов содержит комплексные правила проекта, но Windsurf устанавливает ограничение в 6000 символов для файлов правил. Это означает, что вы не можете включить весь набор правил непосредственно в свой проект, а важные правила могут быть опущены или усечены.
Для решения этой проблемы рекомендуется два решения:
1. Использование памяти Windsurf 🪁 для хранения правил
Вы можете использовать функцию памяти Windsurf для хранения полного набора правил PocketFlow, даже если они превышают лимит файла .windsurfrules
. Такой подход позволяет ссылаться на все соглашения проекта и передовые практики в общении с Windsurf, гарантируя, что ничего не будет потеряно из-за усечения. Пошаговые инструкции и подробное сравнение файлов памяти и правил см. в docs/memory_vs_windsurfrules.md .
2. Использование Context7 для доступа к рекомендациям
Важное примечание : этот проект основан на репозитории PocketFlow-Template-Python , который включает в себя полный файл .windsurfrules
. Однако Windsurf имеет ограничение в 6000 символов для файлов правил, что означает, что полные правила PocketFlow не могут быть полностью загружены в память Windsurf.
Чтобы устранить это ограничение, мы создали подробные инструкции по использованию сервера Context7 MCP для доступа к рекомендациям PocketFlow во время разработки. Такой подход позволяет вам использовать всю мощь шаблонов проектирования и лучших практик PocketFlow, не ограничиваясь ограничением по количеству символов.
Для получения подробных инструкций по использованию Context7 с PocketFlow, пожалуйста, обратитесь к нашему руководству Context7 . Это руководство включает в себя:
- Пошаговая инструкция по настройке Context7 MCP в Windsurf
- Подсказки на естественном языке для доступа к документации PocketFlow
- Примеры получения конкретных шаблонов реализации
- Как сохранить важные закономерности в качестве воспоминаний для дальнейшего использования
Следуя этому руководству, вы сможете соблюдать принципы агентного кодирования PocketFlow при разработке и расширении этого проекта.
Благодарности
Этот проект был создан с использованием PocketFlow-Template-Python в качестве отправной точки. Особая благодарность первоначальным участникам этого проекта за предоставление основы и структуры, которые сделали эту реализацию возможной.
Проект следует методологии агентного кодирования, описанной в исходном шаблоне.
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .
⚠️ Отказ от ответственности
Этот проект является прототипом и предназначен только для исследовательских и демонстрационных целей. Он не должен использоваться для принятия медицинских решений или в качестве замены профессиональной медицинской консультации, диагностики или лечения. Из-за ограничений больших языковых моделей (LLM) информация, предоставляемая этим инструментом, может быть неполной, неточной или устаревшей. Пользователи должны проявлять осторожность и консультироваться с квалифицированными специалистами в области здравоохранения, прежде чем принимать какие-либо решения на основе результатов этой системы.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Сервер протокола контекста модели, который позволяет Claude Desktop выполнять поиск на clinicaltrials.gov для соответствующих клинических испытаний на основе генетических мутаций, указанных в запросах на естественном языке.
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server that enhances language models with protein structure analysis capabilities, enabling detailed active site analysis and disease-related protein searches through established protein databases.Last updated -26TypeScript
- -securityAlicense-qualityA specialized Model Context Protocol server that enhances AI-assisted medical learning by connecting Claude Desktop to PubMed, NCBI Bookshelf, and user documents for searching, retrieving, and analyzing medical education content.Last updated -PythonMIT License
- -securityFlicense-qualityA Model Context Protocol server providing AI assistants with access to healthcare data tools, including FDA drug information, PubMed research, health topics, clinical trials, and medical terminology lookup.Last updated -6Python
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI tools like Claude or Cursor to directly interact with FamilySearch's family history data, including searching person records, viewing detailed information, and exploring ancestors and descendants.Last updated -93TypeScriptMIT License