Workspace administration is useful but not scarce; discovering a Synapse workspace, transforming its notebooks and moving them into Fabric is a genuine project that people otherwise do by hand. Git integration alongside it means the migrated artifacts land in version control rather than only in the tenant. One practical note that will save an hour: use a bearer token rather than an interactive login, because the interactive flow hangs inside sandboxed desktop clients and looks like the server failing to start.
An MCP server for Microsoft Fabric, covering workspace administration, the items inside a workspace, Spark work through the Livy API, and a migration path from Azure Synapse. Everything is named with a fabric_ prefix, so it does not collide with other servers in the same session.
- Workspaces — fabric_list_workspaces, fabric_get_workspace, fabric_create_workspace, fabric_update_workspace and fabric_delete_workspace
- Capacity — fabric_list_capacities, fabric_list_capacity_workspaces, fabric_assign_workspace_to_capacity and fabric_unassign_workspace_from_capacity
- Access — fabric_get_workspace_role_assignments, fabric_add_workspace_role_assignment, fabric_update_workspace_role_assignment and fabric_remove_workspace_role_assignment
- Git integration — fabric_connect_workspace_to_git, fabric_get_workspace_git_status, fabric_update_workspace_git_connection and fabric_disconnect_workspace_from_git
- Data pipelines and environments — fabric_list_workspace_data_pipelines, fabric_create_workspace_data_pipeline, fabric_list_workspace_environments, fabric_create_workspace_environment and fabric_delete_workspace_environment
- Migration from Synapse — fabric_list_synapse_workspaces, fabric_discover_synapse_workspace, fabric_transform_notebooks and fabric_migrate_synapse_to_fabric
- Spark work through the Livy API, with monitoring of the sessions and batches you start
- A simulation mode, so the tools can be exercised without touching a real tenant
Node.js 18 or later, and access to a Microsoft Fabric tenant. Authentication has several paths, and which you pick matters more than usual: setting FABRIC_AUTH_METHOD to bearer_token with a token in FABRIC_TOKEN is the recommended one, because interactive flows block inside a sandboxed desktop client and cause a startup timeout. FABRIC_WORKSPACE_ID sets the default workspace. Service principal and Azure CLI authentication are also supported, and a token can be passed per call instead. Build from source with npm, or run the container image.
One command plus a key — pip install fabric-analytics-mcp, then supply credentials
