VOOZH about

URL: https://glama.ai/mcp/servers/pickleton89/mutation-clinical-trial-matching-mcp?locale=ru-RU

⇱ Мутация Клиническое испытание Соответствие MCP by pickleton89 | Glama


Мутация Клиническое испытание Соответствие MCP

Сервер протокола контекста модели (MCP), который позволяет Claude Desktop искать совпадения в clincialtrials.gov на основе мутаций.

Статус

В настоящее время это первая фаза разработки. Она работает над получением испытаний на основе заданных мутаций в запросе Клода. Однако все еще есть ошибки и дальнейшие улучшения и дополнения, которые необходимо реализовать.

Related MCP server: MedAdapt Content Server

Обзор

Этот проект следует принципам Agentic Coding для создания системы, которая интегрирует Claude Desktop с API clinicaltrials.gov. Сервер позволяет делать запросы на естественном языке о генетических мутациях и возвращает обобщенную информацию о соответствующих клинических испытаниях.

flowchart LR
 Claude[Claude Desktop] <-->|MCP Protocol| Server[MCP Server]
 
 subgraph Flow[PocketFlow]
 QueryNode[Query Node] -->|trials_data| SummarizeNode[Summarize Node]
 end
 
 Server -->|mutation| Flow
 QueryNode -->|API Request| API[Clinicaltrials.gov API]
 API -->|Trial Data| QueryNode
 Flow -->|summary| Server
 Server -->|Return| Claude

Каждый узел в потоке следует шаблону узла PocketFlow с методами prep , exec и post :

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

Этот проект организован в соответствии с парадигмой агентного кодирования:

  1. Требования (под руководством человека):

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

    • Предоставьте информацию о мутациях в качестве контекстных ресурсов

    • Полная интеграция с Claude Desktop

  2. Проектирование потока (совместное):

    • Пользователь спрашивает Клода Десктопа о генетической мутации

    • Клод называет наш инструмент MCP-сервера

    • Сервер запрашивает API clinicaltrials.gov

    • Сервер обрабатывает и суммирует результаты

    • Сервер возвращает форматированные результаты Клоду

  3. Утилиты (совместные):

    • clinicaltrials/query.py : обрабатывает вызовы API к clinicaltrials.gov

    • utils/call_llm.py : Утилиты для работы с Клодом

  4. Проектирование узлов (под управлением ИИ):

    • utils/node.py : реализует базовые классы Node и BatchNode с шаблоном prep/exec/post

    • clinicaltrials/nodes.py : определяет специализированные узлы для запросов и обобщений

    • clinicaltrials_mcp_server.py : организует выполнение потока

  5. Реализация (под управлением ИИ):

    • 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 )

  1. QueryTrialsNode :

    # Queries clinicaltrials.gov API
    def prep(self, shared): return shared["mutation"]
    def exec(self, mutation): return query_clinical_trials(mutation)
    def post(self, shared, mutation, result):
     shared["trials_data"] = result
     shared["studies"] = result.get("studies", [])
     return "summarize"
  2. РезюмироватьTrialsNode :

    # Formats trial data into readable summaries
    def prep(self, shared): return shared["studies"]
    def exec(self, studies): return format_trial_summary(studies)
    def post(self, shared, studies, summary):
     shared["summary"] = summary
     return None # End of flow

Поток исполнения

Сервер MCP создает и запускает поток:

# Create nodes
query_node = QueryTrialsNode()
summarize_node = SummarizeTrialsNode()

# Create flow
flow = Flow(start=query_node)
flow.add_node("summarize", summarize_node)

# Run flow with shared context
shared = {"mutation": mutation}
result = flow.run(shared)

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

Использование

  1. Установите зависимости с помощью uv:

    uv pip install -r requirements.txt
  2. Настройте рабочий стол Claude:

    • Конфигурация в ~/Library/Application Support/Claude/claude_desktop_config.json уже должна быть настроена

  3. Запустите Claude Desktop и задайте такие вопросы:

    • «Какие клинические испытания доступны для мутаций EGFR L858R?»

    • «Проводятся ли какие-либо испытания мутаций BRAF V600E?»

    • «Расскажите мне об испытаниях перестроек ALK»

  4. Используйте ресурсы, задавая вопросы:

    • «Можете ли вы рассказать мне больше о мутации KRAS G12C?»


Интеграция с Claude Desktop

Вы можете настроить этот проект как инструмент Claude Desktop MCP. Используйте заполнители путей в своей конфигурации и замените их на ваши фактические пути:

"mutation-clinical-trials-mcp": {
 "command": "{PATH_TO_VENV}/bin/python",
 "args": [
 "{PATH_TO_PROJECT}/clinicaltrials_mcp_server.py"
 ],
 "description": "Matches genetic mutations to relevant clinical trials and provides summaries."
}

Переменные пути:

  • {PATH_TO_VENV} : Полный путь к каталогу вашей виртуальной среды.

  • {PATH_TO_PROJECT} : полный путь к каталогу, содержащему файлы вашего проекта.

Инструкция по установке:

  1. Клонируйте репозиторий на локальный компьютер.

  2. Установите uv, если у вас его еще нет:

    curl -LsSf https://astral.sh/uv/install.sh | sh # macOS/Linux
    # or
    iwr -useb https://astral.sh/uv/install.ps1 | iex # Windows PowerShell
  3. Создайте виртуальную среду и установите зависимости за один шаг:

    uv venv .venv
    uv pip install -r requirements.txt
  4. При необходимости активируйте виртуальную среду:

    source .venv/bin/activate # macOS/Linux
    .venv\Scripts\activate # Windows
  5. Определите полный путь к вашей виртуальной среде и каталогу проекта.

  6. Обновите свою конфигурацию, используя эти конкретные пути.

Примеры:

  • На macOS/Linux:

    "command": "/Users/username/projects/mutation_trial_matcher/.venv/bin/python"
  • В Windows:

    "command": "C:\\Users\\username\\projects\\mutation_trial_matcher\\.venv\\Scripts\\python.exe"

Советы по поиску пути:

  • Чтобы найти точный путь к интерпретатору 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) информация, предоставляемая этим инструментом, может быть неполной, неточной или устаревшей. Пользователи должны проявлять осторожность и консультироваться с квалифицированными специалистами в области здравоохранения, прежде чем принимать какие-либо решения на основе результатов этой системы.


A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Appeared in Searches

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/pickleton89/mutation-clinical-trial-matching-mcp'

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