Skip to main content
Glama
calvinchengx

data-agent-service

by calvinchengx

Data Agent Service

CI Docs release License: Apache 2.0

python coverage go coverage witnesses

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

make eval — eine Ablation bewertet dieselben Fragen, wobei der Katalog zurückgehalten wird

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

make test — zwei Personas, dieselbe Frage, unterschiedliche Zeilen

Es kann nicht schreiben, umherschweifen oder eine Verweigerung umgehen

Ein schreibgeschütztes SELECT, geparst statt per Musterabgleich; Schema-Zulassungsliste; Zeilendeckelung wird für Sie angewendet; eine Verweigerung wird gemeldet, nicht umgangen

make conformance — ein Vertrag mit 28 Assertions, den der Ausführende erfüllen muss

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

make ask Q="..."

Jeder MCP-Client, kein benutzerdefinierter Code

Claude, Cursor, VS Code und die SDKs verbinden sich über Standard-MCP mit OAuth-Erkennung

docs/09-mcp-clients.md

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

docs/10-production.md

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: MCP-DB-Server

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 verdict

Dann 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

docker-compose.yml

Nur gepinnte, veröffentlichte Images — Abhängigkeiten werden unverändert verwendet

.env.example

Jede DAS_*-Einstellung; nach .env (lokal) oder .env.prod (echtes Azure) kopieren

docs/00-plan.md

Architektur, Entscheidungen, Phasen, Auswertung, Last, Autorisierung, Erweiterung

docs/

Schnellstart, Architektur, Autorisierung, Auswertung, Last, MCP-Clients, Hinzufügen einer Quelle, Produktion, CI

services/

Der Warehouse-Abfrage-Ausführer (Python und Go) und der Vertrag, dem beide entsprechen

agent/, evals/, e2e/

Der Agent, die Genauigkeitssuite und die Witnesses

seed/

Datensätze, Warehouse-Bereitstellung, OpenMetadata-Semantik, Identitätseinrichtung

infra/terraform/

Terraform für echtes Azure; docs/10-production.md ist das Runbook

.github/workflows/ci.yml

Vier Jobs; docs/11-ci.md sagt, was jeder beweist

website/

Die Dokumentationsseite — Astro + Starlight, generiert aus docs/, das die Quelle der Wahrheit bleibt

scripts/

doctor.sh, status.sh, check-discipline.sh, preflight.py

Disziplin

  1. Emulatoren und OpenMetadata werden niemals verändert; vermutete Fehler gehen an docs/upstream-issues.md.

  2. Keine Nur-Emulator-Codepfade. Nur Standardprotokolle (OIDC/OAuth2 inkl. OBO, Managed-Identity-App-Service-Protokoll, TDS FedAuth, ARM, Graph, OM REST/MCP). ENV=prod tauscht .env und 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.

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
3Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables natural language querying of Microsoft Fabric Data Warehouses with intelligent SQL generation, metadata exploration, and business-friendly result summarization. Features two-layer architecture with MCP-compliant server and agentic AI reasoning for production-ready enterprise data access.
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables natural language querying of SQL databases with robust safety guarantees including read-only enforcement, AST validation, and row caps.
  • A
    license
    A
    quality
    B
    maintenance
    Enables natural language querying of OLAP/SSAS cubes with verified MDX generation, self-consistency checks, and honest abstention when queries are ambiguous.
    4
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.

View all related MCP servers

Related MCP Connectors

  • Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.

  • The grounded data layer for any LLM: governed SQL, metrics, lineage and catalog over your data.

  • GibsonAI MCP server: manage your databases with natural language

View all MCP Connectors

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/calvinchengx/data-agent-service'

If you have feedback or need assistance with the MCP directory API, please join our Discord server