data-agent-service
Data Agent Service
データウェアハウスに英語で質問してください。説明できる答えが得られます。
既存のウェアハウス、データベース、APIに対する自然言語での質問—FabricやAzure SQL、PostgreSQL、Databricks、そして検索系を含むあらゆるRESTサービス—を、OpenMetadataに保持された用語集、メトリクス、スキーマに基づいて処理します。各クエリは2段階で認可されます。サービス内のロールルールによる認可と、呼び出し元自身のIDによるデータソース自体での認可です。あらゆるMCPクライアントが、実際のAzureに対して変更なしで利用できます。
📖 ドキュメントサイト — 完全なリファレンスです。docs/ でMarkdownとしても閲覧できます。
なぜこれが存在するのか
「どのサポートチームが最も速くチケットを解決するか?」に正しい答えがあるのは、解決 の意味が全員に共有されている場合だけです。汎用SQLエージェントをウェアハウスに向けると、エージェントは列名からその意味を推測します。間違っていても、流暢に、しかも警告なしに推測します。
このリポジトリ自身のシードデータでは、その推測は誤ったチームを指名します。ウォールクロックの経過時間ではFrontlineが最速でBillingが最悪です。実際のビジネス定義—顧客を待つ時間を除外したResolution Time—では結果が逆転し、Billingが最速になります。勝者を誤ることは丸め誤差ではありません。しかも、回答のどこを見てもその誤りには気づけません。
このサービスは、その種の誤りが単に起こりにくいだけでなく、構造的に起こりにくいように設計されています。
得られるもの | 仕組み | 証明 |
意味はモデルではなくカタログから得られる | 用語集の用語、メトリクスの計算式、列の説明はクエリ時にOpenMetadataから読み込まれます。ビジネスセマンティクスがプロンプトに埋め込まれることはありません。 |
|
すべての回答が質問者本人の権限で実行される | ユーザーのトークンはエンジンに至るまでオンビハーフ・オブ(OBO)で交換されるため、行と列の権限はエージェントではなくエンジンが決定します。 |
|
書き込み、逸脱、拒否の回避ができない | 読み取り専用の |
|
推論の根拠を添えて回答する | 数値、適用した定義、参照元のテーブル、カタログが提示した注意事項 |
|
あらゆるMCPクライアント、カスタムコード不要 | Claude、Cursor、VS Code、SDKは、OAuthディスカバリを備えた標準MCPで接続します。 | |
ラップトップで動作し、変更なしで実Azureにデプロイできる | スタック全体がエミュレータファミリー上で動作します。Fabric、APIM、Entraへの切り替えはコードパスではなく設定です。 | |
検証手段なしに主張されるものは何もない | すべての機能にはそれを証明するコマンドが付属しています。設計済みだが未実装のものについては、ドキュメントにその旨が明記されています。 | 毎回のプッシュでCIが実行する88件のエンドツーエンドの証跡 |
ステータス: フェーズ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="…" を実行します。または、CIが実行しているのと同じ、ゼロから全体を立ち上げる make stack を実行します。
リポジトリの構成
パス | 目的 |
| 固定された公開イメージのみ — 依存関係はそのまま使用されます |
| すべての |
| アーキテクチャ、決定事項、フェーズ、評価、負荷、認可、拡張 |
| クイックスタート、アーキテクチャ、認可、評価、負荷、MCPクライアント、ソースの追加、本番環境、CI |
| ウェアハウスクエリのエグゼキュータ(PythonとGo)、および両方が準拠する契約 |
| エージェント、精度評価スイート、証跡 |
| データセット、ウェアハウスのプロビジョニング、OpenMetadataセマンティクス、ID設定 |
| 実Azure用のTerraform。 |
| 4つのジョブ。各ジョブが何を証明するかは |
| ドキュメントサイト — Astro + Starlight。 |
|
|
規律
エミュレータとOpenMetadataは決して変更されません。疑わしいバグは
docs/upstream-issues.mdに記録されます。エミュレータ専用のコードパスはありません。 標準プロトコルのみを使用します(OIDC/OAuth2(OBOを含む)、マネージドIDの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に従って構成されています。階層: リーフ。
ライセンス
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.-