Skip to main content
Any Framework

Microsoft Fabric MCP Server - Model Context Protocol implementation for Fabric

Published
Nov 21, 2025
11mo ago
Total Downloads
12.6K
12,617

Install

dotnet add package Microsoft.Fabric.Mcp --version 0.0.0-beta.2

No framework information available.

README

Microsoft Fabric MCP Server .NET Tool

A local, AI-friendly Model Context Protocol (MCP) server that packages Microsoft Fabric's OpenAPI specifications, schema definitions, examples, and curated guidance into a single context layer for AI agents and developer tools.

Why this project?

  • Provide a reliable, local-first source of Fabric API context for AI assistants and code generation tools.
  • Reduce the risk of leaking production credentials while enabling rich, example-driven development.
  • Make Fabric API discovery, schema lookup, and best-practice retrieval reproducible and scriptable.

Table of Contents


What Can You Do?

The Fabric MCP Server unlocks practical developer workflows by providing local access to Fabric API context:

  • Generate or scaffold Fabric resource definitions (Lakehouse, data pipelines, notebooks, reports).
  • Retrieve official OpenAPI specs and JSON schema for validation and code generation.
  • Get example request/response payloads to accelerate integration.
  • Query curated best-practice guidance (pagination, LROs, authentication patterns).

Example prompts

  • "Create a Lakehouse resource definition with a schema that enforces a string column and a datetime column."
  • "Show me the OpenAPI operations for 'notebook' and give a sample creation body."
  • "List recommended retry/backoff behavior for Fabric APIs when rate-limited."
  • "What are the available Fabric workload types I can work with?"
  • "Generate a data pipeline configuration with sample data sources."
  • "Show me best practices for authenticating with Fabric APIs."

Getting Started

Prerequisites

  • .NET 9.x SDK is recommended. Check global.json at the repository root for any pinned SDK version.
    • If global.json pins a preview SDK not installed locally, either install the requested preview SDK or update global.json for local development.
  • An MCP-compatible client (VS Code with an MCP extension, Claude Desktop, etc.).

Installation Steps

  1. Clone the repository:

    git clone https://github.com/microsoft/mcp.git
    cd mcp
    
  2. Build the project:

    dotnet build servers/Fabric.Mcp.Server/src/Fabric.Mcp.Server.csproj --configuration Release
    
  3. Locate your executable: The executable fabmcp will be created at:

    servers/Fabric.Mcp.Server/src/bin/Release/fabmcp
    

    Platform Notes:

    • macOS/Linux: Use the path as-is: /path/to/repo/servers/Fabric.Mcp.Server/src/bin/Release/fabmcp
    • Windows: Use backslashes and may need .exe extension: C:\path\to\repo\servers\Fabric.Mcp.Server\src\bin\Release\fabmcp
    • For published builds, executables will be in platform-specific subdirectories with .exe extension on Windows
  4. Configure your MCP client:

    Example configuration for VS Code (.vscode/mcp.json):

    {
      "servers": {
        "Microsoft Fabric MCP": {
          "command": "/path/to/executable",
          "args": ["server", "start", "--mode", "all"]
        }
      }
    }
    

    Notes:

    • Replace /path/to/executable with the actual path from step 3
    • The --mode all argument enables all available tools

Common Issues

  • SDK mismatch: If dotnet outputs an SDK resolution error, inspect global.json and align local SDKs or update the file.
  • Path issues: Always use absolute paths in MCP configuration to avoid path resolution problems.

Available Tools

Use the server's CLI to query embedded data and examples. Commands are organized under a publicapis command group in code.

Command Purpose Implementation
publicapis list List supported workload names (e.g. notebook, report) tools/Fabric.Mcp.Tools.PublicApi/src/Commands/PublicApis/ListWorkloadsCommand.cs
publicapis get --workload-type <workload> Fetch OpenAPI & examples for a workload tools/Fabric.Mcp.Tools.PublicApi/src/Commands/PublicApis/GetWorkloadApisCommand.cs
publicapis platform get Retrieve platform-level API specs tools/Fabric.Mcp.Tools.PublicApi/src/Commands/PublicApis/GetPlatformApisCommand.cs
publicapis bestpractices get --workload-type <workload> Retrieve best-practice guidance for a workload tools/Fabric.Mcp.Tools.PublicApi/src/Commands/BestPractices/GetBestPracticesCommand.cs
publicapis examples get --workload-type <workload> Retrieve example request/response files for a workload tools/Fabric.Mcp.Tools.PublicApi/src/Commands/BestPractices/GetExamplesCommand.cs
publicapis itemdefinition get --workload-type <workload> Get JSON schema definitions for a workload tools/Fabric.Mcp.Tools.PublicApi/src/Commands/BestPractices/GetWorkloadDefinitionCommand.cs

Always verify the available commands in your build via --help before scripting against them; command names and availability are code-driven and may change between releases.


Development and Contributing

We welcome contributions. Please follow the repository's contribution guidelines and the checklist below when preparing a PR.

Contributor checklist

  • Create a focused branch for your changes.
  • Run a local build and unit tests for affected projects.
  • Update CHANGELOG.md for user-visible changes.
  • Run eng validation scripts where applicable (spelling, linters).
  • Provide a clear PR description and link relevant issues.

See CONTRIBUTING for full guidance.


Support

If you encounter issues:

  1. Search existing issues.
  2. If none match, file a new issue with:
    • OS and .NET SDK version (dotnet --info).
    • The command used to start the server.
    • Server logs and MCP client config (redact secrets).
    • Steps to reproduce.

For troubleshooting steps, see TROUBLESHOOTING.


License

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

Changes from Previous Version

No structural changes between v0.0.0-beta.1 and v0.0.0-beta.2.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

This version is marked prerelease. Validate its API and upgrade path before production use.No target framework metadata is available. Confirm compatibility in a representative project before standardising on this package.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.