Сервер cBioPortal MCP
Высокопроизводительный асинхронный сервер Model Context Protocol (MCP), который позволяет помощникам ИИ взаимодействовать с данными геномики рака из cBioPortal , платформы для изучения многомерных наборов данных геномики рака. Создан на современном асинхронном Python для значительно более быстрого извлечения данных.
Функции
- 🔍 Исследования рака : просматривайте и ищите исследования рака, доступные на cBioPortal
- 🧬 Геномные данные : доступ к генным мутациям, клиническим данным и молекулярным профилям
- 🔎 Возможности поиска : найдите исследования, гены и образцы с помощью поиска по ключевым словам.
- 📊 Несколько типов данных : извлечение мутаций, клинических данных и метаданных исследований
- ⚡ Асинхронная производительность : полностью асинхронная реализация для значительно более быстрого извлечения данных (до 4,5 раз быстрее)
- 📚 Массовые операции : одновременная выборка нескольких исследований и генов для повышения производительности
- 🔄 Интеграция FastMCP : построена на высокопроизводительной платформе FastMCP
Оглавление
- Установка
- Использование
- Конфигурация
- Доступные инструменты
- Примеры
- Поиск неисправностей
- Разработка
- Лицензия
Установка
Предпосылки
- Python 3.8 или выше
- pip (установщик пакетов Python)
- Git (необязательно, для клонирования репозитория)
Настройка среды
Вариант 1: Использование venv и pip (стандартный метод)
Установка зависимостей с помощью pip
Вариант 2: Использование УФ (более быстрая альтернатива)
UV — это современный высокопроизводительный менеджер пакетов Python и менеджер окружения, который значительно быстрее pip.
Установка зависимостей с помощью UV
Загрузить сервер
Загрузите скрипт cbioportal_server.py
в свой рабочий каталог или клонируйте этот репозиторий:
Сделать скрипт исполняемым (только для Linux/macOS)
Использование
Запуск сервера
Чтобы запустить сервер с настройками по умолчанию:
Это запустит сервер, используя общедоступный API cBioPortal по адресу https://www.cbioportal.org/api
.
Расширенные параметры
Настройте поведение сервера с помощью аргументов командной строки:
Конфигурация
Использование с Claude Desktop
- Установить Клод Десктоп
- Открыть рабочий стол Клода
- Нажмите на значок MCP Servers на панели инструментов.
- Добавьте новый сервер MCP со следующей конфигурацией:
Примечание: Обязательно замените пути на фактические пути к исполняемому файлу Python и серверному скрипту. Поле command
должно указывать на исполняемый файл Python в вашей виртуальной среде (например, .venv/bin/python3
), а первый элемент массива args
должен быть путем к скрипту cbioportal_server.py
. Если вы столкнулись с ошибкой ENOTDIR
, убедитесь, что поле command
правильно установлено на исполняемый файл Python, а не на каталог.
Использование с VS Code
Настройте сервер MCP в настройках вашего рабочего пространства:
Доступные инструменты
Сервер cBioPortal MCP предоставляет следующие инструменты:
Название инструмента | Описание |
---|---|
get_cancer_studies | Перечислите все доступные исследования рака в cBioPortal |
get_cancer_types | Получить список всех типов рака |
get_study_details | Получите подробную информацию о конкретном исследовании рака |
get_samples_in_study | Получить список образцов, связанных с исследованием |
get_genes | Получите информацию о конкретных генах по их символу Hugo или идентификатору Entrez |
search_genes | Поиск генов по ключевому слову в их символе или названии |
get_mutations_in_gene | Получить мутации в определенном гене для данного исследования |
get_clinical_data | Получите клинические данные о пациентах, участвующих в исследовании |
get_molecular_profiles | Получите список молекулярных профилей, доступных для исследования |
search_studies | Поиск исследований рака по ключевому слову |
get_multiple_studies | Выполняйте несколько исследований одновременно для повышения производительности |
get_multiple_genes | Извлечение нескольких генов одновременно с помощью автоматического пакетирования |
Примеры
Вот примеры вопросов, которые вы можете задать помощникам на базе искусственного интеллекта, подключенным к этому серверу:
Производительность
Этот сервер реализует полную асинхронную поддержку для значительного повышения производительности при извлечении данных из API cBioPortal.
Результаты сравнительного анализа
Наше тестирование показывает значительное улучшение производительности при асинхронной реализации:
- В 4,57 раза быстрее для одновременной выборки исследований по сравнению с последовательными операциями
- Эффективная пакетная обработка для извлечения нескольких генов
- Постоянное качество данных между последовательными и параллельными операциями
Преимущества массовых операций
Сервер предоставляет специализированные инструменты для массовых операций, использующих параллелизм:
get_multiple_studies
: извлекает несколько исследований параллельно с помощью asyncio.gatherget_multiple_genes
: реализует интеллектуальное пакетирование для эффективного параллельного извлечения генов
Эти методы включают подробные показатели производительности, такие как время выполнения и количество партий, которые помогут вам оценить рост эффективности.
Поиск неисправностей
Сервер не запускается
- Убедитесь, что у вас установлен Python 3.8+:
python --version
- Проверьте, что все зависимости установлены:
pip list | grep mcp
- Проверьте наличие сообщений об ошибках в консоли.
Проблемы с подключением к Claude Desktop
- Проверьте правильность пути к скрипту в вашей конфигурации.
- Убедитесь, что у скрипта есть разрешения на выполнение.
- Проверьте журналы Клода на наличие подробных сообщений об ошибках.
Проблемы с подключением API
- Убедитесь, что у вас есть подключение к Интернету
- Убедитесь, что API cBioPortal доступен:
curl https://www.cbioportal.org/api/cancer-types
- Попробуйте использовать другую конечную точку API, если она доступна.
Разработка
Расширение сервера
Вы можете расширить функциональность сервера, добавив новые методы в класс CBioPortalMCPServer
и зарегистрировав их в качестве инструментов:
Будущие улучшения
Возможные улучшения для будущих версий:
- Кэширование часто используемых данных
- Поддержка аутентификации для частных экземпляров cBioPortal
- Дополнительные конечные точки для более полного доступа к данным
- Тонкая настройка ограничений параллелизма на основе возможностей сервера
- Добавьте механизмы повтора запроса для более надежной обработки ошибок.
- Реализовать больше методов параллельных массовых операций для других конечных точек
Обновления и обслуживание
Чтобы обновить MCP SDK до последней версии:
Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE.
Благодарности
- cBioPortal за предоставление платформы данных геномики рака с открытым доступом
- Модель контекстного протокола для обеспечения взаимодействия ИИ-инструментов
- FastMCP для высокопроизводительной серверной среды MCP
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Сервер, который позволяет помощникам на основе искусственного интеллекта взаимодействовать с данными геномики рака из cBioPortal, позволяя пользователям изучать исследования рака, получать доступ к геномным данным и извлекать информацию о мутациях и клиническую информацию.
Related MCP Servers
- -securityFlicense-qualityEnables AI assistants to interact with Metabase databases and dashboards, allowing users to list and execute queries, access data visualizations, and interact with database resources through natural language.Last updated -40JavaScript
- -securityFlicense-qualityEnables AI assistants to interact with Metabase, providing access to dashboards, questions, databases, and tools for executing queries and viewing data through natural language.Last updated -JavaScript
- -securityAlicense-qualityAn MCP server enabling AI assistants to search and analyze pharmaceutical data through Cortellis. Features comprehensive drug search, ontology exploration, and real-time clinical trial data access.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 -10Python