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を使用する(標準的な方法)
# 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を使用する(より高速な代替手段)

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 ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

謝辞

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

AI アシスタントが cBioPortal のがんゲノムデータと対話できるようにするサーバー。ユーザーはがん研究を調べ、ゲノムデータにアクセスし、変異や臨床情報を取得できます。

  1. 特徴
    1. 目次
      1. インストール
        1. 前提条件
        2. 環境の設定
        3. サーバーをダウンロードする
        4. スクリプトを実行可能にする (Linux/macOS のみ)
      2. 使用法
        1. サーバーの起動
        2. 詳細オプション
      3. 構成
        1. Claude Desktopでの使用
        2. VS Codeでの使用
      4. 利用可能なツール
          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