msfabric-mcp
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 を設定しない限り、書き込みは拒否されます。設定した場合でも、UPDATE と DELETE には必ず WHERE が必要です。
パッケージ: PyPI の
msfabric-mcpMCP レジストリ名:
io.github.nawafsheikh/msfabric-mcpライセンス: MIT
正直な位置づけ
2026 年 8 月 22 日時点で、Fabric MCP は多くの選択肢がある市場です。以下は、すでに存在するものと、これのどのような違いがあるかを示しています。
以下は、他が悪いという主張ではありません。
対象 | 形態 | 対象範囲 |
Fabric Core MCP Server (Microsoft、プレビュー) | リモート、Microsoft がホスト、MCP レジストリ内の | コントロール プレーン ツール約 30 個: ワークスペース、アイテム、フォルダー、容量、OneLake カタログ検索、アイテム定義、長時間実行オペレーション。T-SQL 実行、ノートブック ジョブ実行、DAX は含まれません。(ドキュメント) |
Power BI リモート MCP サーバー (Microsoft、プレビュー) | リモート | レポートとセマンティック モデルのメタデータ、および Copilot による DAX 生成(Copilot 容量を消費します)。(ドキュメント) |
microsoft/fabric-rti-mcp | ローカル、オープンソース | リアルタイム インテリジェンス: Eventhouse と Azure Data Explorer、KQL。レイクハウスやウェアハウスの T-SQL とは異なるワークロードです。(リポジトリ) |
PyPI 上の | ローカル、オープンソース | 領域は重複しており、それぞれが独自の一部を提供します |
PyPI と npm 上の | 無関係 | それは もう一方の Fabric、すなわち |
msfabric-mcp の位置づけは次のとおりです。
両方のプランにまたがる単一のサーバー。 Microsoft の Core MCP サーバーはコントロールプレーンのみです。依然として別のものでクエリを実行する必要があります。ここでは、
list_itemsとrun_sqlが同じプロセス、同じ認証情報の上で動作します。ローカル stdio、プレビュー登録不要。Microsoft のサーバーはリモートかつプレビュー段階です。これは一般提供されている REST API に対してローカルで動作するため、既にサインインできるテナントであればどこでも動作します。
ガードこそが製品です。
run_sqlはブロックリストではなく許可リストです。ステートメントは、読み取り(または、書き込みが有効な場合の許可された書き込み)として積極的に分類された場合にのみ実行されます。まずコメントが削除され、ステートメントのバッチは拒否されます。プロシージャの実行、OPENROWSET/OPENQUERY、GRANT/REVOKE、BACKUP/RESTORE、SHUTDOWNは全モードで拒否されます。出力の制限。 すべての結果セットは行数とセル幅で上限が設けられ、切り詰められた場合にはその旨が示されます。幅の広い
SELECT *でコンテキストウィンドウが溢れることはありません。
プレビューが有効なテナント内でコントロールプレーンの参照のみが必要な場合は、Microsoft の Core MCP サーバーをお使いください。これはファーストパーティーであり、常に API をより速く追随します。SQL とジョブを同じサーバー内で、ローカルに、ハードな読み取り専用設定で扱いたい場合は、こちらをお使いください。
Related MCP server: Databricks MCP Server
インストール
pip install msfabric-mcpSQL アクセスにはドライバーが必要です。以下のいずれかを選択してください。
pip install "msfabric-mcp[sql]" # pyodbc, plus ODBC Driver 18 for SQL Server
pip install "msfabric-mcp[mssql]" # mssql-python, no external ODBC managerpyodbc には、SQL Server 用 ODBC Driver 18 を個別にインストールする必要があります(17 でも動作します)。エンティテラ トークンは除く
SQL_COPT_SS_ACCESS_TOKEN接続属性(番号 1256)で渡されます。mssql-python は Microsoft 製ドライバーで、Python 3.10 以上が必要です。ホイールに接続レイヤー付属のまま判明し、Fabric Data Warehouse と Lakehouse の SQL 分析エンドポイントをサポート します。
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 login2. サービスプリンシパル。 3 つすべてを設定すると、モードが推定されます。
変数 | 説明 |
| ディレクトリ(テナント)ID |
| アプリケーション(クライアント)ID |
| クライアントシークレット |
サービスプリンシパルは、ワークスペースに Admin、Member、または Contributor として追加されている必要があり、サービスプリンシパルが Fabric のパブリック API を呼び出すことを許可する のテナント設定がオンになっている必要があります。
3. デバイスコード、ヘッドレス環境や SSH セッション向け:
FABRIC_AUTH_MODE=device_code
FABRIC_CLIENT_ID=<a public client app registration>トークンはスコープごとにメモリ上にキャッシュされ、有効期限の 2 分前に刷新されます。ディスクに書き込まれることはなく、ログに記録されることも、サーバーが返すエラーメッセージに表示されることもありません。
スコープと SQL
変数 | デフォルト | 説明 |
| 未設定 | 既定のワークスペース。ツール側で繰り返す必要が省かれます。省略可能: すべてのツールは |
| 未設定 | SQL 分析エンドポイントの ホスト部分のみ。プロトコルなし。 ウェアハウスまたはレイクハウスの設定ページにあります。省略可能: 未設定の場合、SQL ツールは設定されていないことを表示し、RESTツールは引き続き動作します。 |
| 未設定 | 既定のウェアハウスまたはレイクハウスの名前。 |
|
|
|
安全性
変数 | デフォルト | 説明 |
|
| オフ。オフの間、すべての書き込みステートメントは説明文付きで拒否されます。変更してもよいワークスペースでのみオンにしてください。 |
|
| 結果セットごとに返される最大行数。上限は 5000 |
|
| セルごとの最大文字数。上限は 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、またはシークレットをサーバープロセスに注入するシークレットマネージャーを使用してください。
ツール
ツール | 接続先 | 説明 |
| REST | その ID から見えるワークスペース |
| REST | ワークスペース内のアイテム。Fabric アイテム タイプでフィルター |
| REST | 1 つのアイテムのメタデータ |
| REST | レイクハウス |
| REST | ウェアハウス |
| REST | ノートブック |
| REST または SQL | レイクハウスのテーブル。Tables が開始で 経由、または SQL エンドポイント経由の |
| SQL | 列、型、NULL 許容性、順序を |
| SQL | ガードされた単一ステートメント |
| REST |
|
| REST | ステータス、時刻情報、失敗理由 |
| Power BI | DAX の |
| 両方 | 構成情報の要約と到達可能性プローブ |
ノートブックとレイクハウスの引数には、表示名または ID
のどちらかを指定できます。ID (
名前) は、list_items によってその場で解決されます。
SQL ガードの正確な仕様
run_sql は呼び出しごとに 1 つ のステートメントだけを受け付けます。判定の前にコメントは削除されます。そのうえで:
SELECTまたはWITHで始まり、SELECT ... INTOやFOR UPDATEを含まない場合: read (読み取り) に分類され、常に許可されます。INSERT、UPDATE、DELETE、MERGE、CREATE、ALTER、DROP、TRUNCATEで始まるか、SELECT ... INTOである場合: write (書き込み) に分類されます。FABRIC_ALLOW_WRITESが設定されていない限り拒否されます。さらにUPDATEとDELETEは、書き込みが有効な場合でもWHERE句が必須です。それ以外は: どちらの形にも一致しないため拒否されます。
EXEC/EXECUTE、sp_*、xp_*、OPENROWSET、OPENDATASOURCE、OPENQUERY、BULK INSERT、GRANT、REVOKE、DENY、BACKUP、RESTORE、SHUTDOWN、RECONFIGURE: すべてのモードで拒否されます。;で区切られた複数のステートメント: 拒否されます。それぞれを単独で判定できるようにするためです。
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.com、api.powerbi.com、および Microsoft Entra への送信 HTTPS。SQL ツールが呼び出され、かつ
FABRIC_SQL_ENDPOINTが設定されている場合のみ、SQL 分析エンドポイントへの 1433 番ポートでの送信 TDS。Encrypt=yes、TrustServerCertificate=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 に確認済み。
This server cannot be installed
Maintenance
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
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to access enterprise data from Unity Catalog (vector search, functions, Genie spaces) and perform developer actions in Databricks like managing notebooks and running jobs.
- AlicenseNot gradedqualityDmaintenanceEnables 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.263MIT
- AlicenseBqualityDmaintenanceEnables 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.374MIT
- AlicenseBqualityDmaintenanceEnables 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.6142MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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