Omics AI MCP Server
Interaja com as redes do Omics AI Explorer para pesquisa genômica e análise de dados.
Documentação
Servidor Omics AI MCP
Um servidor Model Context Protocol (MCP) que permite que agentes de IA interajam conversacionalmente com redes Omics AI Explorer para pesquisa genômica e análise de dados.
Visão Geral
Este servidor MCP encapsula a funcionalidade da omics-ai-python-library para fornecer aos agentes de IA acesso contínuo a dados genômicos em múltiplas redes Omics AI Explorer, incluindo:
- HiFi Solves (hifisolves.org) - Dados de sequenciamento de leitura longa
- Neuroscience AI (neuroscience.ai) - Dados genômicos de neurociência
- ASAP (cloud.parkinsonsroadmap.org) - Alinhando a Ciência na Doença de Parkinson
- Viral AI (viral.ai) - Dados de genômica viral e vigilância
- Target ALS (dataportal.targetals.org) - Dados de pesquisa sobre ELA
Recursos
O servidor MCP fornece as seguintes ferramentas para agentes de IA:
list_collections- Descubra coleções de dados disponíveis em qualquer redelist_tables- Navegue pelas tabelas dentro de coleções específicasget_schema_fields- Examine esquemas de tabelas e tipos de camposquery_table- Consulte dados com filtros, paginação e ordenaçãocount_rows- Conte linhas que correspondem a critérios específicossql_search- Execute consultas SQL diretas usando sintaxe Trino
Instalação
git clone https://github.com/mfiume/omics-ai-mcp.git
cd omics-ai-mcp
npm install
Uso
Executando o Servidor
npm start
Configuração para Claude Desktop
Adicione ao seu arquivo de configuração do Claude Desktop:
{
"mcpServers": {
"omics-ai": {
"command": "node",
"args": ["src/index.js"],
"cwd": "/path/to/omics-ai-mcp"
}
}
}
Exemplos de Interações com Agentes de IA
Uma vez configurado, agentes de IA podem consultar dados genômicos conversacionalmente:
Agente: "Quais coleções estão disponíveis na rede Viral AI?"
Usuário: "Mostre-me as tabelas na coleção virusseq"
Agente: "Liste as primeiras 10 variantes da tabela variants onde o cromossomo é igual a chr1"
Usuário: "Quantas variantes totais existem no banco de dados VirusSeq?"
Referência de Ferramentas
list_collections
Lista todas as coleções disponíveis em uma rede.
Parâmetros:
network(obrigatório): Nome da rede (hifisolves, viral, neuroscience, etc.) ou URL completaaccess_token(opcional): Token de autenticação
list_tables
Lista todas as tabelas em uma coleção específica.
Parâmetros:
network(obrigatório): Nome da rede ou URLcollection_slug(obrigatório): Identificador da coleção (ex.: "virusseq", "gnomad")access_token(opcional): Token de autenticação
get_schema_fields
Recupera o esquema e as definições de campos de uma tabela.
Parâmetros:
network(obrigatório): Nome da rede ou URLcollection_slug(obrigatório): Identificador da coleçãotable_name(obrigatório): Nome qualificado da tabela (ex.: "collections.virusseq.variants")access_token(opcional): Token de autenticação
query_table
Consulta dados de uma tabela com filtragem e paginação opcionais.
Parâmetros:
network(obrigatório): Nome da rede ou URLcollection_slug(obrigatório): Identificador da coleçãotable_name(obrigatório): Nome qualificado da tabelafilters(opcional): Objeto de critérios de filtrolimit(opcional): Máximo de linhas a retornar (padrão: 100)offset(opcional): Linhas a pular (padrão: 0)order_by(opcional): Especificação de ordenaçãoaccess_token(opcional): Token de autenticação
count_rows
Conta linhas que correspondem aos filtros especificados.
Parâmetros:
network(obrigatório): Nome da rede ou URLcollection_slug(obrigatório): Identificador da coleçãotable_name(obrigatório): Nome qualificado da tabelafilters(opcional): Objeto de critérios de filtroaccess_token(opcional): Token de autenticação
sql_search
Executa consultas SQL diretas contra uma coleção usando sintaxe Trino com formatação aprimorada de resultados.
Parâmetros:
network(obrigatório): Nome da rede ou URLcollection_slug(obrigatório): Identificador da coleçãosql(obrigatório): String de consulta SQL (use sintaxe Trino com aspas duplas para identificadores)max_polls(opcional): Número máximo de tentativas de polling (padrão: 10)poll_interval(opcional): Segundos de espera entre polls (padrão: 2.0)access_token(opcional): Token de autenticação
Recursos:
- Polling automático de consultas assíncronas com tratamento robusto de erros
- Formatação inteligente de resultados (visualização de tabela para dados simples, JSON para dados complexos)
- Indicadores de progresso e informações de paginação
- Gerenciamento de tempo limite para consultas de longa duração
Exemplos de consultas:
SELECT COUNT(*) FROM "schema"."table"SELECT * FROM "schema"."variants" WHERE chrom = 'chr1' LIMIT 10SELECT DISTINCT chrom FROM "schema"."variants" ORDER BY chrom
Redes Suportadas
O servidor suporta estas redes pré-configuradas (use nomes curtos por conveniência):
| Nome Curto | URL Completa | Descrição |
|---|---|---|
| hifisolves | hifisolves.org | Dados de sequenciamento de leitura longa |
| neuroscience | neuroscience.ai | Genômica em neurociência |
| asap | cloud.parkinsonsroadmap.org | Pesquisa sobre Parkinson |
| viral | viral.ai | Genômica viral |
| targetals | dataportal.targetals.org | Pesquisa sobre ELA |
Tratamento de Erros
O servidor inclui tratamento robusto de erros para:
- Problemas de conectividade de rede
- Falhas de autenticação
- Parâmetros inválidos
- Erros de análise de respostas da API
- Gerenciamento de tempo limite para consultas de longa duração
Desenvolvimento
# Development mode with auto-restart
npm run dev
# Production mode
npm start
Licença
Licença MIT - consulte o arquivo LICENSE para detalhes.
Projetos Relacionados
- omics-ai-python-library - Biblioteca cliente Python
- Model Context Protocol - Especificação MCP e SDKs