cBioPortal MCP Server

by pickleton89

cBioPortal MCP 서버

다차원 암 유전체 데이터세트 탐색 플랫폼인 cBioPortal 의 암 유전체 데이터와 AI 어시스턴트가 상호 작용할 수 있도록 지원하는 고성능 비동기 모델 컨텍스트 프로토콜(MCP) 서버입니다. 최신 비동기 Python으로 구축되어 데이터 검색 속도가 크게 향상되었습니다.

특징

  • 🔍 암 연구 : cBioPortal에서 이용 가능한 암 연구를 탐색하고 검색하세요
  • 🧬 게놈 데이터 : 유전자 돌연변이, 임상 데이터 및 분자 프로필에 접근
  • 🔎 검색 기능 : 키워드 검색으로 연구, 유전자 및 샘플을 찾으세요
  • 📊 다양한 데이터 유형 : 돌연변이, 임상 데이터 및 연구 메타데이터 검색
  • ⚡ 비동기 성능 : 훨씬 빠른 데이터 검색을 위한 완전 비동기 구현(최대 4.5배 더 빠름)
  • 📚 대량 작업 : 성능 향상을 위해 여러 연구 및 유전자를 동시에 가져오기
  • 🔄 FastMCP 통합 : 고성능 FastMCP 프레임워크 기반

목차

설치

필수 조건

  • Python 3.8 이상
  • pip(Python 패키지 설치 프로그램)
  • Git(선택 사항, 저장소 복제용)

환경 설정

옵션 1: venv 및 pip 사용(표준 방법)

지엑스피1

pip로 종속성 설치
# Install the MCP SDK and FastMCP framework pip install mcp>=2.0.0 # Install additional dependencies pip install httpx asyncio
옵션 2: UV 사용(더 빠른 대안)

UV 는 pip보다 훨씬 빠른 현대적이고 고성능 Python 패키지 관리자이자 환경 관리자입니다.

# 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

이렇게 하면 https://www.cbioportal.org/api 에 있는 공개 cBioPortal 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. Claude Desktop 설치
  2. 클로드 데스크톱 열기
  3. 도구 모음에서 MCP 서버 아이콘을 클릭하세요.
  4. 다음 구성으로 새로운 MCP 서버를 추가합니다.
{ "mcpServers": { "cbioportal": { "command": "python", "args": ["/path/to/cbioportal_server.py"], "env": {} } } }

/path/to/cbioportal_server.py 스크립트의 실제 경로로 바꾸세요.

VS Code와 함께 사용

작업 공간 설정에서 MCP 서버를 구성하세요.

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

사용 가능한 도구

cBioPortal MCP 서버는 다음과 같은 도구를 제공합니다.

도구 이름설명
get_cancer_studiescBioPortal에서 사용 가능한 모든 암 연구를 나열하세요
get_cancer_types모든 암 유형 목록을 받으세요
get_study_details특정 암 연구에 대한 자세한 정보를 얻으세요
get_samples_in_study연구와 관련된 샘플 목록을 받으세요
get_genesHugo 기호 또는 Entrez ID로 특정 유전자에 대한 정보를 얻으세요.
search_genes유전자를 기호 또는 이름의 키워드로 검색하세요
get_mutations_in_gene주어진 연구를 위해 특정 유전자의 돌연변이를 얻으세요
get_clinical_data연구에 참여한 환자의 임상 데이터를 얻으세요
get_molecular_profiles연구에 사용할 수 있는 분자 프로필 목록을 받으세요
search_studies키워드로 암 연구 검색
get_multiple_studies더 나은 성능을 위해 여러 연구를 동시에 가져옵니다.
get_multiple_genes자동 배칭으로 여러 유전자를 동시에 검색

예시

이 서버에 연결된 AI 도우미에게 물어볼 수 있는 질문의 예는 다음과 같습니다.

"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"

성능

이 서버는 cBioPortal API에서 데이터를 검색할 때 성능을 크게 향상시키기 위해 완전한 비동기 지원을 구현합니다.

벤치마크 결과

테스트 결과 비동기 구현을 통해 상당한 성능 향상이 나타났습니다.

  • 순차적 작업에 비해 동시 연구 페칭이 4.57배 더 빠릅니다.
  • 여러 유전자 검색을 위한 효율적인 일괄 처리
  • 순차 작업과 동시 작업 간의 일관된 데이터 품질

대량 작업의 이점

서버는 동시성을 활용하는 대량 작업을 위한 특수 도구를 제공합니다.

  • get_multiple_studies : asyncio.gather를 사용하여 여러 연구를 병렬로 가져옵니다.
  • get_multiple_genes : 효율적인 동시 유전자 검색을 위한 스마트 배칭을 구현합니다.

이러한 방법에는 실행 시간, 배치 수 등의 세부적인 성능 측정 항목이 포함되어 있어 효율성 향상을 이해하는 데 도움이 됩니다.

문제 해결

서버 시작 실패

  • Python 3.8 이상이 설치되어 있는지 확인하세요: python --version
  • 모든 종속성이 설치되었는지 확인하세요: pip list | grep mcp
  • 콘솔에서 오류 메시지를 확인하세요

Claude Desktop 연결 문제

  • 구성에서 스크립트 경로가 올바른지 확인하세요.
  • 스크립트에 실행 권한이 있는지 확인하세요
  • 자세한 오류 메시지는 Claude 로그에서 확인하세요.

API 연결 문제

  • 인터넷 연결이 있는지 확인하세요
  • cBioPortal API에 액세스할 수 있는지 확인하세요: 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 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

감사의 말

-
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의 암 유전체 데이터와 AI 보조자가 상호 작용할 수 있도록 하는 서버로, 사용자는 암 연구를 탐색하고, 유전체 데이터에 접근하고, 돌연변이와 임상 정보를 검색할 수 있습니다.

  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 -
                9
                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 -
                1
                Python
                • Linux
                • Apple

              View all related MCP servers

              ID: 06rhrqm6mn