cBioPortal MCP Server

by pickleton89

Servidor MCP de cBioPortal

Un servidor de Protocolo de Contexto de Modelo (MCP) asíncrono de alto rendimiento que permite a los asistentes de IA interactuar con datos genómicos del cáncer de cBioPortal , una plataforma para explorar conjuntos de datos genómicos multidimensionales. Desarrollado con Python asíncrono moderno para una recuperación de datos significativamente más rápida.

Características

  • 🔍 Estudios sobre el cáncer : Busque y explore estudios sobre el cáncer disponibles en cBioPortal
  • 🧬 Datos genómicos : acceda a mutaciones genéticas, datos clínicos y perfiles moleculares
  • 🔎 Capacidades de búsqueda : Encuentre estudios, genes y muestras con la búsqueda por palabras clave
  • 📊 Múltiples tipos de datos : recupera mutaciones, datos clínicos y metadatos de estudios
  • ⚡ Rendimiento asincrónico : implementación totalmente asincrónica para una recuperación de datos significativamente más rápida (hasta 4,5 veces más rápida)
  • 📚 Operaciones masivas : obtención simultánea de múltiples estudios y genes para un mejor rendimiento
  • 🔄 Integración con FastMCP : Construida sobre el marco FastMCP de alto rendimiento

Tabla de contenido

Instalación

Prerrequisitos

  • Python 3.8 o superior
  • pip (instalador de paquetes de Python)
  • Git (opcional, para clonar el repositorio)

Configurar el entorno

Opción 1: Usar venv y pip (método estándar)
# 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
Instalar dependencias con pip
# Install the MCP SDK and FastMCP framework pip install mcp>=2.0.0 # Install additional dependencies pip install httpx asyncio
Opción 2: Usar UV (alternativa más rápida)

UV es un administrador de paquetes y entorno Python moderno y de alto rendimiento que es significativamente más rápido que 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
Instalar dependencias con UV
# Install the MCP SDK and FastMCP framework uv pip install mcp>=2.0.0 # Install additional dependencies uv pip install httpx asyncio

Descargar el servidor

Descargue el script cbioportal_server.py en su directorio de trabajo o clone este repositorio:

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

Hacer que el script sea ejecutable (solo Linux/macOS)

chmod +x cbioportal_server.py

Uso

Iniciando el servidor

Para iniciar el servidor con la configuración predeterminada:

python cbioportal_server.py

Esto inicia el servidor usando la API pública de cBioPortal en https://www.cbioportal.org/api .

Opciones avanzadas

Personalice el comportamiento del servidor con argumentos de la línea de comandos:

# 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

Configuración

Uso con Claude Desktop

  1. Instalar Claude Desktop
  2. Abra Claude Desktop
  3. Haga clic en el icono de Servidores MCP en la barra de herramientas
  4. Agregue un nuevo servidor MCP con la siguiente configuración:
{ "mcpServers": { "cbioportal": { "command": "python", "args": ["/path/to/cbioportal_server.py"], "env": {} } } }

Reemplace /path/to/cbioportal_server.py con la ruta real a su script.

Uso con VS Code

Configure el servidor MCP en la configuración de su espacio de trabajo:

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

Herramientas disponibles

El servidor cBioPortal MCP proporciona las siguientes herramientas:

Nombre de la herramientaDescripción
get_cancer_studiesEnumere todos los estudios sobre cáncer disponibles en cBioPortal
get_cancer_typesObtenga una lista de todos los tipos de cáncer
get_study_detailsObtenga información detallada sobre un estudio de cáncer específico
get_samples_in_studyObtenga una lista de muestras asociadas a un estudio
get_genesObtenga información sobre genes específicos mediante su símbolo Hugo o ID de Entrez
search_genesBúsqueda de genes por palabra clave en su símbolo o nombre
get_mutations_in_geneObtener mutaciones en un gen específico para un estudio determinado
get_clinical_dataObtener datos clínicos de los pacientes en un estudio
get_molecular_profilesObtenga una lista de perfiles moleculares disponibles para un estudio
search_studiesBúsqueda de estudios sobre el cáncer por palabra clave
get_multiple_studiesObtenga varios estudios simultáneamente para un mejor rendimiento
get_multiple_genesRecupere múltiples genes simultáneamente con procesamiento por lotes automático

Ejemplos

A continuación se muestran ejemplos de preguntas que puede realizar a los asistentes de IA conectados a este servidor:

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

Actuación

Este servidor implementa soporte asincrónico completo para un rendimiento significativamente mejorado al recuperar datos de la API cBioPortal.

Resultados de referencia

Nuestras pruebas muestran mejoras de rendimiento significativas con la implementación asíncrona:

  • 4,57 veces más rápido para la obtención simultánea de estudios en comparación con las operaciones secuenciales
  • Procesamiento por lotes eficiente para recuperar múltiples genes
  • Calidad de datos consistente entre operaciones secuenciales y concurrentes

Beneficios de la operación a granel

El servidor proporciona herramientas especializadas para operaciones masivas que aprovechan la concurrencia:

  • get_multiple_studies : obtiene múltiples estudios en paralelo usando asyncio.gather
  • get_multiple_genes : Implementa un procesamiento por lotes inteligente para una recuperación eficiente de genes concurrentes

Estos métodos incluyen métricas de rendimiento detalladas, como el tiempo de ejecución y los recuentos de lotes, para ayudarlo a comprender las ganancias de eficiencia.

Solución de problemas

El servidor no se inicia

  • Asegúrese de tener instalado Python 3.8+: python --version
  • Verifique que todas las dependencias estén instaladas: pip list | grep mcp
  • Comprueba si hay mensajes de error en la consola

Problemas de conexión con Claude Desktop

  • Verifique que la ruta al script sea correcta en su configuración
  • Asegúrese de que el script tenga permisos de ejecución
  • Consulte los registros de Claude para ver mensajes de error detallados

Problemas de conexión de la API

  • Asegúrese de tener conexión a Internet
  • Verifique que la API de cBioPortal sea accesible: curl https://www.cbioportal.org/api/cancer-types
  • Intente utilizar un punto final de API diferente si está disponible

Desarrollo

Ampliación del servidor

Puede ampliar la funcionalidad del servidor agregando nuevos métodos a la clase CBioPortalMCPServer y registrándolos como herramientas:

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

Mejoras futuras

Posibles mejoras para futuras versiones:

  • Almacenamiento en caché de datos a los que se accede con frecuencia
  • Soporte de autenticación para instancias privadas de cBioPortal
  • Puntos finales adicionales para un acceso más completo a los datos
  • Ajuste de los límites de concurrencia en función de las capacidades del servidor
  • Añadir mecanismos de reintento de solicitudes para un manejo de errores más robusto
  • Implementar más métodos de operaciones masivas concurrentes para otros puntos finales

Actualizaciones y mantenimiento

Para actualizar a la última versión del SDK de MCP:

pip install -U mcp

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Expresiones de gratitud

  • cBioPortal para proporcionar una plataforma de datos genómicos del cáncer de acceso abierto
  • Protocolo de contexto modelo para habilitar interacciones entre herramientas de IA
  • FastMCP para el marco de servidor MCP de alto rendimiento
-
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.

Un servidor que permite a los asistentes de IA interactuar con datos genómicos del cáncer de cBioPortal, lo que permite a los usuarios explorar estudios sobre el cáncer, acceder a datos genómicos y recuperar mutaciones e información clínica.

  1. Características
    1. Tabla de contenido
      1. Instalación
        1. Prerrequisitos
        2. Configurar el entorno
        3. Descargar el servidor
        4. Hacer que el script sea ejecutable (solo Linux/macOS)
      2. Uso
        1. Iniciando el servidor
        2. Opciones avanzadas
      3. Configuración
        1. Uso con Claude Desktop
        2. Uso con VS Code
      4. Herramientas disponibles
        1. Ejemplos
          1. Actuación
            1. Resultados de referencia
            2. Beneficios de la operación a granel
          2. Solución de problemas
            1. El servidor no se inicia
            2. Problemas de conexión con Claude Desktop
            3. Problemas de conexión de la API
          3. Desarrollo
            1. Ampliación del servidor
            2. Mejoras futuras
            3. Actualizaciones y mantenimiento
          4. Licencia
            1. Expresiones de gratitud

              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