这是一个提供对 Microsoft Fabric 资源只读访问的模型上下文协议服务器。通过自然语言查询工作区、检查表模式、监控作业并分析依赖关系。
参数说明:
workspace参数接受工作区名称(例如:"DWH-PROD")或工作区 ID。建议使用名称以方便使用。
| 工具 | 描述 | 输入 |
|---|---|---|
list_workspaces | 列出所有可访问的 Fabric 工作区 | 无 |
get_workspace | 获取详细的工作区信息,包括工作区身份状态 | workspace (名称/ID) |
list_items | 列出工作区中的所有项目,可选类型过滤 | workspace (名称/ID),item_type (可选) |
get_item | 获取特定项目的详细属性和元数据 | workspace (名称/ID),item_name (名称/ID) |
list_connections | 列出用户在整个租户中可以访问的所有连接 | 无 |
list_lakehouses | 列出指定工作区中的所有数据湖 | workspace (名称/ID) |
list_capacities | 列出用户可以访问的所有 Fabric 容量 | 无 |
get_workspace_identity | 获取特定工作区的工作区身份详细信息 | workspace (名称/ID) |
list_workspaces_with_identity | 列出已配置工作区身份的工作区 | 无 |
| 工具 | 描述 | 输入 |
|---|---|---|
get_all_schemas | 获取数据湖中所有 Delta 表的模式 | workspace (名称/ID),lakehouse (名称/ID) |
get_table_schema | 获取特定表的详细模式 | workspace (名称/ID),lakehouse (名称/ID),table_name |
list_tables | 列出数据湖中的所有表,并带有格式/类型信息 | workspace (名称/ID),lakehouse (名称/ID) |
list_shortcuts | 列出特定项的一湖快捷方式 | workspace (名称/ID),item_name (名称/ID),parent_path (可选) |
get_shortcut | 获取详细快捷方式配置及其目标 | workspace (名称/ID),item_name (名称/ID),shortcut_name,parent_path (可选) |
list_workspace_shortcuts | 汇总工作区项目中的所有快捷方式 | workspace (名称/ID) |
| 工具 | 描述 | 输入 |
|---|---|---|
list_job_instances | 列出作业实例,用于监控,可选状态/项目过滤 | workspace (名称/ID),item_name (可选),status (可选) |
get_job_instance | 获取详细作业信息,包括错误和时间 | workspace (名称/ID),item_name (名称/ID),job_instance_id |
list_item_schedules | 列出特定项目的全部计划 | workspace (名称/ID),item_name (名称/ID) |
list_workspace_schedules | 汇总工作区中的所有计划 - 完整调度概览 | workspace (名称/ID) |
| 工具 | 描述 | 输入 |
|---|---|---|
list_compute_usage | 监控活动作业并估算资源消耗 | workspace (可选),time_range_hours (默认: 24) |
get_item_lineage | 分析数据流依赖关系,上游/下游 | workspace (名称/ID),item_name (名称/ID) |
list_item_dependencies | 映射工作区中的所有项目依赖关系 | workspace (名称/ID),item_type (可选) |
get_data_source_usage | 分析跨项目的连接使用模式 | workspace (可选),connection_name (可选) |
list_environments | 列出 Fabric 环境,用于计算/库管理 | workspace (可选) |
get_environment_details | 获取详细的环境配置,包括 Spark 设置和库 | workspace (名称/ID),environment_name (名称/ID) |
服务器缓存响应以提高性能。使用 clear_fabric_data_cache 刷新资源列表或在重命名工作区/数据湖后使用 clear_name_resolution_cache。
az login# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
此工具包需要安装并正确配置 Azure CLI 以进行 Microsoft Fabric 服务的身份验证。
# 对于 macOS
brew install azure-cli
# 对于 Windows
# 下载安装程序:https://aka.ms/installazurecliwindows
# 或者使用 winget:
winget install -e --id Microsoft.AzureCLI
# 对于其他平台,请参阅官方 Azure CLI 文档
az login
az account show
az account set --subscription "订阅名称或ID"
完成这些步骤后,我们的代码中的 DefaultAzureCredential 将自动找到并使用您的 Azure CLI 身份验证。
要使用此工具包中的 MCP(模块上下文协议),请遵循以下步骤:
确保已完成上述 Azure CLI 认证步骤。
选择您的安装方法:
添加到 Cursor MCP 设置:
"mcp_fabric": {
"command": "uvx",
"args": ["microsoft-fabric-mcp"]
}
克隆并安装:
git clone https://github.com/Augustab/microsoft_fabric_mcp
cd microsoft_fabric_mcp
uv pip install -e .
添加到 Cursor MCP 设置:
"mcp_fabric": {
"command": "uv",
"args": [
"--directory",
"/Users/username/Documents/microsoft_fabric_mcp",
"run",
"fabric_mcp.py"
]
}
替换 /Users/username/Documents/microsoft_fabric_mcp 为您实际的路径。
💡 注意:两种方法都在您的机器上本地运行 MCP 服务器。UVX 方法只是让安装更容易!
一旦 MCP 配置完成,您就可以直接从工具和应用程序中与 Microsoft Fabric 资源交互。
您可以使用提供的 MCP 工具列出工作区、数据湖和表,以及提取模式信息,如工具部分所述。
成功配置后,您的 MCP 将出现在 Cursor 设置中如下所示:
在 Windows 上,您可以创建一个批处理文件来轻松运行 MCP 命令:
创建一个名为 run_mcp.bat 的文件,内容如下:
@echo off
SET PATH=C:\Users\YourUsername\.local\bin;%PATH%
cd C:\path\to\your\microsoft_fabric_mcp\
C:\Users\YourUsername\.local\bin\uv.exe run fabric_mcp.py
示例带真实路径:
@echo off
SET PATH=C:\Users\YourUsername\.local\bin;%PATH%
cd C:\Users\YourUsername\source\repos\microsoft_fabric_mcp\
C:\Users\YourUsername\.local\bin\uv.exe run fabric_mcp.py
您可以通过执行以下命令来运行 MCP 命令:
cmd /c C:\path\to\your\microsoft_fabric_mcp\run_mcp.bat
示例:
cmd /c C:\Users\YourUsername\source\repos\microsoft_fabric_mcp\run_mcp.bat
在 Windows 上使用 .venv\Scripts\activate 激活虚拟环境时,可能会遇到权限问题。为了解决这个问题,在激活之前,请在 PowerShell 中运行以下命令:
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
这会临时更改当前 PowerShell 会话的执行策略,允许脚本运行。
设置完成后,您可以通过您的 AI 助手查询 Fabric 资源:
向您的 AI 助手提出自然语言问题:
你能列出我在 Fabric 中的工作区吗?
你能显示 "DWH-PROD" 工作区中的所有数据湖吗?
你能获取 "GK_Bronze" 数据湖中 "sales" 表的模式吗?
AI 将自动选择合适的 MCP 工具并显示结果:
<div align="center"> <img src="images/list_workspaces_example.png" alt="列出 Fabric 工作区的示例" title="Fabric 中列出工作区的示例" width="450" /> </div>对于复杂任务,AI 可以访问多个资源以生成准确的代码:
创建一个笔记本,从青铜数据湖中的 'sales' 表读取,并更新到银色数据湖中的 'sales_processed' 表,考虑两个表的模式。
AI 将:
AI 在运行 MCP 工具前会请求权限。在 Cursor 中,您可以启用 YOLO 模式以自动执行而无需提示。
Model Context Protocol (MCP) 是一个开放标准,使 AI 助手能够安全地连接到外部数据源和工具。此服务器实现了 MCP,为 AI 助手提供了直接访问您的 Microsoft Fabric 资源的能力。
了解更多:Model Context Protocol 文档
欢迎贡献额外的工具、实用程序或现有代码的改进。请遵循现有的代码结构并包含适当的文档。