McpSqlServer 0.9.2

dotnet tool install --global McpSqlServer --version 0.9.2
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local McpSqlServer --version 0.9.2
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=McpSqlServer&version=0.9.2
                    
nuke :add-package McpSqlServer --version 0.9.2
                    

McpSqlServer

Servidor MCP especialista em SQL Server com autenticação Windows integrada e modo somente leitura por padrão.

Conecte Gemini, Cursor, Claude Desktop ou VS Code ao SQL Server usando o seu usuário de rede — sem credenciais de aplicação.

Repositório: https://github.com/SouzaMatheus-dev/mcp-sqlserver

Instalação

Global tool (.NET 8+)

dotnet tool install --global McpSqlServer
dotnet tool update --global McpSqlServer

dotnet dnx (requer .NET 10 SDK)

dotnet dnx McpSqlServer --yes --source https://api.nuget.org/v3/index.json

Em máquinas corporativas com .NET 8/9, prefira a global tool (mcp-sqlserver).

Configuração MCP

Global tool — Gemini / Cursor

{
  "mcpServers": {
    "sqlserver-hml": {
      "command": "mcp-sqlserver",
      "env": {
        "MCPMSSQL_CONNECTION_STRING": "Server=SQLHML;Integrated Security=SSPI;TrustServerCertificate=True;Database=master",
        "MSSQL_READONLY": "true"
      }
    }
  }
}

dotnet dnx — Gemini

{
  "mcpServers": {
    "sqlserver-hml": {
      "command": "dotnet",
      "args": ["dnx", "McpSqlServer", "--yes", "--source", "https://api.nuget.org/v3/index.json"],
      "env": {
        "MCPMSSQL_CONNECTION_STRING": "Server=SQLHML;Integrated Security=SSPI;TrustServerCertificate=True;Database=master",
        "MSSQL_READONLY": "true"
      }
    }
  }
}

Reinicie o cliente MCP e valide com usuario_conectado.

Um servidor, vários bancos

Configure uma entrada por ambiente (DEV, HML, PROD). Use o parâmetro database nas ferramentas:

listar_bancos()
listar_tabelas(database="Vendas")
executar_consulta(sql="SELECT TOP 10 * FROM dbo.Pedidos", database="Financeiro")

Ferramentas MCP (30)

Conexão e inventário

Ferramenta Descrição
usuario_conectado Login Windows, banco atual e modo MCP
listar_bancos Bancos visíveis no servidor
listar_tabelas Tabelas base
listar_views Views
listar_procedures Procedures e functions (metadados)
resumir_banco Contagens por tipo e TOP 20 maiores tabelas

Metadados e dicionário de dados

Ferramenta Descrição
descrever_tabela Colunas, tipos, PK
descrever_view Colunas de view
descrever_procedure Parâmetros de procedure/function
obter_definicao_sql Script SQL do objeto
obter_documentacao_objeto MS_Description (objeto e colunas)

Relacionamentos e impacto

Ferramenta Descrição
listar_chaves_estrangeiras Foreign keys para montar JOINs
listar_indices Índices, unique e PK
listar_dependencias Quem referencia / é referenciado por um objeto

Descoberta

Ferramenta Descrição
buscar_coluna Busca colunas pelo nome (LIKE)
buscar_objeto Busca tabelas, views e procedures
buscar_texto_sql Busca texto em views/procedures/functions

Entender os dados

Ferramenta Descrição
amostrar_tabela Amostra linhas (SELECT TOP seguro)
perfil_coluna Nulos, distintos, min/max e valores frequentes
consultar_view SELECT TOP em view
executar_consulta SELECT/WITH validado

Tuning estrutural (sem DMVs de servidor)

Ferramenta Descrição
listar_fks_sem_indice FKs sem índice na coluna leading
analisar_cobertura_indice Cobertura de colunas por índices existentes
comparar_indices_redundantes Índices duplicados ou prefixo redundante
listar_colunas_candidatas_indice Colunas sem índice em tabelas grandes
medir_consulta STATISTICS IO/TIME para uma consulta
estimar_plano_consulta Plano SHOWPLAN_XML para SELECT
extrair_sugestoes_plano MissingIndex do plano estimado

Performance em runtime (opt-in)

Requer MSSQL_ENABLE_PERFORMANCE_DMVS=true — somente consultas_lentas e indices_nao_utilizados.

Ferramenta Descrição
consultas_lentas TOP consultas por tempo médio (DMVs)
indices_nao_utilizados Índices sem seeks/scans/lookups

Procedures não são executadas (EXEC bloqueado). Foco em leitura corporativa.

Fluxo sugerido para devs

  1. resumir_banco → visão geral
  2. listar_chaves_estrangeiras + listar_indices → entender JOINs
  3. buscar_texto_sql / buscar_coluna → achar lógica e campos
  4. amostrar_tabela + perfil_coluna → entender os dados
  5. listar_fks_sem_indice + analisar_cobertura_indice → tuning estrutural
  6. medir_consulta / extrair_sugestoes_plano → validar e propor índices
  7. listar_dependencias → avaliar impacto de mudanças
  8. (opt-in) consultas_lentas / indices_nao_utilizados → runtime em produção

Variáveis de ambiente

Variável Padrão Descrição
MCPMSSQL_CONNECTION_STRING Connection string completa (recomendado)
MSSQL_SERVER Servidor/instância (alternativa)
MSSQL_DATABASE master Banco padrão
MSSQL_READONLY true Bloqueia DDL, DML e EXEC
MSSQL_APPLICATION_INTENT_READONLY true ApplicationIntent=ReadOnly
MSSQL_MAX_ROWS 200 Limite de linhas retornadas
MSSQL_CONNECTION_TIMEOUT 15 Timeout de conexão (segundos)
MSSQL_ENABLE_PERFORMANCE_DMVS false Habilita consultas_lentas e indices_nao_utilizados

Segurança

  • Autenticação via usuário de rede (Integrated Security=SSPI)
  • Validador SQL bloqueia comandos de escrita
  • Permissões reais vêm do SQL Server — o MCP não eleva privilégios
  • Mantenha MSSQL_READONLY=true em produção

Documentação completa

Licença

MIT

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.9.2 104 8/27/2026
0.9.1 99 8/27/2026
0.9.0 103 8/27/2026
0.8.1 134 7/28/2026
0.8.0 123 7/27/2026
0.7.0 105 7/27/2026
0.6.0 102 7/27/2026
0.5.0 110 7/27/2026
0.4.4 124 7/25/2026