Omics AI MCP Server
Interactúa con las redes de Omics AI Explorer para investigación genómica y análisis de datos.
Documentación
Omics AI MCP Server
Un servidor de Model Context Protocol (MCP) que permite a los agentes de IA interactuar conversacionalmente con las redes de Omics AI Explorer para investigación genómica y análisis de datos.
Descripción general
Este servidor MCP envuelve la funcionalidad de la omics-ai-python-library para proporcionar a los agentes de IA acceso fluido a datos genómicos en múltiples redes de Omics AI Explorer, incluyendo:
- HiFi Solves (hifisolves.org) - Datos de secuenciación de lectura larga
- Neuroscience AI (neuroscience.ai) - Datos genómicos de neurociencia
- ASAP (cloud.parkinsonsroadmap.org) - Alineando la Ciencia en la Enfermedad de Parkinson
- Viral AI (viral.ai) - Datos genómicos y de vigilancia viral
- Target ALS (dataportal.targetals.org) - Datos de investigación sobre ELA
Características
El servidor MCP proporciona las siguientes herramientas para agentes de IA:
list_collections- Descubrir colecciones de datos disponibles en cualquier redlist_tables- Explorar tablas dentro de colecciones específicasget_schema_fields- Examinar esquemas de tablas y tipos de camposquery_table- Consultar datos con filtros, paginación y ordenamientocount_rows- Contar filas que coincidan con criterios específicossql_search- Ejecutar consultas SQL directas usando sintaxis de Trino
Instalación
git clone https://github.com/mfiume/omics-ai-mcp.git
cd omics-ai-mcp
npm install
Uso
Ejecutando el servidor
npm start
Configuración para Claude Desktop
Añade a tu archivo de configuración de Claude Desktop:
{
"mcpServers": {
"omics-ai": {
"command": "node",
"args": ["src/index.js"],
"cwd": "/path/to/omics-ai-mcp"
}
}
}
Ejemplos de interacciones con agentes de IA
Una vez configurado, los agentes de IA pueden consultar datos genómicos conversacionalmente:
Agente: "¿Qué colecciones están disponibles en la red Viral AI?"
Usuario: "Muéstrame las tablas en la colección virusseq"
Agente: "Enumera las primeras 10 variantes de la tabla variants donde el cromosoma sea igual a chr1"
Usuario: "¿Cuántas variantes totales hay en la base de datos VirusSeq?"
Referencia de herramientas
list_collections
Lista todas las colecciones disponibles en una red.
Parámetros:
network(obligatorio): Nombre de la red (hifisolves, viral, neuroscience, etc.) o URL completaaccess_token(opcional): Token de autenticación
list_tables
Lista todas las tablas en una colección específica.
Parámetros:
network(obligatorio): Nombre de la red o URLcollection_slug(obligatorio): Identificador de colección (p. ej., "virusseq", "gnomad")access_token(opcional): Token de autenticación
get_schema_fields
Recupera el esquema y las definiciones de campos de una tabla.
Parámetros:
network(obligatorio): Nombre de la red o URLcollection_slug(obligatorio): Identificador de coleccióntable_name(obligatorio): Nombre de tabla calificado (p. ej., "collections.virusseq.variants")access_token(opcional): Token de autenticación
query_table
Consulta datos de una tabla con filtrado y paginación opcionales.
Parámetros:
network(obligatorio): Nombre de la red o URLcollection_slug(obligatorio): Identificador de coleccióntable_name(obligatorio): Nombre de tabla calificadofilters(opcional): Objeto de criterios de filtrolimit(opcional): Máximo de filas a devolver (predeterminado: 100)offset(opcional): Filas a omitir (predeterminado: 0)order_by(opcional): Especificación de ordenamientoaccess_token(opcional): Token de autenticación
count_rows
Cuenta filas que coinciden con los filtros especificados.
Parámetros:
network(obligatorio): Nombre de la red o URLcollection_slug(obligatorio): Identificador de coleccióntable_name(obligatorio): Nombre de tabla calificadofilters(opcional): Objeto de criterios de filtroaccess_token(opcional): Token de autenticación
sql_search
Ejecuta consultas SQL directas contra una colección usando sintaxis de Trino con formato de resultados mejorado.
Parámetros:
network(obligatorio): Nombre de la red o URLcollection_slug(obligatorio): Identificador de colecciónsql(obligatorio): Cadena de consulta SQL (usa sintaxis de Trino con comillas dobles para identificadores)max_polls(opcional): Número máximo de intentos de sondeo (predeterminado: 10)poll_interval(opcional): Segundos de espera entre sondeos (predeterminado: 2.0)access_token(opcional): Token de autenticación
Características:
- Sondeo automático de consultas asíncronas con manejo robusto de errores
- Formato de resultados inteligente (vista de tabla para datos simples, JSON para complejos)
- Indicadores de progreso e información de paginación
- Gestión de tiempos de espera para consultas de larga duración
Consultas de ejemplo:
SELECT COUNT(*) FROM "schema"."table"SELECT * FROM "schema"."variants" WHERE chrom = 'chr1' LIMIT 10SELECT DISTINCT chrom FROM "schema"."variants" ORDER BY chrom
Redes compatibles
El servidor admite estas redes preconfiguradas (usa nombres cortos por conveniencia):
| Nombre corto | URL completa | Descripción |
|---|---|---|
| hifisolves | hifisolves.org | Datos de secuenciación de lectura larga |
| neuroscience | neuroscience.ai | Genómica de neurociencia |
| asap | cloud.parkinsonsroadmap.org | Investigación sobre Parkinson |
| viral | viral.ai | Genómica viral |
| targetals | dataportal.targetals.org | Investigación sobre ELA |
Manejo de errores
El servidor incluye manejo robusto de errores para:
- Problemas de conectividad de red
- Fallos de autenticación
- Parámetros no válidos
- Errores de análisis de respuestas de API
- Manejo de tiempos de espera para consultas de larga duración
Desarrollo
# Development mode with auto-restart
npm run dev
# Production mode
npm start
Licencia
Licencia MIT: consulta el archivo LICENSE para más detalles.
Proyectos relacionados
- omics-ai-python-library - Biblioteca cliente de Python
- Model Context Protocol - Especificación de MCP y SDKs