Feature Request: Semantic Layer Support via MCP

オープン
#427 コメント 4 件 リアクション 1 件 担当者 1 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

@Chenglong-MS がすでに取り組んでいます。

2026年8月19日 から。

評価

この issue はまだ評価されていません。

説明

Problem

Data Formulator currently works mainly with the underlying data/schema.

For analytics use cases, it would be useful to connect Data Formulator to an existing semantic layer so the agent can work with already-defined business concepts such as:

  • Dimensions
  • Measures / metrics
  • Relationships
  • Descriptions
  • Filters

For example, instead of Data Formulator having to infer how revenue should be calculated from database tables, the semantic layer could already expose revenue as a governed measure.

Proposal

Add a way for Data Formulator to consume a semantic layer.

One simple approach could be MCP.

A semantic layer MCP server could expose tools such as:

  • list_models
  • get_model
  • list_dimensions
  • list_measures
  • query

Data Formulator could use these tools when generating an analysis.

Example:

User asks:

Show monthly revenue by country for 2026.

Instead of generating SQL directly from the database schema, Data Formulator could discover:

  • Dimension: month
  • Dimension: country
  • Measure: revenue

and execute the query through the semantic layer.

The resulting dataset can then be visualized normally by Data Formulator.

Example Semantic Layer

One example is Boring Semantic Layer:

https://boringdata.github.io/boring-semantic-layer/about

It provides semantic tables with dimensions and measures on top of Ibis.

The goal would not be to specifically support this implementation, but to provide a generic integration mechanism.

For example:

Data Formulator
      |
      | MCP
      v
Semantic Layer
      |
      +-- Models
      +-- Dimensions
      +-- Measures
      +-- Relationships
      |
      +-- Query
            |
            v
         Dataset
            |
            v
     Data Formulator
主要言語
Python
スター
17.7k
フォーク
1.7k
平均マージ
4日 1時間
マージ済み PR(30日)
8

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

microsoft/data-formulator のほかの issue

microsoft/data-formulator の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。