Este servidor MCP para SQL Server ahora soporta dos métodos de autenticación:
- Autenticación de SQL Server (Tradicional)
- Autenticación de Windows (Credenciales integradas)
# Configuración básica
SERVER_NAME=localhost
DATABASE_NAME=mi_base_datos
USE_WINDOWS_AUTH=false
# Credenciales de SQL Server
USERNAME=mi_usuario_sql
PASSWORD=mi_contraseña_sql
# Opciones adicionales
TRUST_SERVER_CERTIFICATE=true
CONNECTION_TIMEOUT=30
ENCRYPT=false
READONLY=false# Configuración básica
SERVER_NAME=localhost
DATABASE_NAME=mi_base_datos
USE_WINDOWS_AUTH=true
# Opciones para credenciales de Windows
DOMAIN=MI_DOMINIO # Opcional: dominio (vacío para máquina local)
USERNAME=mi_usuario_windows # Opcional: usuario específico (vacío para usuario actual)
PASSWORD=mi_contraseña_win # Opcional: contraseña (vacío para usuario actual)
# Opciones adicionales
TRUST_SERVER_CERTIFICATE=true
CONNECTION_TIMEOUT=30
ENCRYPT=false
READONLY=false{
"mcpServers": {
"mssql-local": {
"command": "node",
"args": ["C:/ruta/a/tu/proyecto/dist/index.js"],
"env": {
"SERVER_NAME": "localhost",
"DATABASE_NAME": "TestDB",
"USE_WINDOWS_AUTH": "false",
"USERNAME": "sa",
"PASSWORD": "MiContraseña123!",
"TRUST_SERVER_CERTIFICATE": "true",
"READONLY": "false"
}
}
}
}{
"mcpServers": {
"mssql-windows": {
"command": "node",
"args": ["C:/ruta/a/tu/proyecto/dist/index.js"],
"env": {
"SERVER_NAME": "SERVIDOR-EMPRESA",
"DATABASE_NAME": "ProductionDB",
"USE_WINDOWS_AUTH": "true",
"TRUST_SERVER_CERTIFICATE": "true",
"READONLY": "true"
}
}
}
}{
"mcpServers": {
"mssql-domain": {
"command": "node",
"args": ["C:/ruta/a/tu/proyecto/dist/index.js"],
"env": {
"SERVER_NAME": "sql-server.empresa.com",
"DATABASE_NAME": "EmpresaDB",
"USE_WINDOWS_AUTH": "true",
"DOMAIN": "EMPRESA",
"USERNAME": "juan.perez",
"PASSWORD": "ContraseñaDominio123!",
"ENCRYPT": "true",
"READONLY": "false"
}
}
}
}SERVER_NAME=localhost\SQLEXPRESS
DATABASE_NAME=MiAppDB
USE_WINDOWS_AUTH=true
TRUST_SERVER_CERTIFICATE=true
READONLY=falseSERVER_NAME=sqlprod.empresa.local
DATABASE_NAME=ProdDB
USE_WINDOWS_AUTH=true
DOMAIN=EMPRESA
USERNAME=svc_aplicacion
PASSWORD=contraseña_servicio
ENCRYPT=true
READONLY=trueSERVER_NAME=192.168.1.100,1433
DATABASE_NAME=RemoteDB
USE_WINDOWS_AUTH=false
USERNAME=app_user
PASSWORD=app_password123
TRUST_SERVER_CERTIFICATE=false
ENCRYPT=true
READONLY=falseSi tienes problemas con la autenticación de Windows:
- Verifica que el usuario tenga permisos en SQL Server
- Asegúrate de que el servidor SQL Server esté configurado para autenticación mixta
- Comprueba que el dominio sea correcto (usa
echo %USERDOMAIN%en cmd)
# Aumenta el timeout si tienes conexiones lentas
CONNECTION_TIMEOUT=60
# Habilita certificados auto-firmados para servidores locales
TRUST_SERVER_CERTIFICATE=true
# Verifica la configuración de encriptación
ENCRYPT=falsePara verificar qué usuario está conectándose, puedes ejecutar esta consulta una vez conectado:
SELECT
SYSTEM_USER as 'Login Name',
USER_NAME() as 'User Name',
@@SERVERNAME as 'Server Name',
DB_NAME() as 'Database Name'- Credenciales: Nunca expongas credenciales en código fuente
- Solo lectura: Usa
READONLY=trueen entornos de producción cuando sea posible - Encriptación: Habilita
ENCRYPT=truepara conexiones remotas - Permisos mínimos: Otorga solo los permisos necesarios al usuario de base de datos
- Variables de entorno: Usa archivos
.envpara credenciales locales (no los subas a git)