ThinAir Data

Servidor MCP somente leitura para PostgreSQL, MySQL e SQL Server com introspecção de esquema, execução de consultas SQL, EXPLAIN/otimização, detecção de anomalias, varredura de PII e detecção de consultas N+1.

Documentação

Servidor MCP ThinAir Data

O único servidor de banco de dados MCP para PostgreSQL, MySQL e SQL Server em uma única sessão — 26 ferramentas em 4 níveis — introspecção de esquema, comparação entre bancos de dados, firewall de consultas, varredura de PII, detecção de N+1 e gerenciamento de conexões em tempo de execução. Acesso somente leitura aos dados por design.

26 ferramentas · PostgreSQL · MySQL · SQL Server · Acesso somente leitura a dados, descoberta de esquema, criação de perfil, segurança SQL, detecção de anomalias

npm version License: MIT smithery badge

> describe_schema("fleet")
✓ 42 tables discovered · 6 high-value entities
✓ no write permissions enabled
> ask("Which vehicles had the most idle time last week?")
✓ generated safe read-only SQL · returned 10 rows · flagged 3 exceptions

Parte do ThinAir

O ThinAir Data faz parte da plataforma ThinAir para visibilidade de frotas, análise, pesquisa operacional, relatórios e suporte à decisão assistido por IA.

Produto hospedado vs este repositório

  • data.thinair.co é o produto ThinAir hospedado.
  • Este repositório é o pacote/ponteiro MCP público e enxuto para desenvolvedores e clientes de agentes de IA.
  • O uso em produção pode exigir uma conta ThinAir, chave de API, conexão OAuth ou workspace hospedado.

O Que Ele Faz

O ThinAir Data é um servidor Model Context Protocol (MCP) que dá aos agentes de IA acesso seguro e somente leitura aos seus bancos de dados — sem necessidade de backend personalizado. Projetado para acesso de produção somente leitura quando configurado corretamente. O ThinAir Data impõe comportamento somente leitura por meio de guardas SQL, modo somente leitura de sessão de banco de dados quando suportado e regras opcionais de firewall por conexão. Você ainda deve usar credenciais de banco de dados com privilégios mínimos e evitar expor tabelas sensíveis, a menos que seja necessário.

  • Multibanco de dados — PostgreSQL, MySQL, SQL Server em uma única sessão. Comparação entre bancos de dados com uma única chamada de ferramenta.
  • Somente leitura por design — guardas SQL, modo somente leitura de sessão de banco de dados quando suportado e regras opcionais de firewall por conexão.
  • Ciente do dialeto — cada ferramenta entende SELECT TOP 10 (mssql) vs LIMIT (outros) e roteia a sintaxe corretamente por conexão.
  • Capacidade em níveis — 26 ferramentas em 4 níveis: introspecção de esquema, execução de consultas + histórico, EXPLAIN/otimização, detecção de anomalias, varredura de PII, detecção de N+1, firewall de consultas, comparação entre bancos de dados e gerenciamento de conexões em tempo de execução (adicionar/remover).
  • Conexões são gerenciadas em tempo de execução — adicionadas por locatário via ferramenta add_connection após o login. Nunca uma variável de ambiente ou configuração no momento da instalação.

Links do Produto

Ferramentas (selecionadas — lista completa de 26 em documentação)

FerramentaNívelDescrição
list_connectionsdiscoverListar bancos de dados conectados com nomes + dialetos
describe_schemadiscoverObter esquema, colunas, índices, FKs em qualquer conexão
query_sqldiscoverExecutar uma consulta SQL somente leitura parametrizada
query_historybuildConsultas recentes com tempo, contagens de linhas, status
data_profilebuildDistribuições, taxas de nulos, cardinalidade em uma tabela
cross_db_queryarchitectExecutar a mesma consulta em 2–4 conexões (comparação regional/dialeto)
detect_anomaliesarchitectOutliers estatísticos no crescimento de linhas, latência, distribuições de valores
pii_scanarchitectEscanear uma tabela para padrões de PII (SSN, e-mail, telefone, cartão de crédito)
find_n_plus_onearchitectIdentificar padrões de consulta N+1 em query_history
query_firewallarchitectRegras de bloqueio personalizadas por conexão (negar tabelas/consultas específicas)

add_connection, remove_connection, optimize_query, explain_query, suggest_queries, generate_migration, generate_seed_data, watch_table, saved_queries, impact_analysis, configure_allowlist e outros completam a superfície de 26 ferramentas.

Início Rápido

Claude Desktop, Cursor, Windsurf — OAuth (recomendado, sem chave)

Adicione à configuração MCP do seu cliente (ex.: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "thinair-data": {
      "url": "https://data.thinair.co/mcp"
    }
  }
}

O fluxo OAuth é concluído no primeiro uso — nenhuma configuração manual de token é necessária. Após o login, seu agente chama add_connection para registrar um banco de dados com seu DSN — as conexões são limitadas ao locatário e reutilizáveis entre sessões.

Chave de API (para clientes não OAuth)

{
  "mcpServers": {
    "thinair-data": {
      "url": "https://data.thinair.co/mcp",
      "headers": {
        "Authorization": "Bearer ta_live_..."
      }
    }
  }
}

Obtenha uma chave em https://data.thinair.co/connect.

npx (CLI / scripts)

npx -y @thinairtelematics/data

Imprime um bloco de configuração na saída padrão. Sem chave OAuth por padrão.

Bancos de Dados Suportados

As conexões de banco de dados são adicionadas em tempo de execução via ferramenta MCP add_connection — passe o DSN uma vez, a conexão se torna um recurso nomeado que o agente pode reutilizar entre sessões. Três dialetos suportados:

Banco de dadosFormato da string de conexão
PostgreSQLpostgresql://user:pass@host:5432/db
MySQLmysql://user:pass@host:3306/db
SQL Serversqlserver://user:pass@host:1433/db

Você não coloca um DSN na configuração do seu cliente. A ferramenta add_connection é como as conexões entram na sessão.

Exemplo de Uso

Uma vez conectado, pergunte à sua IA:

  • "Mostre-me todas as linhas que não foram atualizadas nas últimas 24 horas em staging e produção"
  • "Quais são as 10 consultas mais lentas desta semana?"
  • "Escanear a tabela de clientes para padrões de PII"
  • "Quais tabelas têm maior exposição a consultas N+1?"

Não para segredos

Não faça commit de DSNs, senhas, tokens, chaves privadas ou credenciais de produção. Use OAuth, o fluxo de conexão hospedado ou o armazenamento de segredos do seu cliente MCP.

Pacote npm

npmjs.com/package/@thinairtelematics/data

Publicado anteriormente como thinair-data (agora descontinuado em favor do pacote com escopo).

Licença

MIT © ThinAir Telematics