MSSQL MCP Server
Conecte-se e interaja com bancos de dados Microsoft SQL Server.
Documentação
Servidor MSSQL MCP
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 dadosport(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 dadospassword(string, opcional): Senha do banco de dadosquery(string, obrigatório): Consulta SQL a ser executadaencrypt(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