SQLFluff Analyzer

Analise, faça linting e corrija consultas SQL usando o linter SQLFluff.

Documentação

mcp-server-sql-analyzer

Um servidor Model Context Protocol (MCP) que fornece capacidades de análise, linting e correção de SQL usando SQLFluff.

Visão Geral

O servidor MCP sqlfluff fornece ferramentas para analisar e trabalhar com consultas SQL. Ele ajuda com:

  • Aplicar lint em consultas SQL e retornar erros de sintaxe
  • Corrigir consultas SQL e retornar a versão corrigida.
  • Analisar consultas SQL e retornar a árvore analisada.

Ferramentas

  1. lint_sql
  • Aplicar lint em consultas SQL e retornar erros de sintaxe. Alguns erros de sintaxe não são detectados pelo parser, como vírgulas finais.
  • Entradas:
    • sql (string): Consulta SQL para analisar.
    • dialect (string, opcional): Dialeto SQL (ex.: 'mysql', 'postgresql').
  • Retorna:
    • Lista de resultados de linting, cada um contendo:
      • start_line_no: Número da linha onde o problema começa
      • start_line_pos: Posição na linha onde o problema começa
      • code: Código do erro
      • description: Descrição do problema
      • name: Nome da regra de linting
      • warning: Se é um aviso ou um erro
      • fixes: Lista de correções possíveis
      • start_file_pos: Posição inicial no arquivo
      • end_line_no: Número da linha onde o problema termina
      • end_line_pos: Posição na linha onde o problema termina
      • end_file_pos: Posição final no arquivo
  1. fix_sql

    • Corrigir consultas SQL e retornar a versão corrigida.
    • Entradas:
      • sql (string): Consulta SQL para corrigir.
      • dialect (string, opcional): Dialeto SQL (ex.: 'mysql', 'postgresql').
    • Retorna:
      • String da consulta SQL corrigida.
  2. parse_sql

    • Analisar consultas SQL e retornar a árvore analisada.
    • Entradas:
      • sql (string): Consulta SQL para analisar.
      • dialect (string, opcional): Dialeto SQL (ex.: 'mysql', 'postgresql').
    • Retorna:
      • Árvore analisada como uma string.

Recursos

Descoberta de Dialetos SQL

dialects://all

Retorna uma lista de todos os dialetos SQL suportados para uso em todas as ferramentas.

Configuração

Usando uvx

Adicione isto ao seu arquivo de configuração do cliente MCP:

{
  "mcpServers": {
      "mcp-server-sqlfluff": {
          "command": "uvx",
          "args": [
              "--from",
              "git+https://github.com/antoprince001/mcp-server-sqlfluff.git",
              "mcp-server-sqlfluff"
          ]
      }
  }
}

Usando uv

Após clonar este repositório, adicione isto ao seu arquivo de configuração do cliente MCP:

{
  "mcpServers": {
      "mcp-server-sqlfluff": {
          "command": "uv",
          "args": [
              "--directory",
              "/path/to/mcp-server-sqlfluff",
              "run",
              "mcp-server-sqlfluff"
          ]
      }
  }
}

Desenvolvimento

Para executar o servidor em modo de desenvolvimento:

# Clone the repository
git clone git@github.com:antoprince001/mcp-server-sqlfluff.git

# Run the server
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-server-sqlfluff run mcp-server-sqlfluff

Para executar testes unitários:

uv run pytest .

Licença

Lançado sob a Licença MIT. Consulte o arquivo LICENSE para detalhes.