Microsoft.Fabric.Mcp
Microsoft Fabric MCP Server - Model Context Protocol implementation for Fabric
Install
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.jsonat the repository root for any pinned SDK version.- If
global.jsonpins a preview SDK not installed locally, either install the requested preview SDK or updateglobal.jsonfor local development.
- If
- An MCP-compatible client (VS Code with an MCP extension, Claude Desktop, etc.).
Installation Steps
Clone the repository:
git clone https://github.com/microsoft/mcp.git cd mcpBuild the project:
dotnet build servers/Fabric.Mcp.Server/src/Fabric.Mcp.Server.csproj --configuration ReleaseLocate your executable: The executable
fabmcpwill be created at:servers/Fabric.Mcp.Server/src/bin/Release/fabmcpPlatform 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
.exeextension:C:\path\to\repo\servers\Fabric.Mcp.Server\src\bin\Release\fabmcp - For published builds, executables will be in platform-specific subdirectories with
.exeextension on Windows
- macOS/Linux: Use the path as-is:
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/executablewith the actual path from step 3 - The
--mode allargument enables all available tools
- Replace
Common Issues
- SDK mismatch: If
dotnetoutputs an SDK resolution error, inspectglobal.jsonand 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
--helpbefore 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.mdfor user-visible changes. - Run
engvalidation scripts where applicable (spelling, linters). - Provide a clear PR description and link relevant issues.
See CONTRIBUTING for full guidance.
Support
If you encounter issues:
- Search existing issues.
- If none match, file a new issue with:
- OS and
.NETSDK version (dotnet --info). - The command used to start the server.
- Server logs and MCP client config (redact secrets).
- Steps to reproduce.
- OS and
For troubleshooting steps, see TROUBLESHOOTING.
License
This project is licensed under the MIT License — see the LICENSE file for details.
Adoption Assessment
A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.