Microsoft Fabric MCP-Server
Mit den Microsoft-Fabric-MCP-Servern kann ein Assistent in CLYE AI auf Workspaces und Items sowie optional auf SQL-/Lakehouse-Endpunkte in Microsoft Fabric zugreifen. Für fremde oder mandantenfremde Nutzer sollen dabei deren eigenen Microsoft-Rechte gelten — nicht die eines Admin-Shared-Tokens.
Deshalb richtest du Fabric-MCP mit OAuth und „Jeder Nutzer meldet sich selbst an“ ein (perUserAuth: true). Der Endnutzer muss danach hauptsächlich nur noch einmal (bzw. bei Ablauf erneut) bei Microsoft anmelden.
Verwandte Grundlagen: Externe MCP-Server und das OAuth-Muster bei MS 365 MCP-Server.
Rollen
| Rolle | Aufgabe |
|---|---|
| Tenant-/Fabric-Admin | Entra-App-Berechtigungen, Admin-Consent, Nutzer in Fabric freischalten |
| CLYE-Space-/Assistenten-Admin | MCP-Server am Assistenten installieren, OAuth und Per-User Auth konfigurieren |
| Endnutzer | Im Assistenten Anmelden klicken und den Microsoft-Login durchlaufen |
Voraussetzungen (vor CLYE)
- Microsoft Entra App Registration für CLYE-OAuth (bestehende CLYE-App bzw. die App, die für MCP-OAuth genutzt wird).
- Für Fabric die nötigen API-Berechtigungen / Scopes freigeben und im Tenant Admin-Consent erteilen.
- Jeder Endnutzer braucht in Microsoft Fabric Zugriff auf die relevanten Workspaces, Lakehouses oder Warehouses. Sonst gelingt der Login, aber Tools scheitern an fehlenden Datenrechten.
- Die Redirect-URI der CLYE-OAuth-Callback-URL muss in Entra hinterlegt sein (wie bei anderen CLYE-MCP-OAuth-Servern).
Ohne Tenant-Consent scheitert der Nutzer-Login trotz korrekter CLYE-Konfiguration.
Core- vs. SQL-/Data-Plane-MCP
Üblicherweise richtest du zwei Server ein — je nach Use-Case einen oder beide:
A) Fabric Core MCP (Workspace / Items)
| Feld | Wert |
|---|---|
| URL | https://api.fabric.microsoft.com/v1/mcp/core |
| Auth | OAuth 2.0 |
| Scopes (orientierend) | https://api.fabric.microsoft.com/.default und offline_access |
B) Fabric SQL / Data Plane MCP (SQL-Endpoint / Analysen)
| Feld | Wert |
|---|---|
| URL | https://api.fabric.microsoft.com/v1/mcp/dataPlane/sqlEndpoint (bzw. die konkrete Data-Plane-URL) |
| Auth | OAuth 2.0 |
| Scopes (orientierend) | https://api.fabric.microsoft.com/Item.Execute.All und https://api.fabric.microsoft.com/Item.ReadWrite.All |
Wichtig:
- Core- und SQL-Scopes nicht vermischen.
- Im SQL-/Data-Plane-Pfad wird kein
.default-Scope verwendet. - CLYE setzt bei Fabric-MCP den OAuth-Parameter
resourcebewusst nicht, damit Entra-Anmeldungen nicht zwischenresourceundscopekollidieren.
Admin-Einrichtung in CLYE
1. Zum Assistenten oder Space
- Öffne den Space des Assistenten (z. B. Auris).
- Gehe zu Einstellungen → MCP-Server (bzw. Agent Plugins / Tools, je nach Oberfläche).
2. Fabric-MCP installieren
- Lege den Server manuell als Streaming HTTP an oder nutze einen Katalog-Eintrag, falls vorhanden.
- Trage die URL für Core bzw. SQL/Data Plane ein (siehe oben).
- Wähle Auth-Modus: OAuth — keinen statischen Bearer-Header.
3. OAuth-Konfiguration
Im MCP-Config-Dialog:
- Client-ID und bei Bedarf Client-Secret der Entra-App eintragen (Secret nur bei Confidential Client).
- Scopes passend zum jeweiligen Server setzen (Core vs. SQL).
- Keinen gemeinsamen
Authorization: Bearer …-Header in den HTTP-Headern speichern. Bei OAuth-Servern wird das abgelehnt; Tokens kommen über den OAuth-Flow.
4. Per-User Auth aktivieren (entscheidend)
Schalte den Toggle „Jeder Nutzer meldet sich selbst an“ ein (UI-ID: mcp-per-user-auth).
| Modus | Wer meldet sich an? | Wessen Rechte? | Typischer Fall |
|---|---|---|---|
Shared (perUserAuth aus) | einmal Admin | Admin-/Service-Account | internes Demo-Setup |
Per-User (perUserAuth an) | jeder Nutzer selbst | der jeweilige Nutzer | Produktion / fremde Mandanten-Nutzer |
Wenn Per-User an ist:
- Jeder Nutzer authentifiziert sich einzeln.
- Tokens sind pro Nutzer isoliert.
- Ohne eigene Anmeldung kann der Nutzer den Server nicht nutzen (fail-closed).
Wenn Per-User aus ist (Default):
- Geteilte Session: Ein Login (meist Admin) gilt für alle im Space.
- Für „fremde Nutzer mit eigenen Rechten“ nicht geeignet.
Für Assistenten wie Auris/Vertrieb: Toggle einschalten. Optional erscheint ein Badge wie „Einzellanmeldung pro Benutzer (Per-User Auth)“.
5. Speichern und prüfen
- Server speichern.
- Bei aktivierter Per-User Auth muss sich der Admin nicht zwingend „für alle“ anmelden — jeder User macht seinen eigenen Login.
- Optional: Verbindungstest / Prüfen in der MCP-Liste.
- Stelle sicher, dass die Fabric-Tools für den Assistenten freigegeben sind.
Endnutzer-Flow
Der Endnutzer konfiguriert kein Client-Secret, keine URL und keine Scopes.
- Assistent öffnen (Space-Berechtigung vorausgesetzt).
- Bei Fabric-Nutzung bzw. in den MCP-Einstellungen auf Anmelden klicken.
- Microsoft-/Entra-Login mit dem eigenen Account durchlaufen.
- Danach arbeiten die Tools mit den Fabric-Rechten dieses Nutzers.
- Bei „Token abgelaufen“ oder widerrufener Zustimmung erneut Anmelden.
Shared vs. Per-User — Kurzabgrenzung
- Shared: gut für interne Demos, schlecht für Datenschutz bei fremden Nutzern.
- Per-User: jeder sieht und nutzt nur, wozu sein Microsoft-Konto berechtigt ist.
- Automationen / Hintergrund ohne User-Kontext: Per-User-Server sind fail-closed (ohne User-Id nicht nutzbar). Shared-Sessions können Hintergrundläufe weiter bedienen.
Troubleshooting
| Symptom | Typische Ursache | Was tun |
|---|---|---|
| Login scheitert trotz korrekter CLYE-Config | Tenant Admin Consent fehlt | Entra-App-Berechtigungen freigeben und Consent erteilen |
| Login ok, Tools liefern keine Daten / Rechtefehler | Nutzer hat in Fabric keinen Zugriff auf Workspace/Lakehouse | Fabric-Rechte für den Nutzer prüfen |
| Alle teilen dieselben Rechte | „Jeder Nutzer meldet sich selbst an“ ist aus | Per-User Auth einschalten |
| Scope-/Consent-Fehler nach dem Login | Core- und SQL-Scopes vermischt | Scopes je Server korrigieren und erneut anmelden |
| Hinweis „Token abgelaufen“ | OAuth-Token abgelaufen oder widerrufen | Erneut Anmelden |
| Automation nutzt Fabric nicht | Per-User ohne User-Kontext | Für Background Shared nutzen oder User-Kontext bereitstellen; Per-User bleibt fail-closed |
Wenn Microsoft Fabric bei einem Tool-Aufruf zusätzliche Scopes oder Zustimmung verlangt, behandelt CLYE das als fehlende Freigabe und fordert eine erneute Zustimmung an, statt das vorhandene Token vorschnell als defekt zu verwerfen.
Kurz gesagt
Für produktive Fabric-Nutzung mit eigenen Nutzerrechten: Fabric Core und/oder SQL-MCP mit OAuth anlegen, passende Scopes setzen, keinen Shared-Bearer verwenden und „Jeder Nutzer meldet sich selbst an“ aktivieren. Endnutzer brauchen danach nur noch Anmelden bei Microsoft.