Skip to main content
Glama
AdrianCY

Microsoft SQL Server MCP

by AdrianCY

mssql-mcp

Servidor MCP (stdio) que se conecta a Microsoft SQL Server utilizando el controlador mssql. Los argumentos de las herramientas se definen y validan con Valibot; el esquema JSON para los clientes se genera con @valibot/to-json-schema.

Nota de implementación: Este proyecto utiliza la clase Server de bajo nivel de @modelcontextprotocol/sdk en lugar de McpServer, debido a que la ruta McpServer.registerTool del SDK actual está construida en torno a Zod para la exportación y validación de esquemas. Las herramientas se registran con controladores ListTools / tools/call y el análisis de Valibot dentro de los controladores.

Herramientas

  • mssql_query — Ejecuta un lote T-SQL; devuelve recordsets y rowsAffected. Respeta MSSQL_MAX_ROWS mediante SET ROWCOUNT cuando está configurado.

  • mssql_list_tables — Tablas base de INFORMATION_SCHEMA.TABLES, filtro de esquema opcional.

  • mssql_describe_table — Metadatos de columna de INFORMATION_SCHEMA.COLUMNS.

Variables de entorno

Ver .env.example. Requerido: MSSQL_SERVER, MSSQL_USER, MSSQL_PASSWORD, MSSQL_DATABASE.

  • MSSQL_ALLOW_WRITES — Desactivado por defecto. Cuando está desactivado, una heurística bloquea palabras clave comunes de escritura/DDL/exec (no sustituye a los permisos de la base de datos).

  • MSSQL_MAX_ROWS — Cuando se establece, envuelve los lotes en SET ROWCOUNT para mssql_query.

  • MSSQL_ENCRYPT / MSSQL_TRUST_SERVER_CERTIFICATE — Se pasan al controlador (encrypt es true por defecto).

Construcción y ejecución

pnpm install
pnpm run build
pnpm start

Desarrollo (sin compilación separada):

pnpm dev

No escriba registros en stdout cuando se ejecute bajo MCP; el protocolo utiliza stdout. Los errores al iniciar van a stderr a través de console.error.

Configuración de Cursor MCP

Utilice la ruta absoluta a su repositorio. Ejemplo de fragmento de configuración MCP de usuario:

{
  "mcpServers": {
    "mssql": {
      "command": "node",
      "args": ["/home/adrian/code/mcp/dist/index.js"],
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_USER": "your_user",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_TRUST_SERVER_CERTIFICATE": "true"
      }
    }
  }
}

Utilice node como command (como se muestra arriba). No establezca command como pnpm o npx: si pnpm falla o imprime en stdout, Cursor muestra errores como Unexpected token … "ERR_PNPM_"… is not valid JSON porque stdout debe ser solo JSON-RPC.

Modo de desarrollo sin compilación (siga usando node)

Establezca cwd en este repositorio para que node pueda resolver tsx desde node_modules:

{
  "mcpServers": {
    "mssql": {
      "command": "node",
      "args": ["--import", "tsx", "/home/adrian/code/mcp/src/index.ts"],
      "cwd": "/home/adrian/code/mcp",
      "env": { }
    }
  }
}

Complete env igual que en el ejemplo anterior. Ejecute pnpm install localmente primero para que tsx exista.

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AdrianCY/mssql-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server