Skip to main content
Glama

cBioPortal MCP Server

by pickleton89

Сервер cBioPortal MCP

Высокопроизводительный асинхронный сервер Model Context Protocol (MCP), который позволяет помощникам ИИ взаимодействовать с данными геномики рака из cBioPortal , платформы для изучения многомерных наборов данных геномики рака. Создан на современном асинхронном Python для значительно более быстрого извлечения данных.

Функции

  • 🔍 Исследования рака : просматривайте и ищите исследования рака, доступные на cBioPortal
  • 🧬 Геномные данные : доступ к генным мутациям, клиническим данным и молекулярным профилям
  • 🔎 Возможности поиска : найдите исследования, гены и образцы с помощью поиска по ключевым словам.
  • 📊 Несколько типов данных : извлечение мутаций, клинических данных и метаданных исследований
  • ⚡ Асинхронная производительность : полностью асинхронная реализация для значительно более быстрого извлечения данных (до 4,5 раз быстрее)
  • 📚 Массовые операции : одновременная выборка нескольких исследований и генов для повышения производительности
  • 🔄 Интеграция FastMCP : построена на высокопроизводительной платформе FastMCP

Оглавление

Установка

Предпосылки

  • Python 3.8 или выше
  • pip (установщик пакетов Python)
  • Git (необязательно, для клонирования репозитория)

Настройка среды

Вариант 1: Использование venv и pip (стандартный метод)
# Create a virtual environment python -m venv cbioportal-mcp-env # Activate the environment # On Windows: cbioportal-mcp-env\Scripts\activate # On macOS/Linux: source cbioportal-mcp-env/bin/activate
Установка зависимостей с помощью pip
# Install the MCP SDK and FastMCP framework pip install mcp>=2.0.0 # Install additional dependencies pip install httpx asyncio
Вариант 2: Использование УФ (более быстрая альтернатива)

UV — это современный высокопроизводительный менеджер пакетов Python и менеджер окружения, который значительно быстрее pip.

# Install UV if you don't have it yet pipx install uv # Or with Homebrew # brew install uv # Create and activate a virtual environment with UV uv venv # Activate the environment # On Windows: .venv\Scripts\activate # On macOS/Linux: source .venv/bin/activate
Установка зависимостей с помощью UV
# Install the MCP SDK and FastMCP framework uv pip install mcp>=2.0.0 # Install additional dependencies uv pip install httpx asyncio

Загрузить сервер

Загрузите скрипт cbioportal_server.py в свой рабочий каталог или клонируйте этот репозиторий:

git clone https://github.com/pickleton89/cbioportal-mcp.git cd cbioportal-mcp

Сделать скрипт исполняемым (только для Linux/macOS)

chmod +x cbioportal_server.py

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

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

Чтобы запустить сервер с настройками по умолчанию:

python cbioportal_server.py

Это запустит сервер, используя общедоступный API cBioPortal по адресу https://www.cbioportal.org/api .

Расширенные параметры

Настройте поведение сервера с помощью аргументов командной строки:

# Use a different cBioPortal API instance python cbioportal_server.py --base-url https://your-cbioportal-instance.org/api # Specify a different transport mechanism (only stdio supported currently) python cbioportal_server.py --transport stdio

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

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

  1. Установить Клод Десктоп
  2. Открыть рабочий стол Клода
  3. Нажмите на значок MCP Servers на панели инструментов.
  4. Добавьте новый сервер MCP со следующей конфигурацией:
{ "mcpServers": { "cbioportal": { "command": "/Users/jeffkiefer/Documents/projects/cbioportal_MCP/.venv/bin/python3", "args": ["/Users/jeffkiefer/Documents/projects/cbioportal_MCP/cbioportal_server.py"], "env": {} } } }

Примечание: Обязательно замените пути на фактические пути к исполняемому файлу Python и серверному скрипту. Поле command должно указывать на исполняемый файл Python в вашей виртуальной среде (например, .venv/bin/python3 ), а первый элемент массива args должен быть путем к скрипту cbioportal_server.py . Если вы столкнулись с ошибкой ENOTDIR , убедитесь, что поле command правильно установлено на исполняемый файл Python, а не на каталог.

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

Настройте сервер MCP в настройках вашего рабочего пространства:

{ "mcp.servers": { "cbioportal": { "command": "python", "args": ["/path/to/cbioportal_server.py"] } } }

Доступные инструменты

Сервер 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Извлечение нескольких генов одновременно с помощью автоматического пакетирования

Примеры

Вот примеры вопросов, которые вы можете задать помощникам на базе искусственного интеллекта, подключенным к этому серверу:

"What cancer studies are available in cBioPortal?" "Search for melanoma studies in cBioPortal" "Get information about the BRCA1 gene" "What mutations in TP53 are present in breast cancer studies?" "Find studies related to lung cancer" "Get clinical data for patients in the TCGA breast cancer study"

Производительность

Этот сервер реализует полную асинхронную поддержку для значительного повышения производительности при извлечении данных из API cBioPortal.

Результаты сравнительного анализа

Наше тестирование показывает значительное улучшение производительности при асинхронной реализации:

  • В 4,57 раза быстрее для одновременной выборки исследований по сравнению с последовательными операциями
  • Эффективная пакетная обработка для извлечения нескольких генов
  • Постоянное качество данных между последовательными и параллельными операциями

Преимущества массовых операций

Сервер предоставляет специализированные инструменты для массовых операций, использующих параллелизм:

  • get_multiple_studies : извлекает несколько исследований параллельно с помощью asyncio.gather
  • get_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 и зарегистрировав их в качестве инструментов:

# Add a new method def my_new_tool(self, parameter1: str, parameter2: int) -> Dict: # Implementation return {"result": "data"} # Register the new tool self.mcp.tool()(self.my_new_tool)

Будущие улучшения

Возможные улучшения для будущих версий:

  • Кэширование часто используемых данных
  • Поддержка аутентификации для частных экземпляров cBioPortal
  • Дополнительные конечные точки для более полного доступа к данным
  • Тонкая настройка ограничений параллелизма на основе возможностей сервера
  • Добавьте механизмы повтора запроса для более надежной обработки ошибок.
  • Реализовать больше методов параллельных массовых операций для других конечных точек

Обновления и обслуживание

Чтобы обновить MCP SDK до последней версии:

pip install -U mcp

Лицензия

Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE.

Благодарности

  • cBioPortal за предоставление платформы данных геномики рака с открытым доступом
  • Модель контекстного протокола для обеспечения взаимодействия ИИ-инструментов
  • FastMCP для высокопроизводительной серверной среды MCP
-
security - not tested
A
license - permissive license
-
quality - not tested

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, позволяя пользователям изучать исследования рака, получать доступ к геномным данным и извлекать информацию о мутациях и клиническую информацию.

  1. Функции
    1. Оглавление
      1. Установка
        1. Предпосылки
        2. Настройка среды
        3. Загрузить сервер
        4. Сделать скрипт исполняемым (только для Linux/macOS)
      2. Использование
        1. Запуск сервера
        2. Расширенные параметры
      3. Конфигурация
        1. Использование с Claude Desktop
        2. Использование с VS Code
      4. Доступные инструменты
        1. Примеры
          1. Производительность
            1. Результаты сравнительного анализа
            2. Преимущества массовых операций
          2. Поиск неисправностей
            1. Сервер не запускается
            2. Проблемы с подключением к Claude Desktop
            3. Проблемы с подключением API
          3. Разработка
            1. Расширение сервера
            2. Будущие улучшения
            3. Обновления и обслуживание
          4. Лицензия
            1. Благодарности

              Related MCP Servers

              • -
                security
                F
                license
                -
                quality
                Enables 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 -
                40
                JavaScript
                • Apple
              • -
                security
                F
                license
                -
                quality
                Enables 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
                • Apple
              • -
                security
                A
                license
                -
                quality
                An 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 -
                Python
                MIT License
                • Linux
                • Apple
              • -
                security
                F
                license
                -
                quality
                A 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 -
                10
                Python
                • Linux
                • Apple

              View all related MCP servers

              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/cbioportal-mcp'

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