Skip to content
Microsoft Fabric MCP Server logo

Microsoft Fabric MCP Server

By microsoft·3,595

MCP tools for interacting with Microsoft Fabric

Microsoft Fabric Logo Microsoft Fabric MCP Server

A local-first Model Context Protocol (MCP) server that provides AI agents with comprehensive access to Microsoft Fabric's public APIs, item definitions, and best practices. The Fabric MCP Server packages complete OpenAPI specifications into a single context layer for AI-assisted development—without connecting to live Fabric environments.

Install Fabric MCP in VS Code Install Fabric MCP in VS Code Insiders

GitHub
GitHub Release
License

Table of Contents

Overview

Microsoft Fabric MCP Server gives your AI agents the knowledge they need to generate robust, production-ready code for Microsoft Fabric—all without directly accessing your environment.

Key capabilities:

  • Complete API Context: Full OpenAPI specifications for all supported Fabric item types
  • Item Definition Knowledge: JSON schemas for every Fabric item type (Lakehouses, pipelines, semantic models, notebooks, etc.)
  • Built-in Best Practices: Embedded guidance on pagination, error handling, and recommended patterns
  • Local-First Security: Runs entirely on your machine—never connects to your Fabric environment
  • Data Factory Integration: Pipeline and Dataflow Gen2 management with M query execution

Installation

IDE

Start using Fabric MCP with your favorite IDE. We recommend VS Code:

VS Code (Recommended)

Compatible with both the Stable and Insiders builds of VS Code.

  1. Install the GitHub Copilot Chat extension.
  2. Install the Fabric MCP Server extension.

Manual Setup

Fabric MCP Server can also be configured across other IDEs, CLIs, and MCP clients:

Manual setup instructions

Use one of the following options to configure your mcp.json:

Option 1: Configure using .NET (build from source)

  • You must have the latest .NET 10 SDK LTS installed.
    To verify the .NET version, run: dotnet --version

  • Clone and build the repository:

    git clone https://github.com/microsoft/mcp.git
    cd mcp
    dotnet build servers/Fabric.Mcp.Server/src/Fabric.Mcp.Server.csproj --configuration Release
  • Configure the mcp.json file with the following:

    {
        "mcpServers": {
            "Fabric MCP Server": {
                "command": "/path/to/repo/servers/Fabric.Mcp.Server/src/bin/Release/fabmcp",
                "args": [
                    "server",
                    "start"
                ],
                "type": "stdio"
            }
        }
    }

Platform Notes:

  • macOS/Linux: Use the path as-is
  • Windows: Use backslashes and add .exe extension: C:\path\to\repo\servers\Fabric.Mcp.Server\src\bin\Release\fabmcp.exe

Option 2: Configure using Node.js (npm/npx)

  • To use Fabric MCP server from node one must have Node.js (LTS) installed and available on your system PATH — this provides both npm and npx. We recommend the latest Node.js LTS version. To verify your installation run: node --version, npm --version, and npx --version.

  • Configure the mcp.json file with the following:

    {
        "mcpServers": {
            "fabric-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@microsoft/fabric-mcp@latest",
                "server",
                "start",
                "--mode",
                "all"
                ]
            }
        }
    }

Note: When manually configuring Visual Studio and Visual Studio Code, use servers instead of mcpServers as the root object.

Client-Specific Configuration

IDE File Location Documentation Link
Claude Code ~/.claude.json or .mcp.json (project) Claude Code MCP Configuration
Claude Desktop ~/.claude/claude_desktop_config.json (macOS)
%APPDATA%\Claude\claude_desktop_config.json (Windows)
Claude Desktop MCP Setup
Cursor ~/.cursor/mcp.json or .cursor/mcp.json Cursor MCP Documentation
VS Code .vscode/mcp.json (workspace)
settings.json (user)
VS Code MCP Documentation
Windsurf ~/.codeium/windsurf/mcp_config.json Windsurf Cascade MCP Integration

Usage

Getting Started

  1. Open GitHub Copilot in VS Code and switch to Agent mode.
  2. Click refresh on the tools list
    • You should see the Fabric MCP Server in the list of tools
  3. Try a prompt that uses Fabric context, such as What Fabric item types are available?
    • The agent should be able to use the Fabric MCP Server tools to complete your query
  4. Check out the Microsoft Fabric documentation and review the troubleshooting guide for commonly asked questions
  5. We're building this in the open. Your feedback is much appreciated!

What can you do with the Fabric MCP Server?

The Fabric MCP Server supercharges your agents with Microsoft Fabric context. Here are some prompts you can try:

Catalog Discovery

  • "Search the OneLake catalog for items related to 'sales revenue'"
  • "Find a Lakehouse with 'customer' in the name across my workspaces"
  • "Discover all Report items in the catalog and show which workspace they live in"
  • "Filter the catalog to Warehouse and Notebook items"

Fabric Item Types & APIs

  • "What are the available Fabric item types I can work with?"
  • "Show me the OpenAPI operations for 'notebook' and give a sample creation body"
  • "Get the platform-level API specifications for Microsoft Fabric"
  • "List all supported Fabric item types"

Resource Definitions & Schemas

  • "Create a Lakehouse resource definition with a schema that enforces a string column and a datetime column"
  • "Show me the JSON schema for a Data Pipeline item definition"
  • "Generate a Semantic Model configuration with sample measures"
  • "What properties are required for creating a KQL Database?"

Best Practices & Examples

  • "Show me best practices for handling API throttling in Fabric"
  • "How should I implement retry logic for Fabric API rate limits?"
  • "List recommended retry/backoff behavior for Fabric APIs when rate-limited"
  • "Show me best practices for authenticating with Fabric APIs"
  • "Get example request/response payloads for creating a Notebook"
  • "What are the pagination patterns for Fabric REST APIs?"

Development Workflows

  • "Generate a data pipeline configuration with sample data sources"
  • "Help me scaffold a Fabric workspace with Lakehouse and notebooks"
  • "Show me how to handle long-running operations in Fabric APIs"
  • "What's the recommended error handling pattern for Fabric API calls?"

Available Tools

The Fabric MCP Server exposes tools organized into three categories:

API Documentation & Best Practices

Tool Name Description
docs_list-item-types Lists the Fabric item types that have public API specifications available, plus the non-item API areas (platform, admin, spark, realTimeIntelligence).
docs_item-api-spec Retrieves the complete OpenAPI specification for a specific Fabric item type.
docs_platform-api-spec Retrieves the OpenAPI specification for core Fabric platform APIs.
docs_item-definitions Retrieves the JSON schema definition for a Fabric item type.
docs_best-practices Retrieves best practice documentation and guidance for a specific topic.
docs_api-examples Retrieves example API request/response files for a specific item type.

OneLake Data Operations

Tool Name Description
onelake_list-workspaces Lists available Microsoft Fabric workspaces.
onelake_list-items Lists workspace items with high-level metadata.
onelake_list-items-dfs Lists Fabric items via the DFS endpoint.
onelake_list-files Lists files using the hierarchical file-list endpoint.
onelake_download-file Downloads a OneLake file.
onelake_upload-file Uploads a file to OneLake storage.
onelake_delete-file Deletes a file from OneLake storage.
onelake_create-directory Creates a directory via the DFS endpoint.
onelake_delete-directory Deletes a directory (optionally recursive).
onelake_get-table-config Retrieves table API configuration for a workspace item.
onelake_list-table-namespaces Lists table namespaces (schemas) exposed through the table API.
onelake_get-table-namespace Retrieves metadata for a specific namespace.
onelake_list-tables Lists tables published within a namespace.
onelake_get-table Retrieves the definition for a specific table.

OneLake Security — Data Access Roles

Tool Name Description
onelake_list-data-access-roles Lists all data access roles defined on a single item.
onelake_get-data-access-role Gets the full definition of a single data access role (members, permissions, decision rules).
onelake_create-or-update-data-access-role Upserts a single data access role on a single item.
onelake_delete-data-access-role Deletes a single data access role from an item.

OneLake Shortcuts

Tool Name Description
onelake_list-shortcuts Lists shortcuts defined within an item. Hides DW-managed shortcuts by default (--include-managed to show).
onelake_get-shortcut Gets the properties of a single shortcut.
onelake_create-shortcut-onelake Creates a shortcut pointing to another OneLake location.
onelake_create-shortcut-adls-gen2 Creates a shortcut pointing to Azure Data Lake Storage Gen2.
onelake_create-shortcut-amazon-s3 Creates a shortcut pointing to Amazon S3.
onelake_create-shortcut-azure-blob Creates a shortcut pointing to Azure Blob Storage.
onelake_create-shortcut-gcs Creates a shortcut pointing to Google Cloud Storage.
onelake_create-shortcut-s3-compatible Creates a shortcut pointing to S3-compatible storage.
onelake_create-shortcut-dataverse Creates a shortcut pointing to a Dataverse environment.
onelake_create-shortcut-onedrive-sharepoint Creates a shortcut pointing to OneDrive/SharePoint Online.
onelake_delete-shortcut Deletes a single shortcut from an item (preserves destination data).
onelake_reset-shortcut-cache Drops cached shortcut reads, forcing re-resolution from destination.

OneLake Settings

Tool Name Description
onelake_get-settings Gets OneLake settings for a workspace (diagnostics + immutability policy).
onelake_modify-diagnostics Modifies diagnostic logging configuration (status, destination lakehouse) at workspace scope.
onelake_modify-immutability-policy Modifies the workspace-level OneLake immutability policy (scope, retention days).

Core Fabric Operations

Tool Name Description
core_search-catalog Searches the OneLake catalog for items across workspaces by name, description, or workspace name. Optionally filter by item type.
core_create-item Creates new Fabric items (Lakehouses, Notebooks, etc.).

Data Factory Operations

Tool Name Description
datafactory_list-pipelines Lists all pipelines in a Microsoft Fabric workspace.
datafactory_create-pipeline Creates a new pipeline in a workspace.
datafactory_get-pipeline Gets details of a specific pipeline.
datafactory_run-pipeline Runs a pipeline on demand.
datafactory_list-dataflows Lists all Dataflow Gen2 items in a workspace.
datafactory_create-dataflow Creates a new Dataflow Gen2 item.
datafactory_execute-query Executes an M (Power Query) query against a dataflow.

Always verify available commands via --help. Command names and availability may change between releases.

Support and Reference

Documentation

Feedback and Support

  • Support for this server implementation is primarily provided through community channels and GitHub repositories. Customers with qualifying Microsoft enterprise support agreements may have access to limited support for broader Microsoft Fabric and platform scenarios; review the Microsoft Support Policy section of this project for more details.
  • Check the Troubleshooting guide to diagnose and resolve common issues.
  • We're building this in the open. Your feedback is much appreciated!
    • Open an issue in the public GitHub repository — we'd love to hear from you!

Security

The Fabric MCP Server is a local-first tool that runs entirely on your machine. It provides API specifications, schemas, and best practices without connecting to live Microsoft Fabric environments.

MCP as a phenomenon is very novel and cutting-edge. As with all new technology standards, consider doing a security review to ensure any systems that integrate with MCP servers follow all regulations and standards your system is expected to adhere to.

Data Collection

The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.

Contributing

We welcome contributions to the Fabric MCP Server! Whether you're fixing bugs, adding new features, or improving documentation, your contributions are welcome.

Please read our Contributing Guide for guidelines on:

  • Setting up your development environment
  • Adding new commands
  • Code style and testing requirements
  • Making pull requests

Code of Conduct

This project has adopted the
Microsoft Open Source Code of Conduct.
For more information, see the
Code of Conduct FAQ
or contact open@microsoft.com
with any additional questions or comments.


License

This project is licensed under the MIT License — see the LICENSE file for details.