Skip to main content
Glama
AdrianCY

Microsoft SQL Server MCP

by AdrianCY

mssql-mcp

MCP-Server (stdio), der sich über den mssql-Treiber mit Microsoft SQL Server verbindet. Tool-Argumente werden mit Valibot definiert und validiert; das JSON-Schema für Clients wird mit @valibot/to-json-schema generiert.

Implementierungshinweis: Dieses Projekt verwendet die Low-Level-Klasse Server aus dem @modelcontextprotocol/sdk anstelle von McpServer, da der aktuelle McpServer.registerTool-Pfad des SDKs auf Zod für Schema-Export und Validierung ausgelegt ist. Tools werden mit ListTools / tools/call-Handlern registriert, wobei die Valibot-Validierung innerhalb der Handler erfolgt.

Tools

  • mssql_query — Führt einen T-SQL-Batch aus; gibt recordsets und rowsAffected zurück. Berücksichtigt MSSQL_MAX_ROWS via SET ROWCOUNT, falls gesetzt.

  • mssql_list_tables — Basistabellen aus INFORMATION_SCHEMA.TABLES, optionaler Schema-Filter.

  • mssql_describe_table — Spalten-Metadaten aus INFORMATION_SCHEMA.COLUMNS.

Umgebungsvariablen

Siehe .env.example. Erforderlich: MSSQL_SERVER, MSSQL_USER, MSSQL_PASSWORD, MSSQL_DATABASE.

  • MSSQL_ALLOW_WRITES — Standardmäßig deaktiviert. Wenn deaktiviert, blockiert eine Heuristik gängige Schreib-/DDL-/Exec-Schlüsselwörter (kein Ersatz für Datenbankberechtigungen).

  • MSSQL_MAX_ROWS — Wenn gesetzt, werden Batches für mssql_query in SET ROWCOUNT eingeschlossen.

  • MSSQL_ENCRYPT / MSSQL_TRUST_SERVER_CERTIFICATE — Werden an den Treiber weitergegeben (encrypt ist standardmäßig auf true gesetzt).

Erstellen und Ausführen

pnpm install
pnpm run build
pnpm start

Entwicklung (kein separater Build):

pnpm dev

Schreiben Sie keine Protokolle nach stdout, wenn Sie unter MCP ausführen; das Protokoll verwendet stdout. Fehler beim Start werden über console.error nach stderr ausgegeben.

Cursor MCP-Konfiguration

Verwenden Sie den absoluten Pfad zu Ihrem Checkout. Beispiel für ein Benutzer-MCP-Konfigurationsfragment:

{
  "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"
      }
    }
  }
}

Verwenden Sie node als command (wie oben). Setzen Sie command nicht auf pnpm oder npx: Wenn pnpm fehlschlägt oder nach stdout schreibt, zeigt Cursor Fehler wie Unexpected token … "ERR_PNPM_"… is not valid JSON an, da stdout ausschließlich für JSON-RPC reserviert sein muss.

Entwicklungsmodus ohne Build (verwenden Sie weiterhin node)

Setzen Sie cwd auf dieses Repository, damit node tsx aus node_modules auflösen kann:

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

Füllen Sie env wie im obigen Beispiel aus. Führen Sie zuerst lokal pnpm install aus, damit tsx vorhanden ist.

-
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