MSSQL MCP Server
Interaja com bancos de dados Microsoft SQL Server (MSSQL). Liste tabelas, leia dados e execute consultas SQL com acesso controlado.
Documentação
MSSQL MCP Server
O MSSQL MCP Server é um servidor Model Context Protocol (MCP) que permite interação segura e estruturada com bancos de dados Microsoft SQL Server (MSSQL). Ele permite que assistentes de IA possam:
- Listar tabelas disponíveis
- Ler o conteúdo das tabelas
- Executar consultas SQL com acesso controlado
Construído sobre o MCP SDK v2 (especificação de 28/07/2026) com suporte para transportes stdio e Streamable HTTP.
Recursos
- Acesso Seguro ao Banco de Dados MSSQL por meio de variáveis de ambiente
- Proteção contra Injeção de SQL com validação de identificadores
- Ferramentas Somente Leitura e de Escrita com anotações MCP apropriadas
- Suporte à Autenticação do Windows via Conexão Confiável
- Transporte Duplo — stdio (padrão) e HTTP
- Suporte a Docker com drivers ODBC pré-configurados
- Registro Abrangente para monitoramento de consultas e operações
Instalação
pip install mssql-mcp-server
Configuração
Defina as seguintes variáveis de ambiente para configurar o acesso ao banco de dados:
# Required
MSSQL_DATABASE=your_database
# Authentication (choose one):
# Option 1: SQL Server Authentication
MSSQL_USER=your_username
MSSQL_PASSWORD=your_password
# Option 2: Windows / Kerberos Authentication
Trusted_Connection=yes
# Optional
MSSQL_HOST=localhost # or use MSSQL_SERVER
MSSQL_DRIVER=SQL Server # default driver
TrustServerCertificate=no # default: no (set to yes for self-signed certs)
MCP_TRANSPORT=stdio # or "streamable-http" for Streamable HTTP
Ferramentas Disponíveis
| Ferramenta | Descrição | Anotações |
|---|---|---|
list_tables | Listar todas as tabelas do banco de dados | Somente leitura, Idempotente |
query_sql | Executar consultas SELECT somente leitura | Somente leitura, Idempotente |
execute_sql | Executar qualquer instrução SQL (SELECT, INSERT, UPDATE, DELETE, DDL) | Destrutiva |
Uso
Com o Claude Desktop
Adicione esta configuração ao claude_desktop_config.json:
{
"mcpServers": {
"mssql": {
"command": "uv",
"args": [
"--directory",
"path/to/mssql_mcp_server",
"run",
"mssql_mcp_server"
],
"env": {
"MSSQL_HOST": "localhost",
"MSSQL_USER": "your_username",
"MSSQL_PASSWORD": "your_password",
"MSSQL_DATABASE": "your_database"
}
}
}
}
Com o Cursor IDE
Adicione isto ao seu .cursor/mcp.json:
{
"mcpServers": {
"mssql": {
"command": "uv",
"args": [
"--directory",
"path/to/mssql_mcp_server",
"run",
"mssql_mcp_server"
],
"env": {
"MSSQL_HOST": "localhost",
"MSSQL_USER": "your_username",
"MSSQL_PASSWORD": "your_password",
"MSSQL_DATABASE": "your_database"
}
}
}
}
Com pip install (global)
{
"mcpServers": {
"mssql": {
"command": "mssql_mcp_server",
"env": {
"MSSQL_HOST": "localhost",
"MSSQL_USER": "your_username",
"MSSQL_PASSWORD": "your_password",
"MSSQL_DATABASE": "your_database"
}
}
}
}
Com Docker
docker build -t mssql-mcp-server .
docker run -e MSSQL_HOST=host.docker.internal \
-e MSSQL_USER=your_username \
-e MSSQL_PASSWORD=your_password \
-e MSSQL_DATABASE=your_database \
mssql-mcp-server
Executando como Servidor Autônomo
# Install dependencies
pip install -r requirements.txt
# Run the server (stdio)
python -m mssql_mcp_server
# Run with HTTP transport
MCP_TRANSPORT=streamable-http python -m mssql_mcp_server
Desenvolvimento e Testes
# Clone the repository
git clone https://github.com/JexinSam/mssql_mcp_server.git
cd mssql_mcp_server
# Set up a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -r requirements-dev.txt
pip install -e .
# Run tests
pytest -v
# Test with MCP Inspector
uv run mcp dev src/mssql_mcp_server/server.py
Solução de Problemas
Erro "Programa Não Encontrado"
Isso geralmente significa que o comando mssql_mcp_server não está no seu PATH. Soluções:
- Use
uv(recomendado): Configure seu cliente MCP para usaruv --directory path/to/mssql_mcp_server run mssql_mcp_server - Use o caminho completo: Encontre o local de instalação com
pip show mssql-mcp-servere use o diretório de scripts - Use
python -m: Execute comopython -m mssql_mcp_server
Problemas com o Driver MSSQL
O driver padrão é SQL Server (integrado ao Windows). Para Linux/macOS ou recursos mais recentes:
- Instale o Microsoft ODBC Driver 18
- Defina
MSSQL_DRIVER="ODBC Driver 18 for SQL Server"
Tempos de Conexão Excedidos
Se estiver usando MSSQL_SERVER de outros projetos, este servidor suporta ambas as variáveis de ambiente MSSQL_HOST e MSSQL_SERVER (com MSSQL_HOST tendo prioridade).
Considerações de Segurança
- Use um usuário MSSQL dedicado com privilégios mínimos.
- Nunca use credenciais de root ou contas administrativas completas.
- Restrinja o acesso ao banco de dados apenas às operações necessárias (por exemplo, use
GRANT SELECTsomente se o modelo não deve modificar dados). As anotaçõesreadOnlyHintedestructiveHintsão para a experiência do usuário no cliente; a segurança é aplicada inteiramente pelas suas credenciais do banco de dados. - Ative registro e auditoria para monitoramento de segurança.
- Revise as permissões regularmente para garantir acesso com privilégios mínimos.
Práticas Recomendadas de Segurança
Para uma configuração segura:
- Crie um usuário MSSQL dedicado com permissões restritas.
- Evite credenciais codificadas — use variáveis de ambiente.
- Restrinja o acesso apenas às tabelas e operações necessárias.
- Ative o registro e monitoramento do SQL Server para auditoria.
- Revise o acesso ao banco de dados regularmente para prevenir acesso não autorizado.
Para instruções detalhadas, consulte o Guia de Configuração de Segurança MSSQL.
⚠️ IMPORTANTE: Sempre siga o Princípio do Menor Privilégio ao configurar o acesso ao banco de dados.
Licença
Este projeto é licenciado sob a Licença MIT. Consulte o arquivo LICENSE para detalhes.
Contribuições
Aceitamos contribuições! Para contribuir:
- Faça um fork do repositório.
- Crie um branch de recurso:
git checkout -b feature/amazing-feature - Faça commit das suas alterações:
git commit -m 'Add amazing feature' - Envie para o branch:
git push origin feature/amazing-feature - Abra um Pull Request.
Precisa de Ajuda?
Para qualquer dúvida ou problema, sinta-se à vontade para abrir uma Issue no GitHub ou entrar em contato com os mantenedores.