mcp-fabric
Click on "Deploy 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 deployed
Maintenance
Related MCP Connectors
The official MCP Server from Mia-Platform to interact with Mia-Platform Console
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Query, browse, and automate OmegaAI workspaces from any MCP client. Streamable HTTP with OAuth 2.0.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
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.17-
- 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-
- AlicenseBqualityBmaintenanceMCP server for Microsoft Fabric REST APIs that enables data engineers and analysts to manage Fabric components using AI assistants.21944 npmAGPL 3.0