MSSQL MCP Server
Conéctate e interactúa con bases de datos de Microsoft SQL Server.
Documentación
Servidor MSSQL MCP
Un servidor de Protocolo de Contexto de Modelo (MCP) para conectarse a bases de datos de Microsoft SQL Server. Este servidor proporciona herramientas para ejecutar consultas SQL y gestionar conexiones de bases de datos.
Aviso de versión: Este proyecto se ha actualizado para usar el SDK de Protocolo de Contexto de Modelo 1.9.0. Consulte UPGRADE.md para obtener más detalles.
Instalación
Instalación mediante Smithery
Para instalar MSSQL MCP Server para Claude Desktop automáticamente mediante Smithery:
npx -y @smithery/cli install @c0h1b4/mssql-mcp-server --client claude
Instalación manual
npm install mssql-mcp-server
Uso
Agregue el servidor a su archivo de configuración de ajustes de 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"
}
}
}
}
Herramientas
query
Ejecute una consulta SQL en una base de datos MSSQL.
Parámetros
connectionString(cadena, opcional): Cadena de conexión completa (alternativa a los parámetros individuales)host(cadena, opcional): Nombre de host del servidor de base de datosport(número, opcional): Puerto del servidor de base de datos (predeterminado: 1433)database(cadena, opcional): Nombre de la base de datos (predeterminado: master)username(cadena, opcional): Nombre de usuario de la base de datospassword(cadena, opcional): Contraseña de la base de datosquery(cadena, obligatorio): Consulta SQL a ejecutarencrypt(booleano, opcional): Habilitar cifrado (predeterminado: false)trustServerCertificate(booleano, opcional): Confiar en el certificado del servidor (predeterminado: true)
Se debe proporcionar connectionString O (host + username + password).
Ejemplo
const result = await use_mcp_tool({
server_name: 'mssql',
tool_name: 'query',
arguments: {
host: 'localhost',
username: 'sa',
password: 'yourpassword',
query: 'SELECT * FROM Users',
},
});
Ejecutar el servidor
Desarrollo 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 .
Pruebas
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
Ejecutar evaluaciones
El paquete de evaluaciones carga un cliente mcp que luego ejecuta el archivo index.ts, por lo que no es necesario reconstruir entre pruebas. Puede cargar variables de entorno prefijando el comando npx. La documentación completa se puede encontrar aquí.
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts examples/simple-server.ts
Seguridad
El servidor incluye salvaguardas contra operaciones SQL peligrosas:
- Bloquea comandos potencialmente dañinos como DROP, TRUNCATE, ALTER, CREATE, EXEC, etc.
- Valida todos los parámetros de entrada y nombres de bases de datos
- Establece límites razonables en la longitud de la consulta y el tiempo de espera
- Utiliza agrupación de conexiones para un mejor rendimiento y seguridad
Licencia
MIT