MSSQL MCP Server

Conecte-se e interaja com bancos de dados Microsoft SQL Server.

Documentação

Servidor MSSQL MCP

smithery badge

Um servidor Model Context Protocol (MCP) para conectar-se a bancos de dados Microsoft SQL Server. Este servidor fornece ferramentas para executar consultas SQL e gerenciar conexões de banco de dados.

Aviso de versão: Este projeto foi atualizado para usar o Model Context Protocol SDK 1.9.0. Consulte UPGRADE.md para obter detalhes.

Instalação

Instalando via Smithery

Para instalar o MSSQL MCP Server para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @c0h1b4/mssql-mcp-server --client claude

Instalação Manual

npm install mssql-mcp-server

Uso

Adicione o servidor ao seu arquivo de configuração de configurações MCP:

{
  "mcpServers": {
    "mssql": {
      "command": "mssql-mcp-server",
      "env": {
        "MSSQL_CONNECTION_STRING": "Server=localhost;Database=master;User Id=sa;Password=yourpassword;",
        // Or individual connection parameters:
        "MSSQL_HOST": "localhost",
        "MSSQL_PORT": "1433",
        "MSSQL_DATABASE": "master",
        "MSSQL_USER": "sa",
        "MSSQL_PASSWORD": "yourpassword",
        "MSSQL_ENCRYPT": "false",
        "MSSQL_TRUST_SERVER_CERTIFICATE": "true"
      }
    }
  }
}

Ferramentas

query

Execute uma consulta SQL em um banco de dados MSSQL.

Parâmetros

  • connectionString (string, opcional): String de conexão completa (alternativa aos parâmetros individuais)
  • host (string, opcional): Hostname do servidor de banco de dados
  • port (número, opcional): Porta do servidor de banco de dados (padrão: 1433)
  • database (string, opcional): Nome do banco de dados (padrão: master)
  • username (string, opcional): Nome de usuário do banco de dados
  • password (string, opcional): Senha do banco de dados
  • query (string, obrigatório): Consulta SQL a ser executada
  • encrypt (booleano, opcional): Habilitar criptografia (padrão: false)
  • trustServerCertificate (booleano, opcional): Confiar no certificado do servidor (padrão: true)

Deve ser fornecido connectionString OU (host + username + password).

Exemplo

const result = await use_mcp_tool({
  server_name: 'mssql',
  tool_name: 'query',
  arguments: {
    host: 'localhost',
    username: 'sa',
    password: 'yourpassword',
    query: 'SELECT * FROM Users',
  },
});

Executando o Servidor

Desenvolvimento Local

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build
npm run build

# Run the built server
npm start

Usando Docker

# Build and start services (SQL Server + MCP server)
docker-compose up

# Or just build the Docker image
docker build -t mssql-mcp-server .

Testes

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

Executando evals

O pacote de evals carrega um cliente mcp que então executa o arquivo index.ts, portanto não há necessidade de recompilar entre os testes. Você pode carregar variáveis de ambiente prefixando o comando npx. A documentação completa pode ser encontrada aqui.

OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts examples/simple-server.ts

Segurança

O servidor inclui proteções contra operações SQL perigosas:

  • Bloqueia comandos potencialmente prejudiciais como DROP, TRUNCATE, ALTER, CREATE, EXEC, etc.
  • Valida todos os parâmetros de entrada e nomes de banco de dados
  • Define limites razoáveis para comprimento de consulta e tempo limite
  • Usa pool de conexões para melhor desempenho e segurança

Licença

MIT