mssql-mcp
Ein schreibgeschützter Microsoft SQL Server MCP-Server, der Verbindungsdetails zum Zeitpunkt des Tool-Aufrufs aus dem AWS Secrets Manager bezieht — es werden außer der Secret-Referenz selbst keine Daten von der Festplatte oder aus Umgebungsvariablen gelesen.
Plattformübergreifend: Es handelt sich um einen reinen JavaScript-MCP-Server (keine nativen oder ODBC-Abhängigkeiten), daher läuft er über npx identisch auf macOS, Linux und Windows.
Konfiguration in .claude.json
{
"mcpServers": {
"my-db": {
"command": "npx",
"args": ["-y", "@dhipskind253/mssql-mcp"],
"env": {
"AWS_ACCOUNT_ID": "123456789012",
"SECRET_NAME": "my-aws-secret",
"AWS_REGION": "us-east-1",
"TRUST_SERVER_CERTIFICATE": "false"
}
}
}
}Umgebungsvariable | Erforderlich | Standard | Beschreibung |
| ja | — | Das AWS-Konto, in dem sich das Secret befindet. Wird mit Name + Region zu einem vollständigen ARN kombiniert. |
| ja | — | Der Name des Secrets im Secrets Manager (kein ARN-Suffix erforderlich). |
| ja | — | AWS-Region, in der sich das Secret befindet (z. B. |
| nein |
| Überspringt die TLS-Zertifikatsprüfung für den SQL Server. Akzeptiert |
Standard-AWS-SDK-Umgebungsvariablen (AWS_PROFILE, AWS_ACCESS_KEY_ID usw.) werden über die Standard-Credential-Provider-Kette berücksichtigt. Die meisten Benutzer müssen lediglich aws sso login ausführen, um aktuell zu sein.
Related MCP server: mssql-mcp
Erforderliches Secret-JSON
Der Secret-Wert muss ein JSON-Dokument mit mindestens den folgenden Feldern sein:
{
"host": "myserver.database.windows.net",
"port": 1433,
"database": "mydb",
"username": "ro_user",
"password": "..."
}database kann auch als dbname bereitgestellt werden — der Feldname, den AWS in seiner integrierten RDS-Anmeldedaten-Secret-Vorlage verwendet. Wenn beide vorhanden sind, hat database Vorrang.
Optionale Felder (mit Standardwerten):
Feld | Standard | Hinweise |
|
| |
|
| TLS zum Server. |
Das Vertrauen in TLS-Zertifikate wird nicht aus dem Secret gelesen — setzen Sie stattdessen
TRUST_SERVER_CERTIFICATEimenv-Block des MCP-Servers. JedestrustServerCertificate-Feld im Secret-JSON wird ignoriert.
Konzeptionell schreibgeschützt
Dieser Server kann keine Daten einfügen, aktualisieren oder löschen. Zwei Ebenen erzwingen dies:
Das
run_select-Tool lehnt lexikalisch alles ab, was keine einzelneSELECT- oderWITH(CTE)-Anweisung ist — einschließlichINSERT,UPDATE,DELETE,EXEC,MERGE,DROP,ALTER,SELECT INTOusw.Kein anderes Tool gibt schreibendes SQL aus.
get_procedure_definitiongibt den Quellcode der Prozedur zurück — es führt keine Prozeduren aus.
Hinweis: Betrachten Sie die lexikalische Prüfung als UX, nicht als Sicherheitsgrenze. Konfigurieren Sie zu Ihrer eigenen Sicherheit die Anmeldedaten, die Sie im Secrets Manager hinterlegen, als schreibgeschütztes Datenbank-Login — eines, das nur
SELECTundVIEW DEFINITIONerlaubt. Auf diese Weise wird ein versehentlicher Schreibvorgang (oder ein zukünftiger Fehler hier) vom SQL Server selbst abgelehnt.
Aktualisieren von AWS-Anmeldedaten ohne Neustart
Da der Server die Standard-AWS-Credential-Kette verwendet, kann eine abgelaufene SSO-Sitzung wiederhergestellt werden, ohne Claude oder den MCP-Server neu zu starten:
Führen Sie
aws sso loginin einem beliebigen Terminal aus.Bitten Sie Claude, das Tool
refresh_secretaufzurufen.Arbeiten Sie weiter.
Wenn ein Tool-Aufruf aufgrund der AWS-Authentifizierung fehlschlägt, wird Ihnen die Fehlermeldung dies genau mitteilen und denselben Ablauf vorschlagen. Fehler sind mit stabilen Präfixen gekennzeichnet:
Präfix | Bedeutung |
| SSO-Sitzung abgelaufen oder keine Anmeldedaten verfügbar. |
| Dem Principal fehlt |
| Diskrepanz bei Secret-Name / Konto / Region. |
| Secret-JSON enthält fehlende Felder oder ist fehlerhaft. |
| Die SQL Server-Instanz konnte nicht erreicht werden. |
| SQL Server gab einen Fehler bei der Abfrageausführung zurück. |
| Die übermittelte Abfrage verstieß gegen die Schreibschutzregeln. |
Tools
Tool | Zweck |
| Benutzerschemata in der Datenbank. |
| Tabellen, optional gefiltert nach Schema. |
| Spalten, Typen, Nullability, Identität, PK, Standardwerte. |
| Indizes einer Tabelle (eine Zeile pro Index/Spalte). |
| Ausgehende Fremdschlüssel einer Tabelle. |
| Views, optional gefiltert nach Schema. |
| SQL-Quellcode der View. |
| Gespeicherte Prozeduren, optional gefiltert nach Schema. |
| SQL-Quellcode der Prozedur (wird nicht ausgeführt). |
|
|
| Einzelnes SELECT/CTE, begrenzt auf |
| Secret neu abrufen und Verbindung wiederherstellen. |
Lokale Entwicklung
npm install
npm run build
# point your .claude.json command at the local build:
# "command": "node",
# "args": ["/absolute/path/to/mssql-mcp/dist/index.js"]Maintenance
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/dhipskind253/mssql-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
