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 rede
  • list_tables - Navegue pelas tabelas dentro de coleções específicas
  • get_schema_fields - Examine esquemas de tabelas e tipos de campos
  • query_table - Consulte dados com filtros, paginação e ordenação
  • count_rows - Conte linhas que correspondem a critérios específicos
  • sql_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 completa
  • access_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 URL
  • collection_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 URL
  • collection_slug (obrigatório): Identificador da coleção
  • table_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 URL
  • collection_slug (obrigatório): Identificador da coleção
  • table_name (obrigatório): Nome qualificado da tabela
  • filters (opcional): Objeto de critérios de filtro
  • limit (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ção
  • access_token (opcional): Token de autenticação

count_rows

Conta linhas que correspondem aos filtros especificados.

Parâmetros:

  • network (obrigatório): Nome da rede ou URL
  • collection_slug (obrigatório): Identificador da coleção
  • table_name (obrigatório): Nome qualificado da tabela
  • filters (opcional): Objeto de critérios de filtro
  • access_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 URL
  • collection_slug (obrigatório): Identificador da coleção
  • sql (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 10
  • SELECT DISTINCT chrom FROM "schema"."variants" ORDER BY chrom

Redes Suportadas

O servidor suporta estas redes pré-configuradas (use nomes curtos por conveniência):

Nome CurtoURL CompletaDescrição
hifisolveshifisolves.orgDados de sequenciamento de leitura longa
neuroscienceneuroscience.aiGenômica em neurociência
asapcloud.parkinsonsroadmap.orgPesquisa sobre Parkinson
viralviral.aiGenômica viral
targetalsdataportal.targetals.orgPesquisa 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