data-agent-service
Data Agent Service
Задайте вопрос своему хранилищу данных на английском. Получите ответ, который сможете защитить.
Вопросы на естественном языке к хранилищам, базам данных и API, которые у вас уже есть, — Fabric и Azure SQL, PostgreSQL, Databricks и любому REST-сервису, включая поисковый, — основанные на глоссарии, метриках и схеме, хранящихся в OpenMetadata. Каждый запрос авторизуется дважды: правила ролей в сервисе, затем сам источник под учётной записью вызывающего. Любой MCP-клиент, без изменений, работает с реальным Azure.
📖 Сайт документации — полный
справочник, также доступный в виде Markdown в docs/.
Зачем это существует
«Какая команда поддержки быстрее всего решает тикеты?» имеет правильный ответ, только если все согласны с тем, что означает решает. Направьте универсального SQL-агента на хранилище, и он выведет это из названий колонок, уверенно и без предупреждения, когда ошибается.
На собственных тестовых данных этого репозитория такой вывод называет не ту команду. По фактическому времени ответа Frontline — самая быстрая, а Billing — самая медленная. Фактическое определение бизнеса — Resolution Time, которое исключает часы ожидания клиента, — меняет результат на противоположный: Billing — самая быстрая. Неверный победитель — это не ошибка округления, и ничто в ответе не подскажет вам, что это произошло.
Этот сервис построен так, чтобы ошибки такого рода были структурно затруднены, а не просто маловероятны.
Что вы получаете | Как | Доказательство |
Смысл исходит из вашего каталога, а не из модели | Термины глоссария, формулы метрик и описания колонок читаются из OpenMetadata во время запроса. Бизнес-семантика никогда не зашивается в промпт |
|
Каждый ответ выполняется от имени спрашивающего | Токен пользователя обменивается по схеме on-behalf-of вплоть до движка, поэтому разрешения на строки и колонки — решение движка, а не агента |
|
Не может писать, отклоняться или обходить отказ | Один |
|
Отвечает с приложенными рассуждениями | Цифра, применённое определение, таблицы, из которых она взята, и любые оговорки, поднятые каталогом |
|
Любой MCP-клиент, без собственного кода | Claude, Cursor, VS Code и SDK подключаются по стандартному MCP с обнаружением OAuth | |
Работает на вашем ноутбуке, разворачивается на реальном Azure без изменений | Весь стек работает на семействе эмуляторов; переход на Fabric, APIM и Entra — это конфигурация, а не путь в коде | |
Ничто здесь не заявляется без того, что это проверяет | Каждая возможность сопровождается командой, которая её доказывает; где что-то спроектировано, но не построено, документация об этом говорит | 88 сквозных свидетелей, в CI при каждом пуше |
Статус: Фазы 0–16 завершены — см. docs/00-plan.md.
Related MCP server: Interactive Database Analyst via MCP
Быстрый старт
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.
Что здесь находится
Путь | Назначение |
| Только зафиксированные опубликованные образы — зависимости используются как есть |
| Все настройки |
| Архитектура, решения, фазы, оценка, нагрузка, авторизация, расширение |
| Краткое руководство, архитектура, авторизация, оценка, нагрузка, MCP-клиенты, добавление источника, продакшн, CI |
| Исполнитель запросов к хранилищу (Python и Go) и контракт, которому оба подчиняются |
| Агент, набор для оценки точности и свидетели |
| Наборы данных, подготовка хранилищ, семантика OpenMetadata, настройка учётных записей |
| Terraform для реального Azure; |
| Четыре задания; |
| Сайт документации — Astro + Starlight, генерируется из |
|
|
Дисциплина
Эмуляторы и OpenMetadata никогда не модифицируются; подозрения на ошибки отправляются в
docs/upstream-issues.md.Никаких путей кода только для эмуляторов. Только стандартные протоколы (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.
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.-