SQL Server

Registre officiel Données et bases de données

Servidor MCP para SQL Server com controle de permissões e modo somente-leitura

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

PYPI package sqlserver-mcp-tools
Claude Code
claude mcp add sql-server -e 'MSSQL_CONNECTION_STRING=<your mssql_connection_string>' -- uvx sqlserver-mcp-tools==0.1.8
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "sql-server": {
            "command": "uvx",
            "args": [
                "sqlserver-mcp-tools==0.1.8"
            ],
            "env": {
                "MSSQL_CONNECTION_STRING": "<your mssql_connection_string>"
            }
        }
    }
}

Variables d'environnement

  • MSSQL_CONNECTION_STRING obligatoire secret String de conexão ODBC para o SQL Server

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. mcp-sqlserver
  2. Segurança
  3. Pré-requisitos
  4. Instalação
  5. Configuração
  6. Uso com clientes MCP
  7. Servidor HTTP (Streamable HTTP)
  8. Ferramentas disponíveis
  9. Licença

mcp-sqlserver

Servidor MCP (Model Context Protocol) para SQL Server, com controle de permissões e modo somente-leitura por padrão. Permite que agentes de IA (Claude, opencode e outros clientes MCP) consultem e administrem bancos SQL Server de forma segura.

Segurança

  • Credenciais nunca expostas ao LLM — a string de conexão é lida do ambiente e nunca aparece nas respostas nem nos logs.
  • Somente leitura por padrão — a ferramenta consulta bloqueia DDL/DML (INSERT, UPDATE, DELETE, DROP, etc.).
  • Escrita sob demanda — ferramentas de escrita (executar_update, executar_ddl, etc.) só são expostas quando o usuário da conexão possui permissão de escrita (roles sysadmin, db_owner, db_datawriter ou db_ddladmin), e exigem confirmação explícita antes de cada execução.

Pré-requisitos

  • Python 3.10+
  • Driver ODBC Driver 18 for SQL Server:
    • macOS: brew install msodbcsql18
    • Windows/Linux: instale o driver correspondente da Microsoft

Instalação

Via PyPI:

pip install sqlserver-mcp-tools

Ou, sem instalar nada (executa direto do PyPI com cache):

uvx --from sqlserver-mcp-tools mcp-sqlserver

Configuração

O servidor lê a string de conexão das seguintes fontes, em ordem de prioridade:

  1. Variável de ambiente MSSQL_CONNECTION_STRING
  2. Variável de ambiente MSSQL_ENV_FILE apontando para um arquivo .env
  3. Arquivo .env no diretório de trabalho (ou na raiz do projeto)

Exemplo de string de conexão:

DRIVER={ODBC Driver 18 for SQL Server};SERVER=localhost,1433;DATABASE=seu_banco;UID=seu_usuario;PWD=sua_senha;TrustServerCertificate=yes

Uso com clientes MCP

Claude Desktop

Adicione ao claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-sqlserver": {
      "command": "uvx",
      "args": ["--from", "sqlserver-mcp-tools", "mcp-sqlserver"],
      "env": {
        "MSSQL_CONNECTION_STRING": "DRIVER={ODBC Driver 18 for SQL Server};SERVER=...;DATABASE=...;UID=...;PWD=...;TrustServerCertificate=yes"
      }
    }
  }
}

Se instalou via pip install, pode usar o entry point diretamente:

{
  "mcpServers": {
    "mcp-sqlserver": {
      "command": "mcp-sqlserver",
      "env": {
        "MSSQL_CONNECTION_STRING": "DRIVER={ODBC Driver 18 for SQL Server};SERVER=...;DATABASE=...;UID=...;PWD=...;TrustServerCertificate=yes"
      }
    }
  }
}
OpenCode

No opencode.json do projeto:

{
  "mcp": {
    "sqlserver": {
      "type": "local",
      "command": ["mcp-sqlserver"],
      "environment": {
        "MSSQL_CONNECTION_STRING": "DRIVER={ODBC Driver 18 for SQL Server};SERVER=...;DATABASE=...;UID=...;PWD=...;TrustServerCertificate=yes"
      }
    }
  }
}

Alternativa: apontar para um arquivo .env local, mantendo a senha fora do JSON:

{
  "mcp": {
    "sqlserver": {
      "type": "local",
      "command": ["mcp-sqlserver"],
      "environment": {
        "MSSQL_ENV_FILE": "/caminho/para/seu/.env"
      }
    }
  }
}

Servidor HTTP (Streamable HTTP)

Além do modo local (stdio), o servidor pode ser executado como um MCP remoto via Streamable HTTP, expondo o endpoint /mcp. Instale com o extra server:

pip install 'sqlserver-mcp-tools[server]'

Inicie o servidor:

MSSQL_CONNECTION_STRING="DRIVER={ODBC Driver 18 for SQL Server};SERVER=...;DATABASE=...;UID=...;PWD=...;TrustServerCertificate=yes" \
  mcp-sqlserver-http

Opcionalmente, ajuste host/porta com MCP_HOST (padrão 0.0.0.0) e MCP_PORT (padrão 8090). O endpoint MCP fica em http://<host>:<porta>/mcp.

Para consumir remotamente no opencode:

{
  "mcp": {
    "sqlserver": {
      "type": "remote",
      "url": "http://10.177.51.228:8090/mcp"
    }
  }
}

Ferramentas disponíveis

Somente leitura (sempre disponíveis):

FerramentaDescrição
consultaExecuta SELECT (somente leitura, bloqueia DDL/DML)
listar_bancosLista os bancos de dados acessíveis
listar_tabelasLista tabelas e views de um banco
descrever_tabelaEstrutura de uma tabela (colunas, tipos, PK)
listar_indicesÍndices de uma tabela
listar_proceduresLista stored procedures
ler_procedureCódigo-fonte de uma procedure
listar_funcoesLista funções (scalar e table-valued)
ler_funcaoCódigo-fonte de uma função
listar_constraintsConstraints de uma tabela (PK, FK, UNIQUE, CHECK, DEFAULT)
estatisticas_tabelaEstatísticas (linhas, tamanho, uso de dados)
plano_execucaoPlano de execução estimado (sem executar)
status_jobsStatus da última execução de jobs do SQL Agent

Escrita (só com permissão de escrita na conexão):

FerramentaDescrição
executar_procedureExecuta uma stored procedure
executar_updateExecuta UPDATE (exige WHERE)
criar_indiceCria índice
alterar_procedureAltera procedure com backup automático
executar_ddlExecuta DDL com backup do script de reversão

Licença

MIT

Questions fréquentes

Qu'est-ce que SQL Server ?

Servidor MCP para SQL Server com controle de permissões e modo somente-leitura

Comment installer SQL Server ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add sql-server -e 'MSSQL_CONNECTION_STRING=<your mssql_connection_string>' -- uvx sqlserver-mcp-tools==0.1.8. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour SQL Server ?

Oui. Il attend MSSQL_CONNECTION_STRING, à renseigner dans sa configuration.

SQL Server est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient SQL Server ?

Il est publié par hlgurgel. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.