cBioPortal MCP Server

by pickleton89

cBioPortal MCP-Server

Ein leistungsstarker asynchroner Model Context Protocol (MCP)-Server, der KI-Assistenten die Interaktion mit Krebsgenomikdaten von cBioPortal ermöglicht, einer Plattform zur Erforschung multidimensionaler Krebsgenomik-Datensätze. Entwickelt mit modernem asynchronem Python für deutlich schnelleren Datenabruf.

Merkmale

  • 🔍 Krebsstudien : Durchsuchen und suchen Sie nach Krebsstudien, die im cBioPortal verfügbar sind
  • 🧬 Genomische Daten : Zugriff auf Genmutationen, klinische Daten und molekulare Profile
  • 🔎 Suchfunktionen : Finden Sie Studien, Gene und Proben mit der Stichwortsuche
  • 📊 Mehrere Datentypen : Abrufen von Mutationen, klinischen Daten und Studienmetadaten
  • ⚡ Asynchrone Leistung : Vollständig asynchrone Implementierung für deutlich schnelleren Datenabruf (bis zu 4,5-mal schneller)
  • 📚 Massenvorgänge : Gleichzeitiges Abrufen mehrerer Studien und Gene für eine verbesserte Leistung
  • 🔄 FastMCP-Integration : Basierend auf dem leistungsstarken FastMCP-Framework

Inhaltsverzeichnis

Installation

Voraussetzungen

  • Python 3.8 oder höher
  • pip (Python-Paketinstallationsprogramm)
  • Git (optional, zum Klonen des Repository)

Umgebung einrichten

Option 1: Verwenden von venv und pip (Standardmethode)
# 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
Installieren Sie Abhängigkeiten mit pip
# Install the MCP SDK and FastMCP framework pip install mcp>=2.0.0 # Install additional dependencies pip install httpx asyncio
Option 2: Verwendung von UV (schnellere Alternative)

UV ist ein moderner, leistungsstarker Python-Paketmanager und Umgebungsmanager, der deutlich schneller ist als 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
Installieren Sie Abhängigkeiten mit UV
# Install the MCP SDK and FastMCP framework uv pip install mcp>=2.0.0 # Install additional dependencies uv pip install httpx asyncio

Server herunterladen

Laden Sie das Skript cbioportal_server.py in Ihr Arbeitsverzeichnis herunter oder klonen Sie dieses Repository:

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

Machen Sie das Skript ausführbar (nur Linux/macOS)

chmod +x cbioportal_server.py

Verwendung

Starten des Servers

So starten Sie den Server mit den Standardeinstellungen:

python cbioportal_server.py

Dadurch wird der Server mithilfe der öffentlichen cBioPortal-API unter https://www.cbioportal.org/api gestartet.

Erweiterte Optionen

Passen Sie das Serververhalten mit Befehlszeilenargumenten an:

# 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

Konfiguration

Verwendung mit Claude Desktop

  1. Installieren Sie Claude Desktop
  2. Öffnen Sie Claude Desktop
  3. Klicken Sie auf das MCP-Server-Symbol in der Symbolleiste
  4. Fügen Sie einen neuen MCP-Server mit der folgenden Konfiguration hinzu:
{ "mcpServers": { "cbioportal": { "command": "python", "args": ["/path/to/cbioportal_server.py"], "env": {} } } }

Ersetzen Sie /path/to/cbioportal_server.py durch den tatsächlichen Pfad zu Ihrem Skript.

Verwendung mit VS Code

Konfigurieren Sie den MCP-Server in Ihren Arbeitsbereichseinstellungen:

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

Verfügbare Tools

Der cBioPortal MCP-Server bietet die folgenden Tools:

WerkzeugnameBeschreibung
get_cancer_studiesListen Sie alle verfügbaren Krebsstudien im cBioPortal auf
get_cancer_typesHolen Sie sich eine Liste aller Krebsarten
get_study_detailsErhalten Sie detaillierte Informationen zu einer bestimmten Krebsstudie
get_samples_in_studyHolen Sie sich eine Liste der mit einer Studie verbundenen Proben
get_genesErhalten Sie Informationen zu bestimmten Genen anhand ihres Hugo-Symbols oder ihrer Entrez-ID
search_genesSuche nach Genen anhand von Schlüsselwörtern in ihrem Symbol oder Namen
get_mutations_in_geneErhalten Sie Mutationen in einem bestimmten Gen für eine bestimmte Studie
get_clinical_dataErhalten Sie klinische Daten für Patienten in einer Studie
get_molecular_profilesErhalten Sie eine Liste der für eine Studie verfügbaren Molekülprofile
search_studiesSuche nach Krebsstudien anhand von Schlüsselwörtern
get_multiple_studiesRufen Sie mehrere Studien gleichzeitig ab, um eine bessere Leistung zu erzielen
get_multiple_genesRufen Sie mehrere Gene gleichzeitig mit automatischer Batchverarbeitung ab

Beispiele

Hier sind Beispiele für Fragen, die Sie KI-Assistenten stellen können, die mit diesem Server verbunden sind:

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

Leistung

Dieser Server implementiert vollständige asynchrone Unterstützung für eine deutlich verbesserte Leistung beim Abrufen von Daten aus der cBioPortal-API.

Benchmark-Ergebnisse

Unsere Tests zeigen erhebliche Leistungsverbesserungen durch die asynchrone Implementierung:

  • 4,57-mal schneller beim gleichzeitigen Abrufen von Studien im Vergleich zu sequentiellen Vorgängen
  • Effiziente Stapelverarbeitung zum Abrufen mehrerer Gene
  • Konsistente Datenqualität zwischen sequentiellen und gleichzeitigen Vorgängen

Vorteile von Massenvorgängen

Der Server bietet spezielle Tools für Massenvorgänge, die Parallelität nutzen:

  • get_multiple_studies : Ruft mehrere Studien parallel mit asyncio.gather ab
  • get_multiple_genes : Implementiert intelligentes Batching für eine effiziente gleichzeitige Genabfrage

Diese Methoden umfassen detaillierte Leistungsmesswerte wie Ausführungszeit und Batchanzahl, damit Sie die Effizienzgewinne besser verstehen.

Fehlerbehebung

Server kann nicht gestartet werden

  • Stellen Sie sicher, dass Sie Python 3.8+ installiert haben: python --version
  • Überprüfen Sie, ob alle Abhängigkeiten installiert sind: pip list | grep mcp
  • Suchen Sie in der Konsole nach Fehlermeldungen

Verbindungsprobleme mit Claude Desktop

  • Überprüfen Sie, ob der Pfad zum Skript in Ihrer Konfiguration korrekt ist.
  • Stellen Sie sicher, dass das Skript über Ausführungsberechtigungen verfügt
  • Überprüfen Sie die Claude-Protokolle auf detaillierte Fehlermeldungen

API-Verbindungsprobleme

  • Stellen Sie sicher, dass Sie über eine Internetverbindung verfügen
  • Überprüfen Sie, ob auf die cBioPortal-API zugegriffen werden kann: curl https://www.cbioportal.org/api/cancer-types
  • Versuchen Sie, einen anderen API-Endpunkt zu verwenden, falls verfügbar.

Entwicklung

Erweiterung des Servers

Sie können die Funktionalität des Servers erweitern, indem Sie der Klasse CBioPortalMCPServer neue Methoden hinzufügen und diese als Tools registrieren:

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

Zukünftige Verbesserungen

Mögliche Verbesserungen für zukünftige Versionen:

  • Caching für häufig abgerufene Daten
  • Authentifizierungsunterstützung für private cBioPortal-Instanzen
  • Zusätzliche Endpunkte für umfassenderen Datenzugriff
  • Feinabstimmung der Parallelitätsgrenzen basierend auf den Serverfunktionen
  • Fügen Sie Anforderungswiederholungsmechanismen für eine robustere Fehlerbehandlung hinzu
  • Implementieren Sie mehr gleichzeitige Massenoperationsmethoden für andere Endpunkte

Updates und Wartung

So aktualisieren Sie auf die neueste Version des MCP SDK:

pip install -U mcp

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE.

Danksagung

  • cBioPortal für die Bereitstellung der Open-Access-Datenplattform zur Krebsgenomik
  • Model Context Protocol zur Ermöglichung von KI-Tool-Interaktionen
  • FastMCP für das leistungsstarke MCP-Server-Framework
-
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.

Ein Server, der es KI-Assistenten ermöglicht, mit Krebsgenomikdaten von cBioPortal zu interagieren, sodass Benutzer Krebsstudien untersuchen, auf Genomdaten zugreifen und Mutationen und klinische Informationen abrufen können.

  1. Merkmale
    1. Inhaltsverzeichnis
      1. Installation
        1. Voraussetzungen
        2. Umgebung einrichten
        3. Server herunterladen
        4. Machen Sie das Skript ausführbar (nur Linux/macOS)
      2. Verwendung
        1. Starten des Servers
        2. Erweiterte Optionen
      3. Konfiguration
        1. Verwendung mit Claude Desktop
        2. Verwendung mit VS Code
      4. Verfügbare Tools
        1. Beispiele
          1. Leistung
            1. Benchmark-Ergebnisse
            2. Vorteile von Massenvorgängen
          2. Fehlerbehebung
            1. Server kann nicht gestartet werden
            2. Verbindungsprobleme mit Claude Desktop
            3. API-Verbindungsprobleme
          3. Entwicklung
            1. Erweiterung des Servers
            2. Zukünftige Verbesserungen
            3. Updates und Wartung
          4. Lizenz
            1. Danksagung

              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