mcp-fabric
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., "@mcp-fabriclist 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.
mcp-fabric — Microsoft Fabric MCP server
A FastMCP server for developing Fabric
notebooks and Dataflow Gen2 through the Fabric REST API
(https://api.fabric.microsoft.com/v1). Tools take a workspace (display name
or GUID) and an item name/GUID; call list_workspaces first.
Read tools always work; create/update/delete/run tools require
"writable": true in config.json.
Tools
Discovery / read
list_workspaceslist_items— filter byitem_type(Notebook, Dataflow, Lakehouse, …)list_folders— workspace folders; pass adisplayName/id asfolderwhen creating itemsget_item— item metadataget_item_definition— decoded definition parts of any item (generic/advanced)
Notebooks
create_notebook— fromsource(code string) oripynb(full notebook JSON)get_notebook— returns the source extracted from the notebook's ipynbupdate_notebook— replace contentrun_notebook— run on demand with optional parameters → returns a jobInstanceId
Dataflow Gen2
create_dataflow— from a Power Query Mmashup_documentget_dataflow— decoded parts (mashup.pq= the M query,queryMetadata.json)update_dataflow— replace the M documentrefresh_dataflow/publish_dataflow— on-demand jobs
Schedules
get_item_schedules— schedules on an item: id,enabled, and recurrence (Cron/Daily/Weekly, start/end, timezone). An empty list means the item only runs on demand or via a parent pipeline.set_schedule_enabled— flip one schedule'senabledflag by iddisable_item_schedules— flip every schedule on an item (enable=Trueto re-enable); schedules already in the target state are skipped
job_typeselects which schedules you're looking at:Pipelinefor data pipelines (default),RunNotebookfor notebooks,Refreshfor dataflows. Fabric's Update Schedule API replaces the whole schedule, so both write tools read the existing recurrence and echo it back — only theenabledflag changes.
Jobs / lifecycle
get_job— status of a notebook run / dataflow refreshcancel_jobmove_item— move an item into a folder (or to the workspace root); children followdelete_item
Definition create/update are long-running operations; the server polls them to completion automatically. Notebook/dataflow runs return a
jobInstanceIdyou monitor withget_job(they aren't polled to completion).
Related MCP server: Fabric Workspace Reader MCP
Known limitations (per Microsoft docs)
Dataflow Gen2 run APIs: refresh/publish can be invoked, but Microsoft currently notes the run may not complete successfully via API.
Service-principal auth is not supported for dataflows (works for notebooks).
Auth
Set "auth" in config.json:
value | how it signs in |
| Windows WAM broker popup (no Azure CLI needed) |
| reuse an |
| browser sign-in popup |
| app registration; secret from |
|
|
The identity needs an appropriate workspace role (Admin/Member/Contributor)
to create and run items. Default token scope is
https://api.fabric.microsoft.com/.default.
Two extra config.json keys tune broker sign-in when the machine has more
than one work account signed in:
key | default | effect |
|
| Silently reuse the Windows default account. Set |
| (unset) | Pre-select this UPN/email, so the broker picks the right identity instead of whichever is default. |
Setup
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
copy config.example.json config.json # then edit if needed (broker auth works as-is)
.\.venv\Scripts\python.exe server.py # smoke test (Ctrl+C to stop)Register with an MCP client
See examples/mcp.json:
{
"mcpServers": {
"fabric": {
"command": "C:\\path\\to\\mcp-fabric\\.venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\mcp-fabric\\server.py"],
"env": {}
}
}
}Use with Claude Desktop
Claude Desktop reads its MCP servers from
claude_desktop_config.json. Open it from Settings → Developer → Edit Config
(this creates the file if it doesn't exist), or edit it directly:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Add this server under mcpServers, using absolute paths to the venv's
Python and server.py:
{
"mcpServers": {
"fabric": {
"command": "C:\\path\\to\\mcp-fabric\\.venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\mcp-fabric\\server.py"],
"env": {}
}
}
}On macOS the paths are POSIX, e.g. "command": "/Users/you/mcp-fabric/.venv/bin/python".
Save the file and fully quit and reopen Claude Desktop (use Quit from the
tray/menu-bar icon — closing the window isn't enough). The server's tools then
appear in the tools (🔌) menu of a new chat.
License
MIT — see LICENSE.
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 gradedqualityDmaintenanceA Python-based MCP server that enables interaction with Microsoft Fabric APIs for managing workspaces, lakehouses, warehouses, and tables through natural language.16
- FlicenseNot gradedqualityDmaintenanceMCP server for exploring Microsoft Fabric and Power BI workspaces. It provides tools to list workspaces and get detailed contents of a workspace.10
- FlicenseNot gradedqualityDmaintenanceMCP server for reading and analyzing Fabric semantic models. Supports getting model definitions and executing DAX queries against Power BI datasets.17
- AlicenseNot gradedqualityCmaintenanceMCP server for Microsoft Fabric REST APIs that enables data engineers and analysts to manage Fabric components using AI assistants.35AGPL 3.0
Related MCP Connectors
The official MCP Server from Mia-Platform to interact with Mia-Platform Console
Official Microsoft MCP Server to query Microsoft Entra data using natural language
MCP server for interacting with the Supabase platform
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/rajivdatta/mcp-fabric'
If you have feedback or need assistance with the MCP directory API, please join our Discord server