SQL Analyzer
Analise, faça linting e converta dialetos SQL usando SQLGlot.
Documentação
mcp-server-sql-analyzer
Um servidor Model Context Protocol (MCP) que fornece análise de SQL, linting e conversão de dialetos usando SQLGlot.
Visão Geral
O servidor MCP SQL Analyzer fornece ferramentas para analisar e trabalhar com consultas SQL. Ele ajuda com:
- Validação de sintaxe SQL e linting
- Conversão de consultas entre diferentes dialetos SQL (ex.: MySQL para PostgreSQL)
- Extração e análise de referências e dependências de tabelas
- Identificação de uso de colunas e relacionamentos
- Descoberta de dialetos SQL suportados
Como o Claude Usa Este Servidor
Como assistente de IA, este servidor aprimora minha capacidade de ajudar usuários a trabalhar com SQL de forma eficiente:
-
Validação de Consultas: Posso validar instantaneamente a sintaxe SQL antes de sugeri-la aos usuários, garantindo que forneço consultas corretas e apropriadas ao dialeto.
-
Conversão de Dialetos: Quando usuários precisam migrar consultas entre diferentes sistemas de banco de dados, posso converter com precisão a sintaxe preservando a lógica da consulta.
-
Análise de Código: A análise de referências de tabelas e colunas me ajuda a entender consultas complexas, facilitando a explicação da estrutura da consulta e a sugestão de otimizações.
-
Verificação de Compatibilidade: Ao conhecer os dialetos suportados e suas características específicas, posso orientar usuários para práticas recomendadas específicas do banco de dados.
Este conjunto de ferramentas me permite fornecer assistência relacionada a SQL mais precisa e útil, reduzindo o risco de erros de sintaxe ou problemas específicos de dialeto.
Dicas
Atualize suas preferências pessoais nas configurações do Claude Desktop para solicitar que o SQL gerado seja primeiro validado usando a ferramenta lint_sql.
Ferramentas
-
lint_sql
- Valida a sintaxe de consultas SQL e retorna quaisquer erros
- Entrada:
- sql (string): Consulta SQL para analisar
- dialect (string, opcional): Dialeto SQL (ex.: 'mysql', 'postgres')
- Retorna: ParseResult contendo:
- is_valid (boolean): Se o SQL é válido
- message (string): Mensagem de erro ou "Nenhum erro de sintaxe"
- position (objeto, opcional): Linha e coluna do erro, se presente
-
transpile_sql
- Converte SQL entre diferentes dialetos
- Entradas:
- sql (string): Instrução SQL para transpilar
- read_dialect (string): Dialeto SQL de origem
- write_dialect (string): Dialeto SQL de destino
- Retorna: TranspileResult contendo:
- is_valid (boolean): Se a transpilação foi bem-sucedida
- message (string): Mensagem de erro ou confirmação de sucesso
- sql (string): SQL transpilado, se bem-sucedido
-
get_all_table_references
- Extrai referências de tabelas e CTEs do SQL
- Entradas:
- sql (string): Instrução SQL para analisar
- dialect (string, opcional): Dialeto SQL
- Retorna: TableReferencesResult contendo:
- is_valid (boolean): Se a análise foi bem-sucedida
- message (string): Mensagem de status
- tables (array): Lista de referências de tabelas com tipo, catálogo, banco de dados, nome da tabela, alias e nome totalmente qualificado
-
get_all_column_references
- Extrai referências de colunas com contexto de tabela
- Entradas:
- sql (string): Instrução SQL para analisar
- dialect (string, opcional): Dialeto SQL
- Retorna: ColumnReferencesResult contendo:
- is_valid (boolean): Se a análise foi bem-sucedida
- message (string): Mensagem de status
- columns (array): Lista de referências de colunas com nome da coluna, nome da tabela e nome totalmente qualificado
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 (recomendado)
Adicione isto ao seu claude_desktop_config.json:
{
"mcpServers": {
"sql-analyzer": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/j4c0bs/mcp-server-sql-analyzer.git",
"mcp-server-sql-analyzer"
]
}
}
}
Usando uv
Após clonar este repositório, adicione isto ao seu claude_desktop_config.json:
{
"mcpServers": {
"sql-analyzer": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-server-sql-analyzer",
"run",
"mcp-server-sql-analyzer"
]
}
}
}
Desenvolvimento
Para executar o servidor em modo de desenvolvimento:
# Clone the repository
git clone git@github.com:j4c0bs/mcp-server-sql-analyzer.git
# Run the server
npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-server-sql-analyzer run mcp-server-sql-analyzer
Para executar testes unitários:
uv run pytest .
Licença
MIT