MCP-Schlüssel authentifizieren Anfragen an /mcp und tragen den Laufzeit-Berechtigungsumfang, den hs-sql-agent durchsetzt. Sie sind von Admin-Sitzungen und OIDC-Identitäten getrennt.
Integrierte Tool-Oberfläche in 2.0.2
Der Schlüsselverwaltungsdienst kennt fünf integrierte Tools:
| Tool | Zweck |
|---|---|
get_schemas | Schema-Ermittlung |
get_tables | Tabellen-Ermittlung |
get_columns | Spalten-Ermittlung |
execute_query_sql | kontrollierte SELECT-Ausführung |
execute_dml_sql | kontrolliertes Safe DML |
Veröffentlichte Custom Tools derselben Datenbank können zusätzlich nach Namen ausgewählt werden. Siehe Custom Tools.
Schlüssel ausstellen
- Namen festlegen
Der Request benötigt einen nicht leeren Namen mit maximal 100 Zeichen.
- Datenbank binden
DbManagementId ist bei der Ausstellung in 2.0.2 erforderlich.
- Tools auswählen
Wählen Sie integrierte Tools sowie veröffentlichte Custom Tools dieser Datenbank.
- Datenzugriff einschränken
Aktivieren Sie eine Tabellen-Whitelist, wenn der Client nur einen Teil der gebundenen Datenbank sehen soll.
- Lebenszyklus festlegen
Konfigurieren Sie optional Ablaufzeit, CORS-Origins und Rate-Limit-Modus beziehungsweise Overrides.
- Klartext-Secret kopieren
Speichern Sie den neu ausgestellten Schlüssel im Secret Store des Clients, bevor Sie den Lebenszyklusdialog schließen.
Felder bei der Ausstellung
| Feld | Bedeutung |
|---|---|
Name | Anzeigename des Schlüssels für Administratoren |
ExpiresAt | Optionales Ablaufdatum; muss in der Zukunft liegen |
AllowedTools | Kommagetrennte Tool-Namen; leer bedeutet uneingeschränkt |
CorsAllowedOrigins | Optionale Origin-Beschränkung für MCP-Anfragen aus Browsern |
DbManagementId | Gebundener Datenbankeintrag; bei Ausstellung erforderlich |
TableWhitelist | Optionale kommagetrennte Allowlist qualifizierter Tabellen |
RateLimitMode | Inherit, Custom oder Unlimited |
PermitLimitOverride | Override für ein benutzerdefiniertes Rate Limit pro Schlüssel |
WindowSecondsOverride | Zeitfenster für ein benutzerdefiniertes Rate Limit pro Schlüssel |
Im gespeicherten Datensatz wird zur Identifikation nur ein kurzer Präfix angezeigt. Das Raw Secret wird mit dem HMAC-Secret des Servers geprüft und später absichtlich nicht erneut angezeigt.
Schlüssel rotieren
Bei einer Rotation entsteht ein Ersatzschlüssel mit demselben Datenbank-, Tool-, Tabellen-, CORS- und Rate-Limit-Umfang wie der alte Schlüssel.
Die Übergangsfrist kann zwischen 0 und 1440 Minuten liegen:
0widerruft den alten Schlüssel sofort;- ein positiver Wert verkürzt dessen Ablaufzeit bei Bedarf auf das Ende der Übergangsfrist;
- der Ersatzschlüssel erhält ein neu erzeugtes Klartext-Secret.
Schlüssel duplizieren
Beim Duplizieren entsteht ein neuer Schlüssel mit kopiertem Laufzeitumfang sowie eigenem Namen und Secret. Das ist sinnvoll, wenn zwei Clients dieselben Berechtigungen benötigen, aber keine gemeinsame Zugangsdaten verwenden sollen.
Der duplizierte Schlüssel hat einen eigenen Lebenszyklus und kann unabhängig vom Ursprungsschlüssel widerrufen oder rotiert werden.
Schlüssel widerrufen
Ein Widerruf markiert den Schlüssel als inaktiv und schreibt vor dem Commit einen Widerrufs-Tombstone in den Validierungs-Cache. Dadurch soll verhindert werden, dass ein kürzlich widerrufener Schlüssel durch veralteten Cache-Zustand weiter akzeptiert wird.
Per Bootstrap verwaltete Schlüssel lassen sich über die normalen Lebenszyklusaktionen weder bearbeiten noch rotieren oder widerrufen; ihr Lebenszyklus wird durch die Bootstrap-Konfiguration bestimmt.
Verhalten von Rate Limits
Ein Schlüssel kann die Laufzeitvorgaben erben, eigene Limits definieren oder explizit unbegrenzt sein. Die Admin-Liste zeigt außerdem das effektive Rate Limit nach Zusammenführung des Schlüsselmodus mit der aktuellen Sicherheitsrichtlinie.
Bei mehreren Instanzen sollten Sie den verteilten Rate Limiter verwenden, wenn Limits über alle Knoten hinweg koordiniert werden müssen.
DML und Elicitation
Mit execute_dml_sql steigen die Anforderungen an den Client: Der MCP-Client muss den Form-Elicitation-Ablauf für interaktive Freigaben von Änderungen unterstützen.
Lesen Sie MCP-Client einrichten, bevor Sie einem neuen Client DML-Zugriff geben.