Skip to main content
Glama
AdrianCY

Microsoft SQL Server MCP

by AdrianCY

@adriancy/mcp-mssql

MCP-Server (stdio) für Microsoft SQL Server. Stellt Tools bereit, damit Cursor (oder jeder andere MCP-Client) Tabellen auflisten, Spalten beschreiben und leseorientiertes T-SQL ausführen kann.

Verwendung in Cursor

  1. Öffnen Sie Cursor Settings → MCP (oder bearbeiten Sie Ihre MCP-JSON-Datei).

  2. Fügen Sie einen Server-Block hinzu. Setzen Sie env auf Ihre Datenbank (siehe .env.example).

Von npm (nachdem das Paket veröffentlicht wurde):

{
  "mcpServers": {
    "mssql": {
      "command": "npx",
      "args": ["-y", "@adriancy/mcp-mssql"],
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_USER": "your_user",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_TRUST_SERVER_CERTIFICATE": "true"
      }
    }
  }
}

Von einem lokalen Klon (führen Sie zuerst pnpm install && pnpm build aus):

{
  "mcpServers": {
    "mssql": {
      "command": "node",
      "args": ["/absolute/path/to/mssql-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 für lokale Dateien. Vermeiden Sie pnpm als MCP-command – zusätzliche Ausgaben auf stdout können das Protokoll unterbrechen.

Bestätigen Sie, dass der Installationsname mit npm übereinstimmt: npm view @adriancy/mcp-mssql version.

Related MCP server: MSSQL Database MCP Server

Umgebung

Alle Variablen werden aus der MCP-Prozessumgebung gelesen (z. B. Cursor env). Boolesche Werte behandeln 1, true, yes, on (Groß-/Kleinschreibung ignoriert) als wahr und 0, false, no, off als falsch. Ungültige boolesche Werte und Ganzzahlen führen zum Abbruch der Startvalidierung.

Variable

Erforderlich

Standard

Bedeutung

MSSQL_SERVER

ja

—

Hostname oder IP des SQL Servers

MSSQL_USER

ja†

—

Anmeldebenutzer (SQL-Authentifizierung, NTLM, Azure AD-Passwort); nicht verwendet für azure-active-directory-access-token oder reine Service-Principal-Flows

MSSQL_PASSWORD

ja*†

—

Anmeldekennwort (*kann bei einigen Setups leer sein)

MSSQL_DATABASE

ja

—

Ursprüngliche Datenbank

MSSQL_PORT

nein

1433

TCP-Port; weglassen bei Verwendung von MSSQL_INSTANCE_NAME (Treiber verwendet Instanz + SQL Browser)

MSSQL_ENCRYPT

nein

true

TLS encrypt: true, false oder strict (TDS 8.0 / tedious)

MSSQL_TRUST_SERVER_CERTIFICATE

nein

false

Selbstsigniertes Zertifikat vertrauen / Zertifikatsvalidierung überspringen (nur Entwicklung)

MSSQL_TLS_SERVER_NAME

nein

—

Hostname für TLS-Validierung, wenn er von MSSQL_SERVER abweicht (z. B. Verbindung per IP)

MSSQL_TLS_CA_FILE

nein

—

Pfad zur CA-PEM-Datei; übergeben via cryptoCredentialsDetails.ca

MSSQL_TLS_CERT_FILE

nein

—

Optionales Client-Zertifikat PEM (gegenseitiges TLS)

MSSQL_TLS_KEY_FILE

nein

—

Optionaler privater Client-Schlüssel PEM

MSSQL_TLS_KEY_PASSPHRASE

nein

—

Passphrase für verschlüsselten Client-Schlüssel

MSSQL_CONNECTION_TIMEOUT_MS

nein

(Treiber-Standard)

Pool connectionTimeout (ms). 0 → nicht gesetzt

MSSQL_DOMAIN

nein

—

Domänen-Login (config.domain für SQL-Authentifizierung; erforderlich für MSSQL_AUTH_TYPE=ntlm)

MSSQL_INSTANCE_NAME

nein

—

Benannte Instanz (options.instanceName); verlassen Sie sich bei gesetztem Wert nicht auf MSSQL_PORT

MSSQL_MULTI_SUBNET_FAILOVER

nein

false

Failover-Hinweis im Stil von Verfügbarkeitsgruppen

MSSQL_READ_ONLY_INTENT

nein

false

Schreibgeschütztes Routing für AG-Sekundärserver

MSSQL_MAX_RETRIES_ON_TRANSIENT_ERRORS

nein

—

Tedious maxRetriesOnTransientErrors; 0 → nicht gesetzt

MSSQL_CONNECTION_RETRY_INTERVAL_MS

nein

—

Tedious connectionRetryInterval; 0 → nicht gesetzt

MSSQL_POOL_MAX

nein

10

Maximale Pool-Verbindungen

MSSQL_POOL_MIN

nein

0

Minimale Pool-Verbindungen

MSSQL_POOL_IDLE_TIMEOUT_MS

nein

30000

pool.idleTimeoutMillis

MSSQL_APP_NAME

nein

—

options.appName (Server-Tracing)

MSSQL_USE_UTC

nein

true

options.useUTC wenn gesetzt

MSSQL_TDS_VERSION

nein

—

7_1, 7_2, 7_3_A, 7_3_B oder 7_4

MSSQL_AUTH_TYPE

nein

—

ntlm, azure-active-directory-password, azure-active-directory-access-token, azure-active-directory-service-principal-secret oder nicht gesetzt/default für SQL-Login

MSSQL_AZURE_CLIENT_ID

nein‡

—

Azure AD App (Client) ID, falls erforderlich

MSSQL_AZURE_TENANT_ID

nein‡

—

Tenant ID (optional für Passwort-Authentifizierung, Standard common; erforderlich für Service Principal)

MSSQL_AZURE_CLIENT_SECRET

nein‡

—

Service Principal Secret

MSSQL_AZURE_ACCESS_TOKEN

nein‡

—

Vorab erhaltenes Token für Access-Token-Authentifizierung

MSSQL_ALLOW_WRITES

nein

false

Wenn falsch/nicht gesetzt, werden gängige Schreib-/DDL-/Exec-Muster in mssql_query blockiert (nur heuristisch)

MSSQL_QUERY_TIMEOUT_MS

nein

(Treiber-Standard)

Anfrage-Timeout in ms für den Treiber. 0 → nicht gesetzt

† Erforderlich für SQL-Authentifizierung und für Authentifizierungstypen, die eine interaktive Benutzeranmeldung verwenden. ‡ Erforderlich je nach MSSQL_AUTH_TYPE; siehe .env.example. NTLM unter Node 17+ benötigt möglicherweise --openssl-legacy-provider (siehe tedious FAQ).

Siehe auch .env.example.

Tools

Tool

Zweck

mssql_query

T-SQL ausführen; gibt Zeilen und rowsAffected zurück

mssql_list_tables

Tabellen in INFORMATION_SCHEMA

mssql_describe_table

Spalten-Metadaten

Wenn MSSQL_ALLOW_WRITES nicht gesetzt/falsch ist, werden offensichtliche Schreib-/DDL-Muster blockiert (nur heuristisch; verwenden Sie Datenbankberechtigungen für echte Sicherheit).

Entwicklung

pnpm install
pnpm check
pnpm test
pnpm build && pnpm start
pnpm dev

Verwenden Sie pnpm format, um Biome-Formatierungskorrekturen anzuwenden, und pnpm lint, um Lint-Regeln ohne Formatierung auszuführen.

Verwenden Sie für den täglichen Gebrauch ein schreibgeschütztes SQL-Login oder eines mit minimalen Berechtigungen.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to interact with Microsoft SQL Server databases through query execution, schema discovery, CRUD operations, stored procedures, and data export with built-in safety controls.
    18
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to securely interact with Microsoft SQL Server databases to query data, inspect schemas, and retrieve metadata with read-only operations by default and optional write capabilities.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Microsoft SQL Server databases using both SQL Server and Windows Authentication. It supports flexible connection configurations, including read-only modes and encrypted communication for secure data management.
    3,017 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to interact with Microsoft SQL Server databases via introspection and query tools. Supports single or multiple databases with read-only mode by default and an optional write capability.
    629 npm
    5
    MIT