Microsoft Fabric MCP Server
Provides tools for workspace Git integration in Microsoft Fabric, enabling version control management of Fabric items.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Microsoft Fabric MCP Serverlist workspaces"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Microsoft Fabric MCP Server
A production-grade Model Context Protocol server for Microsoft Fabric. Exposes Fabric operations as MCP tools over stdio (local) and Streamable HTTP (hosted/multi-user).
TypeScript (ESM, Node 20+), REST-only (Fabric has no typed SDK)
Transparent Long-Running Operation (LRO) handling — 202 + Location is polled to completion automatically
Three auth modes: Azure CLI (
az login), Service Principal (deploy path — Fabric has no PAT), OBO + Entra JWT (hosted)Per-tool RBAC, destructive-op guard, secret redaction, structured logging, retry + per-host circuit breaker
Wraps the Fabric REST API, the Power BI API, and OneLake (per-resource token scopes)
Status: All phases complete — 105 tools across 17 domains, plus 4 resources and 4 prompts:
core (11) · items (7) · lakehouses (7) · warehouses (4) · sqlendpoints (3) · shortcuts (4)
notebooks (6) · pipelines (6) · jobs (6) · spark (6)
semanticmodels (5) · reports (3) · dataflows (5)
realtime (12: eventhouses, KQL databases, eventstreams) · onelake (5: files/dirs via DFS)
git (7: workspace Git integration) · platform (8: deployment pipelines, connections, gateways)
Resources:
fabric://workspaces,fabric://workspace/{w}/items,…/lakehouses,…/item/{id}Prompts:
medallion-architecture,document-workspace,build-etl,diagnose-refreshHardening: per-host circuit breaker, retry + Retry-After, transparent LRO polling, secret redaction, per-tool RBAC + destructive guard, audit logging, ESLint, Vitest suite (unit + live MCP-protocol test), Azure Pipelines CI.
1. Prerequisites
Node.js ≥ 20
A Fabric-enabled tenant and an identity with a Fabric/Power BI license (or a service principal enabled for Fabric APIs and added to the workspaces)
One of: Azure CLI (
az login), a service principal, or (hosted) an Entra app for OBO
Related MCP server: ms-fabric-mcp-server
2. Install & configure
cd "E:\MCP Servers\fabric-mcp-server"
npm install
cp .env.example .env # PowerShell: Copy-Item .env.example .envMinimum for local use with the Azure CLI:
AUTH_MODE=azcli
FABRIC_DEFAULT_WORKSPACE= # optional default workspace IDAuth modes
| Needs | Notes |
|
| Easiest for dev. Token minted for the Fabric scope. |
|
| Deployment path. The SP must be enabled in Fabric tenant settings and added to the workspaces. |
| same three | HTTP transport only. Validates the caller's Entra JWT, then exchanges it per resource (preserves user identity). |
3. Build & run
npm run build && npm start # stdio (default)
node dist/index.js --transport http # Streamable HTTP on PORT (default 3100)4. Connect a client (npx)
{
"mcpServers": {
"fabric": {
"command": "npx",
"args": ["-y", "fabric-mcp-server"],
"env": { "AUTH_MODE": "azcli", "FABRIC_DEFAULT_WORKSPACE": "<workspace-id>" }
}
}
}For deployment use AUTH_MODE=sp with the three AZURE_* env vars.
5. Scripts
Script | Purpose |
| Compile TypeScript → |
| Run compiled server (stdio / HTTP) |
| Watch-mode dev (tsx) |
| Quality gates |
6. Architecture
transport (stdio | http)
→ server (McpServer + registry)
→ dispatch (RBAC · destructive guard · audit · error envelope)
→ domain tools (Zod schemas)
→ domain services
→ FabricClient (REST + retry + circuit breaker + LRO polling)
→ credential (AzCli | ServicePrincipal | OBO) → per-resource tokenEach Fabric area is a self-contained module under src/domains/<area>/ exporting a DomainModule. To add an area, create the module and append it to domains in src/server.ts.
Key Fabric specifics: every write is an LRO (handled in src/client/fabricClient.ts); item definitions (notebooks, pipelines) are base64 file parts (helpers in src/domains/_shared.ts); tokens are acquired per resource (Fabric / Power BI / OneLake).
Full walkthrough: see docs/END_TO_END_FLOW.md for how a request travels through every layer (startup, a tool call step by step, the LRO + item-definition mechanisms, auth/scope flows, resources/prompts, and a worked medallion-ETL example).
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/og-mcp/fabric-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server