Servidor MCP (Model Context Protocol) para SQL Server com controle de permissões e modo somente-leitura
18 tools with complete schemas and descriptions, but significant quality gaps. Tool names use Portuguese verbs (consulta, listar, descrever) which are non-standard for LLM-optimized naming conventions. Descriptions are present but generic (avg ~80 chars, below 194-char baseline). Parameters lack type specificity, many accept free-form strings without enums or format constraints. No output schema documentation. Error handling returns raw exception strings rather than actionable recovery guidance. Write-operation tools (executar_update, executar_ddl, alterar_procedure) mention user confirmation in descriptions but lack formal confirmation/dry-run patterns. Security validation exists (SQL injection checks in tools.py) but is not exposed in tool definitions.
Altera o codigo-fonte de uma stored procedure. ATENCAO: o usuario DEVE ser questionado e confirmar antes de cada execucao.
Executa uma consulta SELECT (somente leitura) no SQL Server. Use notacao de tres niveis para acessar outros bancos: banco.esquema.tabela. Operacoes DDL/DML (INSERT, UPDATE, DELETE, DROP, etc.) sao bloqueadas.
Cria um indice em uma tabela. ATENCAO: o usuario DEVE ser questionado e confirmar antes de cada execucao.
Descreve a estrutura de uma tabela: colunas, tipos, nulabilidade e chave primaria.
Exibe estatisticas de uma tabela: numero estimado de linhas, tamanho em disco e uso de dados.
Executa um comando DDL (CREATE, ALTER, DROP). ATENCAO: o usuario DEVE ser questionado e confirmar antes de cada execucao.
Tool names in Portuguese (consulta, listar, descrever) violate LLM naming conventions. Standard English verb_noun pattern (get_*, list_*, describe_*) is required for cross-language LLM compatibility and pattern recognition.
No output schema documentation. Tools return JSON but LLMs cannot predict field names, types, or structure. Downstream tool chaining is impossible without trial-and-error.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | <=2025-11-25 | v2 |
Executa uma stored procedure. ATENCAO: o usuario DEVE ser questionado e confirmar antes de cada execucao. Nunca execute procedures sem permissao explicita.
Executa um comando UPDATE. ATENCAO: o usuario DEVE ser questionado e confirmar antes de cada execucao.
Retorna o codigo-fonte completo de uma funcao.
Retorna o codigo-fonte completo de uma stored procedure.
Lista todos os bancos de dados acessiveis no servidor.
Lista todas as constraints de uma tabela (PK, FK, UNIQUE, CHECK, DEFAULT).
Lista todas as funcoes (scalar e table-valued) de um banco de dados.
Lista todos os indices de uma tabela especifica.
Lista todas as stored procedures de um banco de dados.
Lista todas as tabelas e views de um banco de dados.
Exibe o plano de execucao estimado para uma query, sem executa-la. Util para analisar performance.
Retorna o status da ultima execucao de jobs do SQL Server Agent. Recebe uma lista de nomes de jobs separados por virgula e retorna inicio, fim, duracao, resultado e mensagem de cada job.
Write-operation tools (executar_procedure, executar_update, criar_indice, alterar_procedure, executar_ddl) mention user confirmation in descriptions but lack formal confirmation/dry-run patterns. No Multi-Round-Trip Request (result: input_required) support for user approval before destructive operations.
Error responses return raw exception strings (e.g., 'ERRO: {str(e)}') without actionable recovery guidance. LLMs cannot determine if error is retryable, user-fixable, or fatal.
Parameter 'nomes' in status_jobs accepts free-form comma-separated string with no validation schema. Should be array type with item validation or enum of known job names.