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)
Installieren Sie Abhängigkeiten mit pip
Option 2: Verwendung von UV (schnellere Alternative)
UV ist ein moderner, leistungsstarker Python-Paketmanager und Umgebungsmanager, der deutlich schneller ist als pip.
Installieren Sie Abhängigkeiten mit UV
Server herunterladen
Laden Sie das Skript cbioportal_server.py
in Ihr Arbeitsverzeichnis herunter oder klonen Sie dieses Repository:
Machen Sie das Skript ausführbar (nur Linux/macOS)
Verwendung
Starten des Servers
So starten Sie den Server mit den Standardeinstellungen:
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:
Konfiguration
Verwendung mit Claude Desktop
- Installieren Sie Claude Desktop
- Öffnen Sie Claude Desktop
- Klicken Sie auf das MCP-Server-Symbol in der Symbolleiste
- Fügen Sie einen neuen MCP-Server mit der folgenden Konfiguration hinzu:
Hinweis: Ersetzen Sie die Pfade unbedingt durch die tatsächlichen Pfade zu Ihrer Python-Datei und Ihrem Serverskript. Das command
sollte auf die Python-Datei in Ihrer virtuellen Umgebung verweisen (z. B. .venv/bin/python3
), und das erste Element des Arrays args
“ sollte den Pfad zum Skript cbioportal_server.py
enthalten. Sollte ein ENOTDIR
Fehler auftreten, stellen Sie sicher, dass das command
korrekt auf die Python-Datei und nicht auf ein Verzeichnis eingestellt ist.
Verwendung mit VS Code
Konfigurieren Sie den MCP-Server in Ihren Arbeitsbereichseinstellungen:
Verfügbare Tools
Der cBioPortal MCP-Server bietet die folgenden Tools:
Werkzeugname | Beschreibung |
---|---|
get_cancer_studies | Listen Sie alle verfügbaren Krebsstudien im cBioPortal auf |
get_cancer_types | Holen Sie sich eine Liste aller Krebsarten |
get_study_details | Erhalten Sie detaillierte Informationen zu einer bestimmten Krebsstudie |
get_samples_in_study | Abrufen einer Liste der mit einer Studie verknüpften Proben |
get_genes | Erhalten Sie Informationen zu bestimmten Genen anhand ihres Hugo-Symbols oder ihrer Entrez-ID |
search_genes | Suche nach Genen anhand von Schlüsselwörtern in ihrem Symbol oder Namen |
get_mutations_in_gene | Erhalten Sie Mutationen in einem bestimmten Gen für eine bestimmte Studie |
get_clinical_data | Erhalten Sie klinische Daten für Patienten in einer Studie |
get_molecular_profiles | Erhalten Sie eine Liste der für eine Studie verfügbaren Molekülprofile |
search_studies | Suche nach Krebsstudien anhand von Schlüsselwörtern |
get_multiple_studies | Rufen Sie mehrere Studien gleichzeitig ab, um eine bessere Leistung zu erzielen |
get_multiple_genes | Rufen 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:
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 abget_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:
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:
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
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.
Tools
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.
Related MCP Servers
- AsecurityAlicenseAqualityProvides comprehensive access to Roam Research's API functionality. This server enables AI assistants like Claude to interact with your Roam Research graph through a standardized interface.Last updated -188959TypeScriptMIT License
- -securityFlicense-qualityA MCP server that allows AI assistants to interact with the browser, including getting page content as markdown, modifying page styles, and searching browser history.Last updated -79TypeScript
- -securityFlicense-qualityHigh-performance server enabling AI assistants to access web scraping, crawling, and deep research capabilities through Model Context Protocol.Last updated -10TypeScript
- -securityFlicense-qualityA custom server that integrates WebDNA documentation with AI assistants by scraping, indexing, and providing searchable documentation through MCP-compatible API endpoints.Last updated -JavaScript