MSSQL MCP Server

Conéctate e interactúa con bases de datos de Microsoft SQL Server.

Documentación

Servidor MSSQL MCP

smithery badge

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 datos
  • port (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 datos
  • password (cadena, opcional): Contraseña de la base de datos
  • query (cadena, obligatorio): Consulta SQL a ejecutar
  • encrypt (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