Skip to main content
Glama

msfabric-mcp

Microsoft Fabric 向けの Model Context Protocol サーバーで、stdio 上で、Python で動作します。

エージェントに、Fabric の両方の領域に到達できる 1 つの接続を提供します。

  • コントロールプレーン – パブリック REST API api.fabric.microsoft.com/v1 経由(ワークスペース、アイテム、ウェアハウス、ウェアハウス、ノートブック、ジョブスケジューラ)

  • データプレーン – ウェアハウスまたはレイクハウスの SQL 分析エンドポイント 経由。許可リストによる読み取り専用ガードの背後にあります。

さらに、Power BI のセマンティック モデルに対してオプションの DAX も利用できます。

デフォルトは読み取り専用です。オペレーターが FABRIC_ALLOW_WRITES を設定しない限り、書き込みは拒否されます。設定した場合でも、UPDATEDELETE には必ず WHERE が必要です。


正直な位置づけ

2026 年 8 月 22 日時点で、Fabric MCP は多くの選択肢がある市場です。以下は、すでに存在するものと、これのどのような違いがあるかを示しています。

以下は、他が悪いという主張ではありません。

対象

形態

対象範囲

Fabric Core MCP Server (Microsoft、プレビュー)

リモート、Microsoft がホスト、MCP レジストリ内の com.microsoft/microsoft-fabric

コントロール プレーン ツール約 30 個: ワークスペース、アイテム、フォルダー、容量、OneLake カタログ検索、アイテム定義、長時間実行オペレーション。T-SQL 実行、ノートブック ジョブ実行、DAX は含まれません。(ドキュメント)

Power BI リモート MCP サーバー (Microsoft、プレビュー)

リモート

レポートとセマンティック モデルのメタデータ、および Copilot による DAX 生成(Copilot 容量を消費します)。(ドキュメント)

microsoft/fabric-rti-mcp

ローカル、オープンソース

リアルタイム インテリジェンス: Eventhouse と Azure Data Explorer、KQL。レイクハウスやウェアハウスの T-SQL とは異なるワークロードです。(リポジトリ)

PyPI 上の fabric-lakehouse-mcpmicrosoft-fabric-mcp に加え、santhoshravindran7/Fabric-Analytics-MCPAugustab/microsoft_fabric_mcpsdebruyn/fabric-dw-mcp-cli などのコミュニティサーバー

ローカル、オープンソース

領域は重複しており、それぞれが独自の一部を提供します

PyPI と npm 上の fabric-mcp

無関係

それは もう一方の Fabric、すなわち danielmiessler/fabric プロンプトフレームワークです。このパッケージは意図的にその名前を使用していません。

msfabric-mcp の位置づけは次のとおりです。

  1. 両方のプランにまたがる単一のサーバー。 Microsoft の Core MCP サーバーはコントロールプレーンのみです。依然として別のものでクエリを実行する必要があります。ここでは、list_itemsrun_sql が同じプロセス、同じ認証情報の上で動作します。

  2. ローカル stdio、プレビュー登録不要。Microsoft のサーバーはリモートかつプレビュー段階です。これは一般提供されている REST API に対してローカルで動作するため、既にサインインできるテナントであればどこでも動作します。

  3. ガードこそが製品です。 run_sql はブロックリストではなく許可リストです。ステートメントは、読み取り(または、書き込みが有効な場合の許可された書き込み)として積極的に分類された場合にのみ実行されます。まずコメントが削除され、ステートメントのバッチは拒否されます。プロシージャの実行、OPENROWSET/OPENQUERYGRANT/REVOKEBACKUP/RESTORESHUTDOWN は全モードで拒否されます。

  4. 出力の制限。 すべての結果セットは行数とセル幅で上限が設けられ、切り詰められた場合にはその旨が示されます。幅の広い SELECT * でコンテキストウィンドウが溢れることはありません。

プレビューが有効なテナント内でコントロールプレーンの参照のみが必要な場合は、Microsoft の Core MCP サーバーをお使いください。これはファーストパーティーであり、常に API をより速く追随します。SQL とジョブを同じサーバー内で、ローカルに、ハードな読み取り専用設定で扱いたい場合は、こちらをお使いください。


Related MCP server: Databricks MCP Server

インストール

pip install msfabric-mcp

SQL アクセスにはドライバーが必要です。以下のいずれかを選択してください。

pip install "msfabric-mcp[sql]"     # pyodbc, plus ODBC Driver 18 for SQL Server
pip install "msfabric-mcp[mssql]"   # mssql-python, no external ODBC manager

REST ツールにはドライバーは必要ではありません。SQL 設定を一切行わなくてもサーバーを実行して、ワークスペース、アイテム、ジョブを参照できます。

Python 3.11 以降が必要です。


設定

すべて環境変数から取得されます。テナント、ワークスペース、ウェアハウス、ホストに関する項目はパッケージに組み込まれませんし。に .env.example を参照してください。

認証

すべて azure-identity に基づく 3 つのモードがあります。

1. DefaultAzureCredential (デフォルト)。 何も設定する必要があります。資格情報チェーンは、az login セッション、VS Code のサインイン、マネージ ID、あるいは標準の AZURE_CLIENT_ID / AZURE_TENANT_ID / AZURE_CLIENT_SECRET に基づく廃止サービスプリンシパルを取得します。

az login

2. サービスプリンシパル。 3 つすべてを設定すると、モードが推定されます。

変数

説明

FABRIC_TENANT_ID

ディレクトリ(テナント)ID

FABRIC_CLIENT_ID

アプリケーション(クライアント)ID

FABRIC_CLIENT_SECRET

クライアントシークレット

サービスプリンシパルは、ワークスペースに Admin、Member、または Contributor として追加されている必要があり、サービスプリンシパルが Fabric のパブリック API を呼び出すことを許可する のテナント設定がオンになっている必要があります。

3. デバイスコード、ヘッドレス環境や SSH セッション向け:

FABRIC_AUTH_MODE=device_code
FABRIC_CLIENT_ID=<a public client app registration>

トークンはスコープごとにメモリ上にキャッシュされ、有効期限の 2 分前に刷新されます。ディスクに書き込まれることはなく、ログに記録されることも、サーバーが返すエラーメッセージに表示されることもありません。

スコープと SQL

変数

デフォルト

説明

FABRIC_WORKSPACE_ID

未設定

既定のワークスペース。ツール側で繰り返す必要が省かれます。省略可能: すべてのツールは workspace パラメーターも受け付けます。

FABRIC_SQL_ENDPOINT

未設定

SQL 分析エンドポイントの ホスト部分のみ。プロトコルなし。 ウェアハウスまたはレイクハウスの設定ページにあります。省略可能: 未設定の場合、SQL ツールは設定されていないことを表示し、RESTツールは引き続き動作します。

FABRIC_SQL_DATABASE

未設定

既定のウェアハウスまたはレイクハウスの名前。

FABRIC_SQL_DRIVER

auto

autopyodbc、または mssql_python

安全性

変数

デフォルト

説明

FABRIC_ALLOW_WRITES

0

オフ。オフの間、すべての書き込みステートメントは説明文付きで拒否されます。変更してもよいワークスペースでのみオンにしてください。

FABRIC_MAX_ROWS

200

結果セットごとに返される最大行数。上限は 5000

FABRIC_MAX_CELL_CHARS

200

セルごとの最大文字数。上限は 4000

シークレットが文書に出力されることはありません。health はテナント ID、クライアント ID、シークレットが設定されているか どうか を報告するだけで、その値を報告することは絶対にありません。エラーメッセージには例外クラスと、クエリ文字列を除外した短いサービス詳細だけが含まれます。

クライアント設定

Claude Desktop、Claude Code、または任意の stdio MCP クライアント:

{
  "mcpServers": {
    "fabric": {
      "command": "msfabric-mcp",
      "env": {
        "FABRIC_WORKSPACE_ID": "00000000-0000-0000-0000-000000000000",
        "FABRIC_SQL_ENDPOINT": "your-endpoint.datawarehouse.fabric.microsoft.com",
        "FABRIC_SQL_DATABASE": "your_warehouse"
      }
    }
  }
}

リポジトリ内に置く設定ファイルに FABRIC_CLIENT_SECRET を記述しないでください。az login、マネージド ID、またはシークレットをサーバープロセスに注入するシークレットマネージャーを使用してください。


ツール

ツール

接続先

説明

list_workspaces(name_filter?)

REST

その ID から見えるワークスペース

list_items(workspace?, item_type?, name_filter?)

REST

ワークスペース内のアイテム。Fabric アイテム タイプでフィルター

get_item(item_id, workspace?)

REST

1 つのアイテムのメタデータ

list_lakehouses(workspace?)

REST

レイクハウス

list_warehouses(workspace?)

REST

ウェアハウス

list_notebooks(workspace?)

REST

ノートブック

list_tables(lakehouse?, database?, workspace?)

REST または SQL

レイクハウスのテーブル。Tables が開始で 経由、または SQL エンドポイント経由の INFORMATION_SCHEMA.TABLES

describe_table(table, schema?, database?)

SQL

列、型、NULL 許容性、順序を INFORMATION_SCHEMA.COLUMNS から取得。パラメーター化済み

run_sql(sql, database?)

SQL

ガードされた単一ステートメント

run_notebook(notebook, workspace?, parameters?)

REST

RunNotebook ジョブを開始してジョブ インスタンス ID を返す。ブロックしません

get_job_status(item_id, job_instance_id, workspace?)

REST

ステータス、時刻情報、失敗理由

execute_dax(dataset_id, query_text, workspace?)

Power BI

DAX の EVALUATE クエリ(省略可)

health()

両方

構成情報の要約と到達可能性プローブ

ノートブックとレイクハウスの引数には、表示名または ID のどちらかを指定できます。ID ( 名前) は、list_items によってその場で解決されます。

SQL ガードの正確な仕様

run_sql は呼び出しごとに 1 つ のステートメントだけを受け付けます。判定の前にコメントは削除されます。そのうえで:

  • SELECT または WITH で始まり、SELECT ... INTOFOR UPDATE を含まない場合: read (読み取り) に分類され、常に許可されます。

  • INSERTUPDATEDELETEMERGECREATEALTERDROPTRUNCATE で始まるか、SELECT ... INTO である場合: write (書き込み) に分類されます。FABRIC_ALLOW_WRITES が設定されていない限り拒否されます。さらに UPDATEDELETE は、書き込みが有効な場合でも WHERE 句が必須です。

  • それ以外は: どちらの形にも一致しないため拒否されます。

  • EXEC/EXECUTEsp_*xp_*OPENROWSETOPENDATASOURCEOPENQUERYBULK INSERTGRANTREVOKEDENYBACKUPRESTORESHUTDOWNRECONFIGURE: すべてのモードで拒否されます。

  • ; で区切られた複数のステートメント: 拒否されます。それぞれを単独で判定できるようにするためです。

describe_table に指定されたテーブル名とスキーマ名は通常の識別子として検証され、参照自体もパラメーター化されているため、名前に不正な SQL を忍ばせることはできません。

これはエージェントの誤りに対する防御であり、権限の代わりではありません。ID には必要な最小限のアクセス権を付与してください。実際の境界となるのは、ワークスペースのロールと、ウェアハウス自身のオブジェクト権限です。

execute_dax に関する注意

新しい Arrow の executeDaxQueries エンドポイントではなく、JSON の executeQueries エンドポイントを使用します。executeQueries は Pro、PPU、Premium/Fabric のいずれのキャパシティでも動作し、Arrow ライブラリが不要なためです。公式の上限はクエリあたり 100,000 行および 1,000,000 値で、その上にさらに FABRIC_MAX_ROWS が適用されます。テナント設定 Dataset Execute Queries REST API が有効になっている必要があり、呼び出し元にはセマンティック モデルに対する Build 権限が必要です。受け付けられるのは EVALUATE クエリと DEFINE クエリのみです。


影響する範囲

  • トークン取得のため、api.fabric.microsoft.comapi.powerbi.com、および Microsoft Entra への送信 HTTPS。

  • SQL ツールが呼び出され、かつ FABRIC_SQL_ENDPOINT が設定されている場合のみ、SQL 分析エンドポイントへの 1433 番ポートでの送信 TDS。Encrypt=yesTrustServerCertificate=no

  • ローカル ファイルシステムへの書き込みはありません。テレメトリもありません。サードパーティのサービスもありません。


開発

git clone https://github.com/NawafSheikh/fabric-mcp
cd fabric-mcp
pip install -e ".[dev]"
pytest
python -m build

テスト スイート全体は、ネットワークなし、Fabric テナントなし、ODBC ドライバーがインストールされていない状態で実行されます。REST 呼び出しは httpx.MockTransport を通るため、SQL レイヤーはテストがフェイクの DB-API 接続で置き換える、注入可能な接続ファクトリを受け取ります。

コントリビューション

Issue とプルリクエストは、https://github.com/NawafSheikh/fabric-mcp/issues で受け付けています。

出典

2026-08-22 に確認済み。

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

Maintenance

Maintainers
Response time
Release cycle
1Releases (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

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Databricks workspaces programmatically, providing comprehensive tools for cluster management, notebook operations, job orchestration, Unity Catalog data governance, user management, permissions control, and FinOps cost analytics.
    263
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI agents to interact with Microsoft Fabric by exposing tools for managing workspaces, notebooks, SQL queries, pipelines, and Livy Spark sessions. It provides a comprehensive set of operations for data engineering and analytics tasks using standard Azure authentication.
    37
    4
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to interact with Microsoft Fabric and Power BI services through the Model Context Protocol. Users can manage workspaces, execute DAX queries, refresh datasets, and create Fabric notebooks using natural language.
    6
    14
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • Shared, permission-aware company context for AI agents, with provenance, approvals and audit.

  • Debug, build, and manage Power Automate cloud flows with AI agents

  • Build, validate, and deploy multi-agent AI solutions from any AI environment.

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/NawafSheikh/fabric-mcp'

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