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)
Instalar dependencias con pip
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.
Instalar dependencias con UV
Descargar el servidor
Descargue el script cbioportal_server.py
en su directorio de trabajo o clone este repositorio:
Hacer que el script sea ejecutable (solo Linux/macOS)
Uso
Iniciando el servidor
Para iniciar el servidor con la configuración predeterminada:
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:
Configuración
Uso con Claude Desktop
- Instalar Claude Desktop
- Abra Claude Desktop
- Haga clic en el icono de Servidores MCP en la barra de herramientas
- Agregue un nuevo servidor MCP con la siguiente configuración:
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:
Herramientas disponibles
El servidor cBioPortal MCP proporciona las siguientes herramientas:
Nombre de la herramienta | Descripción |
---|---|
get_cancer_studies | Enumere todos los estudios sobre cáncer disponibles en cBioPortal |
get_cancer_types | Obtenga una lista de todos los tipos de cáncer |
get_study_details | Obtenga información detallada sobre un estudio de cáncer específico |
get_samples_in_study | Obtenga una lista de muestras asociadas a un estudio |
get_genes | Obtenga información sobre genes específicos mediante su símbolo Hugo o ID de Entrez |
search_genes | Búsqueda de genes por palabra clave en su símbolo o nombre |
get_mutations_in_gene | Obtener mutaciones en un gen específico para un estudio determinado |
get_clinical_data | Obtener datos clínicos de los pacientes en un estudio |
get_molecular_profiles | Obtenga una lista de perfiles moleculares disponibles para un estudio |
search_studies | Búsqueda de estudios sobre el cáncer por palabra clave |
get_multiple_studies | Obtenga varios estudios simultáneamente para un mejor rendimiento |
get_multiple_genes | Recupere 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:
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.gatherget_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:
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:
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
This server cannot be installed
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.
Related MCP Servers
- -securityFlicense-qualityEnables 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 -9JavaScript
- -securityFlicense-qualityEnables 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
- -securityAlicense-qualityAn 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 -PythonMIT License
- -securityFlicense-qualityA 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 -1Python