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

Задайте вопрос своему хранилищу данных на английском. Получите ответ, который сможете защитить.

Вопросы на естественном языке к хранилищам, базам данных и API, которые у вас уже есть, — Fabric и Azure SQL, PostgreSQL, Databricks и любому REST-сервису, включая поисковый, — основанные на глоссарии, метриках и схеме, хранящихся в OpenMetadata. Каждый запрос авторизуется дважды: правила ролей в сервисе, затем сам источник под учётной записью вызывающего. Любой MCP-клиент, без изменений, работает с реальным Azure.

📖 Сайт документации — полный справочник, также доступный в виде Markdown в docs/.

Зачем это существует

«Какая команда поддержки быстрее всего решает тикеты?» имеет правильный ответ, только если все согласны с тем, что означает решает. Направьте универсального SQL-агента на хранилище, и он выведет это из названий колонок, уверенно и без предупреждения, когда ошибается.

На собственных тестовых данных этого репозитория такой вывод называет не ту команду. По фактическому времени ответа Frontline — самая быстрая, а Billing — самая медленная. Фактическое определение бизнеса — Resolution Time, которое исключает часы ожидания клиента, — меняет результат на противоположный: Billing — самая быстрая. Неверный победитель — это не ошибка округления, и ничто в ответе не подскажет вам, что это произошло.

Этот сервис построен так, чтобы ошибки такого рода были структурно затруднены, а не просто маловероятны.

Что вы получаете

Как

Доказательство

Смысл исходит из вашего каталога, а не из модели

Термины глоссария, формулы метрик и описания колонок читаются из OpenMetadata во время запроса. Бизнес-семантика никогда не зашивается в промпт

make eval — абляция оценивает те же вопросы с изъятым каталогом

Каждый ответ выполняется от имени спрашивающего

Токен пользователя обменивается по схеме on-behalf-of вплоть до движка, поэтому разрешения на строки и колонки — решение движка, а не агента

make test — два профиля, один вопрос, разные строки

Не может писать, отклоняться или обходить отказ

Один SELECT только для чтения, разобранный, а не сопоставленный по шаблону; белый список схем; ограничение числа строк применяется за вас; отказ сообщается, а не обходится

make conformance — контракт из 28 утверждений, которым должен удовлетворять исполнитель

Отвечает с приложенными рассуждениями

Цифра, применённое определение, таблицы, из которых она взята, и любые оговорки, поднятые каталогом

make ask Q="..."

Любой MCP-клиент, без собственного кода

Claude, Cursor, VS Code и SDK подключаются по стандартному MCP с обнаружением OAuth

docs/09-mcp-clients.md

Работает на вашем ноутбуке, разворачивается на реальном Azure без изменений

Весь стек работает на семействе эмуляторов; переход на Fabric, APIM и Entra — это конфигурация, а не путь в коде

docs/10-production.md

Ничто здесь не заявляется без того, что это проверяет

Каждая возможность сопровождается командой, которая её доказывает; где что-то спроектировано, но не построено, документация об этом говорит

88 сквозных свидетелей, в CI при каждом пуше

Статус: Фазы 0–16 завершены — см. docs/00-plan.md.

Related MCP server: MCP-DB-Server

Быстрый старт

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

Затем make seed, make test, make eval, make load, make ask Q="…" — или make stack для полного подъёма с нуля, что и запускает CI.

Что здесь находится

Путь

Назначение

docker-compose.yml

Только зафиксированные опубликованные образы — зависимости используются как есть

.env.example

Все настройки DAS_*; скопируйте в .env (локально) или .env.prod (реальный Azure)

docs/00-plan.md

Архитектура, решения, фазы, оценка, нагрузка, авторизация, расширение

docs/

Краткое руководство, архитектура, авторизация, оценка, нагрузка, MCP-клиенты, добавление источника, продакшн, CI

services/

Исполнитель запросов к хранилищу (Python и Go) и контракт, которому оба подчиняются

agent/, evals/, e2e/

Агент, набор для оценки точности и свидетели

seed/

Наборы данных, подготовка хранилищ, семантика OpenMetadata, настройка учётных записей

infra/terraform/

Terraform для реального Azure; docs/10-production.md — это инструкция по эксплуатации

.github/workflows/ci.yml

Четыре задания; docs/11-ci.md объясняет, что доказывает каждое

website/

Сайт документации — Astro + Starlight, генерируется из docs/, который остаётся источником истины

scripts/

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

Дисциплина

  1. Эмуляторы и OpenMetadata никогда не модифицируются; подозрения на ошибки отправляются в docs/upstream-issues.md.

  2. Никаких путей кода только для эмуляторов. Только стандартные протоколы (OIDC/OAuth2, включая OBO, протокол App Service с управляемым удостоверением, TDS FedAuth, ARM, Graph, OM REST/MCP). ENV=prod заменяет .env и ничего больше.

Семейство эмуляторов

Построено на entra-emulator, azure-keyvault-emulator, arm-emulator, fabric-emulator, azure-apim-emulator; собрано согласно azure-emulators. Уровень: leaf.

Лицензия

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