@microsoft/fabric-mcp-darwin-x64 0.0.0-beta.2 → 0.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +155 -151
- package/dist/appsettings.json +5 -0
- package/dist/fabmcp +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,180 +1,184 @@
|
|
|
1
1
|
# <img height="36" width="36" src="https://learn.microsoft.com/fabric/media/fabric-icon.png" alt="Microsoft Fabric Logo" /> Microsoft Fabric MCP Server NPM Package
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
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.
|
|
7
|
-
|
|
8
|
-
Why this project?
|
|
9
|
-
- Provide a reliable, local-first source of Fabric API context for AI assistants and code generation tools.
|
|
10
|
-
- Reduce the risk of leaking production credentials while enabling rich, example-driven development.
|
|
11
|
-
- Make Fabric API discovery, schema lookup, and best-practice retrieval reproducible and scriptable.
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
4
|
+
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.
|
|
15
5
|
## Table of Contents
|
|
16
|
-
- [
|
|
17
|
-
- [
|
|
18
|
-
- [
|
|
19
|
-
- [
|
|
20
|
-
- [
|
|
21
|
-
- [
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
#
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
6
|
+
- [Overview](#overview)
|
|
7
|
+
- [Installation](#installation)
|
|
8
|
+
- [Usage](#usage)
|
|
9
|
+
- [Getting Started](#getting-started)
|
|
10
|
+
- [What can you do with the Fabric MCP Server?](#what-can-you-do-with-the-fabric-mcp-server)
|
|
11
|
+
- [Available Tools](#available-tools)
|
|
12
|
+
- [Support and Reference](#support-and-reference)
|
|
13
|
+
- [Documentation](#documentation)
|
|
14
|
+
- [Feedback and Support](#feedback-and-support)
|
|
15
|
+
- [Security](#security)
|
|
16
|
+
- [Data Collection](#data-collection)
|
|
17
|
+
- [Contributing](#contributing)
|
|
18
|
+
- [Code of Conduct](#code-of-conduct)
|
|
19
|
+
|
|
20
|
+
# Overview
|
|
21
|
+
|
|
22
|
+
**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.
|
|
23
|
+
|
|
24
|
+
Key capabilities:
|
|
25
|
+
- **Complete API Context**: Full OpenAPI specifications for all supported Fabric workloads
|
|
26
|
+
- **Item Definition Knowledge**: JSON schemas for every Fabric item type (Lakehouses, pipelines, semantic models, notebooks, etc.)
|
|
27
|
+
- **Built-in Best Practices**: Embedded guidance on pagination, error handling, and recommended patterns
|
|
28
|
+
- **Local-First Security**: Runs entirely on your machine—never connects to your Fabric environment
|
|
29
|
+
|
|
30
|
+
# Installation
|
|
31
|
+
- 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 Node.js 20 LTS or later. To verify your installation run: `node --version`, `npm --version`, and `npx --version`.
|
|
32
|
+
- Configure the `mcp.json` file with the following:
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"mcpServers": {
|
|
37
|
+
"fabric-mcp-server": {
|
|
38
|
+
"command": "npx",
|
|
39
|
+
"args": [
|
|
40
|
+
"-y",
|
|
41
|
+
"@microsoft/fabric-mcp@latest",
|
|
42
|
+
"server",
|
|
43
|
+
"start",
|
|
44
|
+
"--mode",
|
|
45
|
+
"all"
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
**Note:** When manually configuring Visual Studio and Visual Studio Code, use `servers` instead of `mcpServers` as the root object.
|
|
52
|
+
|
|
53
|
+
**Client-Specific Configuration**
|
|
54
|
+
| IDE | File Location | Documentation Link |
|
|
55
|
+
|-----|---------------|-------------------|
|
|
56
|
+
| **Claude Code** | `~/.claude.json` or `.mcp.json` (project) | [Claude Code MCP Configuration](https://scottspence.com/posts/configuring-mcp-tools-in-claude-code) |
|
|
57
|
+
| **Claude Desktop** | `~/.claude/claude_desktop_config.json` (macOS)<br>`%APPDATA%\Claude\claude_desktop_config.json` (Windows) | [Claude Desktop MCP Setup](https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop) |
|
|
58
|
+
| **Cursor** | `~/.cursor/mcp.json` or `.cursor/mcp.json` | [Cursor MCP Documentation](https://docs.cursor.com/context/model-context-protocol) |
|
|
59
|
+
| **VS Code** | `.vscode/mcp.json` (workspace)<br>`settings.json` (user) | [VS Code MCP Documentation](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) |
|
|
60
|
+
| **Windsurf** | `~/.codeium/windsurf/mcp_config.json` | [Windsurf Cascade MCP Integration](https://docs.windsurf.com/windsurf/cascade/mcp) |
|
|
61
|
+
|
|
62
|
+
# Usage
|
|
63
|
+
|
|
64
|
+
## Getting Started
|
|
65
|
+
|
|
66
|
+
1. Open GitHub Copilot in [VS Code](https://code.visualstudio.com/docs/copilot/chat/chat-agent-mode) and switch to Agent mode.
|
|
67
|
+
1. Click `refresh` on the tools list
|
|
68
|
+
- You should see the Fabric MCP Server in the list of tools
|
|
69
|
+
1. Try a prompt that uses Fabric context, such as `What Fabric workload types are available?`
|
|
70
|
+
- The agent should be able to use the Fabric MCP Server tools to complete your query
|
|
71
|
+
1. Check out the [Microsoft Fabric documentation](https://learn.microsoft.com/fabric/) and review the [troubleshooting guide](https://github.com/microsoft/mcp/blob/main/servers/Fabric.Mcp.Server/TROUBLESHOOTING.md) for commonly asked questions
|
|
72
|
+
1. We're building this in the open. Your feedback is much appreciated!
|
|
73
|
+
- 👉 [Open an issue in the public repository](https://github.com/microsoft/mcp/issues/new/choose)
|
|
74
|
+
|
|
75
|
+
## What can you do with the Fabric MCP Server?
|
|
76
|
+
|
|
77
|
+
✨ The Fabric MCP Server supercharges your agents with Microsoft Fabric context. Here are some prompts you can try:
|
|
78
|
+
|
|
79
|
+
### 📊 Fabric Workloads & APIs
|
|
80
|
+
|
|
81
|
+
* "What are the available Fabric workload types I can work with?"
|
|
82
|
+
* "Show me the OpenAPI operations for 'notebook' and give a sample creation body"
|
|
83
|
+
* "Get the platform-level API specifications for Microsoft Fabric"
|
|
84
|
+
* "List all supported Fabric item types"
|
|
85
|
+
|
|
86
|
+
### 🏗️ Resource Definitions & Schemas
|
|
87
|
+
|
|
88
|
+
* "Create a Lakehouse resource definition with a schema that enforces a string column and a datetime column"
|
|
89
|
+
* "Show me the JSON schema for a Data Pipeline item definition"
|
|
90
|
+
* "Generate a Semantic Model configuration with sample measures"
|
|
91
|
+
* "What properties are required for creating a KQL Database?"
|
|
92
|
+
|
|
93
|
+
### 📝 Best Practices & Examples
|
|
94
|
+
|
|
95
|
+
* "List recommended retry/backoff behavior for Fabric APIs when rate-limited"
|
|
96
|
+
* "Show me best practices for authenticating with Fabric APIs"
|
|
97
|
+
* "Get example request/response payloads for creating a Notebook"
|
|
98
|
+
* "What are the pagination patterns for Fabric REST APIs?"
|
|
99
|
+
|
|
100
|
+
### 🔧 Development Workflows
|
|
101
|
+
|
|
102
|
+
* "Generate a data pipeline configuration with sample data sources"
|
|
103
|
+
* "Help me scaffold a Fabric workspace with Lakehouse and notebooks"
|
|
104
|
+
* "Show me how to handle long-running operations in Fabric APIs"
|
|
105
|
+
* "What's the recommended error handling pattern for Fabric API calls?"
|
|
106
|
+
|
|
107
|
+
## Available Tools
|
|
108
|
+
|
|
109
|
+
The Fabric MCP Server exposes the following tools for AI agents:
|
|
49
110
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
111
|
+
| Tool | Tool Name | Description |
|
|
112
|
+
|------|-----------|-------------|
|
|
113
|
+
| List Public APIs | `publicapis_list` | List all Microsoft Fabric workload types that have public API specifications available |
|
|
114
|
+
| Get Public API | `publicapis_get` | Retrieve the complete OpenAPI/Swagger specification for a specific Microsoft Fabric workload |
|
|
115
|
+
| Get Platform API | `publicapis_platform_get` | Retrieve the OpenAPI/Swagger specification for Microsoft Fabric platform APIs |
|
|
116
|
+
| Get Best Practices | `publicapis_bestpractices_get` | Retrieve embedded best practice documentation and guidance for a specific Microsoft Fabric topic |
|
|
117
|
+
| Get Best Practices Examples | `publicapis_bestpractices_examples_get` | Retrieve all example API request/response files for a specific Microsoft Fabric workload |
|
|
118
|
+
| Get Item Definition | `publicapis_bestpractices_itemdefinition_get` | Retrieve the JSON schema definitions for specific items within a Microsoft Fabric workload's API |
|
|
54
119
|
|
|
55
|
-
|
|
120
|
+
> Always verify available commands via `--help`. Command names and availability may change between releases.
|
|
56
121
|
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
git clone https://github.com/microsoft/mcp.git
|
|
60
|
-
cd mcp
|
|
61
|
-
```
|
|
122
|
+
## OneLake (`onelake`)
|
|
62
123
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
124
|
+
| Command | Purpose |
|
|
125
|
+
|---|---|
|
|
126
|
+
| `onelake download file` | Download a OneLake file to disk. |
|
|
127
|
+
| `onelake upload file` | Upload a local file into OneLake. |
|
|
128
|
+
| `onelake directory create` | Create a directory via the DFS endpoint. |
|
|
129
|
+
| `onelake directory delete` | Delete a directory (optionally recursive). |
|
|
130
|
+
| `onelake file list` | List files using the hierarchical file-list endpoint. |
|
|
131
|
+
| `onelake file delete` | Remove individual files from OneLake storage. |
|
|
132
|
+
| `onelake item list` | List workspace items and high-level metadata. |
|
|
133
|
+
| `onelake item list-data` | List Fabric items via the DFS endpoint. |
|
|
134
|
+
| `onelake item create` | Provision new Fabric items (lakehouse, notebook, etc.). |
|
|
67
135
|
|
|
68
|
-
|
|
69
|
-
The executable `fabmcp` will be created at:
|
|
70
|
-
```
|
|
71
|
-
servers/Fabric.Mcp.Server/src/bin/Release/fabmcp
|
|
72
|
-
```
|
|
136
|
+
All commands accept either GUID identifiers (`--workspace-id`, `--item-id`) or friendly names (`--workspace`, `--item`), with the exception of `onelake item create`, which currently requires GUID identifiers. Friendly-name items must be provided as `<itemName>.<itemType>` (for example, `SalesLakehouse.lakehouse`). Use `dotnet run -- onelake --help` (or `fabmcp onelake --help` for published builds) to inspect the complete option set before scripting.
|
|
73
137
|
|
|
74
|
-
|
|
75
|
-
> - **macOS/Linux**: Use the path as-is: `/path/to/repo/servers/Fabric.Mcp.Server/src/bin/Release/fabmcp`
|
|
76
|
-
> - **Windows**: Use backslashes and may need `.exe` extension: `C:\path\to\repo\servers\Fabric.Mcp.Server\src\bin\Release\fabmcp`
|
|
77
|
-
> - For published builds, executables will be in platform-specific subdirectories with `.exe` extension on Windows
|
|
138
|
+
# Support and Reference
|
|
78
139
|
|
|
79
|
-
|
|
140
|
+
## Documentation
|
|
80
141
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
{
|
|
84
|
-
"servers": {
|
|
85
|
-
"Microsoft Fabric MCP": {
|
|
86
|
-
"command": "/path/to/executable",
|
|
87
|
-
"args": ["server", "start", "--mode", "all"]
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
```
|
|
142
|
+
- See the [Microsoft Fabric documentation](https://learn.microsoft.com/fabric/) to learn about the Microsoft Fabric platform.
|
|
143
|
+
- For MCP server-specific troubleshooting, see the [Troubleshooting Guide](https://github.com/microsoft/mcp/blob/main/servers/Fabric.Mcp.Server/TROUBLESHOOTING.md).
|
|
92
144
|
|
|
93
|
-
|
|
94
|
-
> - Replace `/path/to/executable` with the actual path from step 3
|
|
95
|
-
> - The `--mode all` argument enables all available tools
|
|
145
|
+
## Feedback and Support
|
|
96
146
|
|
|
147
|
+
- Check the [Troubleshooting guide](https://github.com/microsoft/mcp/blob/main/servers/Fabric.Mcp.Server/TROUBLESHOOTING.md) to diagnose and resolve common issues.
|
|
148
|
+
- We're building this in the open. Your feedback is much appreciated!
|
|
149
|
+
- 👉 [Open an issue](https://github.com/microsoft/mcp/issues) in the public GitHub repository — we'd love to hear from you!
|
|
97
150
|
|
|
98
|
-
##
|
|
99
|
-
- **SDK mismatch:** If `dotnet` outputs an SDK resolution error, inspect `global.json` and align local SDKs or update the file.
|
|
100
|
-
- **Path issues:** Always use absolute paths in MCP configuration to avoid path resolution problems.
|
|
151
|
+
## Security
|
|
101
152
|
|
|
102
|
-
|
|
153
|
+
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.
|
|
103
154
|
|
|
104
|
-
|
|
155
|
+
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.
|
|
105
156
|
|
|
106
|
-
|
|
157
|
+
## Data Collection
|
|
107
158
|
|
|
108
|
-
|
|
109
|
-
2. Run **MCP: List Servers**
|
|
110
|
-
3. Find **Fabric MCP Server** in the list and click the **Start** button
|
|
159
|
+
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](https://www.microsoft.com/privacy/privacystatement). 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.
|
|
111
160
|
|
|
112
|
-
|
|
161
|
+
## Contributing
|
|
113
162
|
|
|
114
|
-
|
|
163
|
+
We welcome contributions to the Fabric MCP Server! Whether you're fixing bugs, adding new features, or improving documentation, your contributions are welcome.
|
|
115
164
|
|
|
116
|
-
|
|
165
|
+
Please read our [Contributing Guide](https://github.com/microsoft/mcp/blob/main/CONTRIBUTING.md) for guidelines on:
|
|
117
166
|
|
|
118
|
-
|
|
119
|
-
|
|
167
|
+
* 🛠️ Setting up your development environment
|
|
168
|
+
* ✨ Adding new commands
|
|
169
|
+
* 📝 Code style and testing requirements
|
|
170
|
+
* 🔄 Making pull requests
|
|
120
171
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
| Command | Purpose | Implementation |
|
|
130
|
-
|---|---|---|
|
|
131
|
-
| `publicapis list` | List supported workload names (e.g. notebook, report) | tools/Fabric.Mcp.Tools.PublicApi/src/Commands/PublicApis/ListWorkloadsCommand.cs |
|
|
132
|
-
| `publicapis get --workload-type <workload>` | Fetch OpenAPI & examples for a workload | tools/Fabric.Mcp.Tools.PublicApi/src/Commands/PublicApis/GetWorkloadApisCommand.cs |
|
|
133
|
-
| `publicapis platform get` | Retrieve platform-level API specs | tools/Fabric.Mcp.Tools.PublicApi/src/Commands/PublicApis/GetPlatformApisCommand.cs |
|
|
134
|
-
| `publicapis bestpractices get --workload-type <workload>` | Retrieve best-practice guidance for a workload | tools/Fabric.Mcp.Tools.PublicApi/src/Commands/BestPractices/GetBestPracticesCommand.cs |
|
|
135
|
-
| `publicapis examples get --workload-type <workload>` | Retrieve example request/response files for a workload | tools/Fabric.Mcp.Tools.PublicApi/src/Commands/BestPractices/GetExamplesCommand.cs |
|
|
136
|
-
| `publicapis itemdefinition get --workload-type <workload>` | Get JSON schema definitions for a workload | tools/Fabric.Mcp.Tools.PublicApi/src/Commands/BestPractices/GetWorkloadDefinitionCommand.cs |
|
|
137
|
-
|
|
138
|
-
> 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.
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
# Development and Contributing
|
|
143
|
-
|
|
144
|
-
We welcome contributions. Please follow the repository's contribution guidelines and the checklist below when preparing a PR.
|
|
145
|
-
|
|
146
|
-
**Contributor checklist**
|
|
147
|
-
- Create a focused branch for your changes.
|
|
148
|
-
- Run a local build and unit tests for affected projects.
|
|
149
|
-
- Update `CHANGELOG.md` for user-visible changes.
|
|
150
|
-
- Run `eng` validation scripts where applicable (spelling, linters).
|
|
151
|
-
- Provide a clear PR description and link relevant issues.
|
|
152
|
-
|
|
153
|
-
See [CONTRIBUTING](https://github.com/microsoft/mcp/blob/main/CONTRIBUTING.md) for full guidance.
|
|
154
|
-
|
|
155
|
-
<!-- insert-section: vsix {{Interested in contributing to the Fabric MCP Server? Visit the [GitHub repository](https://github.com/microsoft/mcp) to get started.
|
|
156
|
-
|
|
157
|
-
See [CONTRIBUTING](https://github.com/microsoft/mcp/blob/main/CONTRIBUTING.md) for full contribution guidelines.
|
|
158
|
-
}} -->
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
# Support
|
|
163
|
-
If you encounter issues:
|
|
164
|
-
1. Search existing issues.
|
|
165
|
-
2. If none match, file a new issue with:
|
|
166
|
-
- OS and `.NET` SDK version (`dotnet --info`).
|
|
167
|
-
- The command used to start the server.
|
|
168
|
-
- Server logs and MCP client config (redact secrets).
|
|
169
|
-
- Steps to reproduce.
|
|
170
|
-
<!-- insert-section: vsix {{ - Your OS and VS Code version
|
|
171
|
-
- Server logs from the **MCP: List Servers** view
|
|
172
|
-
- Steps to reproduce the issue
|
|
173
|
-
}} -->
|
|
174
|
-
|
|
175
|
-
For troubleshooting steps, see [TROUBLESHOOTING](https://github.com/microsoft/mcp/blob/main/servers/Fabric.Mcp.Server/TROUBLESHOOTING.md).
|
|
172
|
+
## Code of Conduct
|
|
173
|
+
This project has adopted the
|
|
174
|
+
[Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
|
175
|
+
For more information, see the
|
|
176
|
+
[Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
|
|
177
|
+
or contact [open@microsoft.com](mailto:open@microsoft.com)
|
|
178
|
+
with any additional questions or comments.
|
|
176
179
|
|
|
177
180
|
---
|
|
178
181
|
|
|
179
182
|
# License
|
|
183
|
+
|
|
180
184
|
This project is licensed under the MIT License — see the [LICENSE](https://github.com/microsoft/mcp/blob/main/LICENSE) file for details.
|
package/dist/fabmcp
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/fabric-mcp-darwin-x64",
|
|
3
|
-
"version": "0.0.0-beta.
|
|
3
|
+
"version": "0.0.0-beta.4",
|
|
4
4
|
"description": "Microsoft Fabric MCP Server - Model Context Protocol implementation for Fabric, for darwin on x64",
|
|
5
5
|
"author": "Microsoft",
|
|
6
6
|
"homepage": "https://github.com/Microsoft/mcp/blob/main/servers/Fabric.Mcp.Server#readme",
|