data-agent-service
Data Agent Service
Stellen Sie Ihrem Data Warehouse eine Frage auf Englisch. Erhalten Sie eine Antwort, die Sie verteidigen können.
Natürlichsprachliche Fragen an die Warehouses, Datenbanken und APIs, die Sie bereits haben — Fabric und Azure SQL, PostgreSQL, Databricks und jeden REST-Dienst, einschließlich eines Retrieval-Dienstes — fundiert durch das Glossar, die Metriken und das Schema in OpenMetadata. Jede Abfrage wird zweifach autorisiert: durch Rollenregeln im Dienst, dann durch die Quelle selbst unter der eigenen Identität des Aufrufers. Jeder MCP-Client, unverändert gegenüber echtem Azure.
📖 Dokumentationsseite — die vollständige
Referenz, auch als Markdown in docs/ durchsuchbar.
Warum es das gibt
„Welches Support-Team löst Tickets am schnellsten?" hat nur dann eine richtige Antwort, wenn sich alle einig sind, was auflösen bedeutet. Richten Sie einen generischen SQL-Agenten auf das Warehouse aus und er wird das aus Spaltennamen ableiten — flüssig und ohne Warnung, wenn er falsch liegt.
Mit den eigenen Seed-Daten dieses Repositorys benennt diese Ableitung das falsche Team. Die vergangene Wanduhrzeit besagt, dass Frontline am schnellsten ist und Billing am schlechtesten abschneidet. Die tatsächliche Definition des Unternehmens — Resolution Time, die Wartezeiten auf den Kunden ausschließt — kehrt es um: Billing ist am schnellsten. Ein falscher Gewinner ist kein Rundungsfehler, und nichts an der Antwort würde Ihnen verraten, dass das passiert ist.
Dieser Dienst wurde so gebaut, dass diese Art von Fehler strukturell schwierig und nicht nur unwahrscheinlich ist.
Was Sie bekommen | Wie | Nachweis |
Bedeutung kommt aus Ihrem Katalog, nicht aus dem Modell | Glossarbegriffe, Metrikformeln und Spaltenbeschreibungen werden zur Abfragezeit aus OpenMetadata gelesen. Die Geschäftssemantik wird nie in einen Prompt eingebettet |
|
Jede Antwort läuft als die anfragende Person | Das Token des Benutzers wird im Auftrag des Benutzers bis zur Engine ausgetauscht, sodass Zeilen- und Spaltenberechtigungen die Entscheidung der Engine sind, nicht die des Agenten |
|
Es kann nicht schreiben, umherschweifen oder eine Verweigerung umgehen | Ein schreibgeschütztes |
|
Es antwortet mit angehängter Begründung | Die Zahl, die angewandte Definition, die Tabellen, aus denen sie stammt, und alle Einschränkungen, die der Katalog aufgeworfen hat |
|
Jeder MCP-Client, kein benutzerdefinierter Code | Claude, Cursor, VS Code und die SDKs verbinden sich über Standard-MCP mit OAuth-Erkennung | |
Läuft auf Ihrem Laptop, lässt sich unverändert in echtem Azure bereitstellen | Der gesamte Stack läuft auf der Emulator-Familie; der Wechsel zu Fabric, APIM und Entra ist Konfiguration, kein Codepfad | |
Nichts hier wird behauptet, ohne dass es etwas gibt, das es überprüft | Jede Fähigkeit bringt einen Befehl mit, der sie beweist; wo etwas entworfen, aber nicht gebaut ist, sagen die Dokumente das | 88 End-to-End-Witnesses, in CI bei jedem Push |
Status: Phasen 0-16 umgesetzt — siehe docs/00-plan.md.
Related MCP server: Interactive Database Analyst via MCP
Schnellstart
make doctor # toolchain, docker, ~14 GB memory
make up # entra, keyvault, arm, fabric (+ SQL Server), OpenMetadata 1.13.2, apim
make status # "stack OK" is the verdictDann make seed, make test, make eval, make load, make ask Q="…" —
oder make stack, um den gesamten Aufbau von Grund auf durchzuführen, was CI ausführt.
Was hier ist
Pfad | Zweck |
| Nur gepinnte, veröffentlichte Images — Abhängigkeiten werden unverändert verwendet |
| Jede |
| Architektur, Entscheidungen, Phasen, Auswertung, Last, Autorisierung, Erweiterung |
| Schnellstart, Architektur, Autorisierung, Auswertung, Last, MCP-Clients, Hinzufügen einer Quelle, Produktion, CI |
| Der Warehouse-Abfrage-Ausführer (Python und Go) und der Vertrag, dem beide entsprechen |
| Der Agent, die Genauigkeitssuite und die Witnesses |
| Datensätze, Warehouse-Bereitstellung, OpenMetadata-Semantik, Identitätseinrichtung |
| Terraform für echtes Azure; |
| Vier Jobs; |
| Die Dokumentationsseite — Astro + Starlight, generiert aus |
|
|
Disziplin
Emulatoren und OpenMetadata werden niemals verändert; vermutete Fehler gehen an
docs/upstream-issues.md.Keine Nur-Emulator-Codepfade. Nur Standardprotokolle (OIDC/OAuth2 inkl. OBO, Managed-Identity-App-Service-Protokoll, TDS FedAuth, ARM, Graph, OM REST/MCP).
ENV=prodtauscht.envund sonst nichts aus.
Emulator-Familie
Gebaut auf entra-emulator, azure-keyvault-emulator, arm-emulator, fabric-emulator, azure-apim-emulator; zusammengesetzt gemäß azure-emulators. Stufe: Blatt.
Lizenz
Apache-2.0.
This server cannot be deployed
Maintenance
Related MCP Connectors
Ask questions in plain language, get answers from your business database. No SQL required.
Ask data questions in natural language. Get SQL, insights, and charts from your databases.
Ask business questions in plain English. Get instant answers from your database, no SQL needed.
Query BigQuery, Snowflake, Redshift & Azure Synapse with natural language
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables natural language querying of SQL databases with robust safety guarantees including read-only enforcement, AST validation, and row caps.-
- FlicenseNot gradedqualityCmaintenanceEnables natural-language querying of PostgreSQL databases with schema grounding and self-correcting error recovery. Provides a live audit trace and verifies results through exploratory decomposition and empty-result sanity checks.-
- FlicenseNot gradedqualityCmaintenanceProvides a guarded semantic layer for text-to-SQL, offering tools for schema discovery, semantic profiling, and query verification to enable safe and reliable SQL generation on enterprise databases.-
- FlicenseNot gradedqualityCmaintenanceEnables natural-language querying of SQLite databases through a governed semantic layer, with citations and typed abstention for PII or uncertified data.-