微软结构MCP
](https://badge.fury.io/py/microsoft-fabric-mcp)
提供对Microsoft结构资源的只读访问的模型上下文协议服务器。使用自然语言查询工作区、检查表模式、监视作业和分析依赖关系。
特性
- 25工具 涵盖工作空间、湖畔小屋、桌子、工作和依赖关系
- 只读操作 -仅使用GET请求,没有数据修改的风险
- 智能缓存 快速响应
- 适用于 Cursor、Claude和其他兼容MCP的AI工具
可用的MCP工具
参数说明: workspace 参数接受工作区名称(例如“DWH-PROD”)或工作区ID。为便于使用,建议使用名称。🏢 核心结构管理
| 工具 | 描述 | 输入 |
|---|---|---|
list_workspaces | 列出所有可访问的结构工作区 | 无 |
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 | 列出用户有权访问的所有结构容量 | 无 |
get_workspace_identity | 获取特定工作区的工作区标识详细信息 | workspace (姓名/ID) |
list_workspaces_with_identity | 列出已配置工作区标识的工作区 | 无 |
📊 数据和模式管理
| 工具 | 描述 | 输入 |
|---|---|---|
get_all_schemas | 获取lakehouse中所有Delta表的模式 | workspace (姓名/ID), lakehouse (姓名/ID) |
get_table_schema | 获取特定表的详细架构 | workspace (姓名/ID), lakehouse (姓名/ID), table_name |
list_tables | 列出lakehouse中的所有表格及其格式/类型信息 | workspace (姓名/ID), lakehouse (姓名/ID) |
list_shortcuts | 列出特定项目的OneLake快捷方式 | 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 | 列出用于计算/库管理的结构环境 | workspace (可选) |
get_environment_details | 获取详细的环境配置,包括Spark设置和库 | workspace (姓名/ID), environment_name (姓名/ID) |
缓存
服务器缓存响应以提高性能。使用 clear_fabric_data_cache 刷新资源列表或 clear_name_resolution_cache 重命名工作空间/湖畔小屋后。
入门指南
- 安装UV和Azure CLI(请参阅以下部分)
- 设置Azure CLI身份验证:
az login - 在游标中配置MCP(请参阅下面的“设置MCP”部分)
安装
紫外线
# 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身份验证
此工具包要求安装Azure CLI并正确配置,以便使用Microsoft Fabric服务进行身份验证。
Azure CLI安装程序
- 安装Azure CLI(如果尚未安装):
# For macOS
brew install azure-cli
# For Windows
# Last ned installasjonen fra: https://aka.ms/installazurecliwindows
# Eller bruk winget:
winget install -e --id Microsoft.AzureCLI
# For other platforms, see the official Azure CLI documentation- 使用CLI登录Azure:
az login- 验证登录是否有效:
az account show- 如果您有多个订阅,请选择要使用的订阅:
az account set --subscription "Name-or-ID-of-subscription"完成此操作后 DefaultAzureCredential 在我们的代码中,将自动查找并使用您的Azure CLI身份验证。
设置MCP
要将MCP(模块上下文协议)与此工具包一起使用,请执行以下步骤:
- 请确保您已完成上述Azure CLI身份验证步骤。
- 选择您的安装方法:
选项A:UVX安装(推荐)
添加到光标MCP设置:
"mcp_fabric": {
"command": "uvx",
"args": ["microsoft-fabric-mcp"]
}方案B:地方发展
克隆并安装:
git clone https://github.com/Augustab/microsoft_fabric_mcp
cd microsoft_fabric_mcp
uv pip install -e .添加到光标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将显示在光标设置中,如下所示:
Windows安装程序
设置MCP命令
在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虚拟环境权限
使用激活虚拟环境时 .venv\Scripts\activate 在Windows上,您可能会遇到权限问题。要解决此问题,请在激活前在PowerShell中运行以下命令:
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process这只会临时更改当前PowerShell会话的执行策略,允许脚本运行。
示例用法
设置后,您可以通过AI助手查询Fabric资源:
在Fabric中列出工作区
问你的AI助手自然语言问题:
Can you list my workspaces in Fabric?
Can you show me all the lakehouses in the "DWH-PROD" workspace?
Can you get the schema for the "sales" table in the "GK_Bronze" lakehouse?AI将自动选择合适的MCP工具并显示结果:
高级用例
对于复杂的任务,AI可以访问多种资源来生成准确的代码:
Create a notebook that reads from the 'sales' table in Bronze lakehouse and upserts to 'sales_processed' in Silver lakehouse, considering both schemas.AI将:
- 获取两个表的模式
- 生成具有正确数据类型的代码
- 创建高效的追加销售操作
权限处理
AI在运行MCP工具之前会请求许可。在Cursor中,您可以启用YOLO模式以自动执行而无需提示。
关于模型上下文协议
模型上下文协议(MCP)是一个开放标准,使AI助手能够安全地连接到外部数据源和工具。此服务器实现MCP,为AI助手提供对Microsoft Fabric资源的直接访问。
了解更多: 模型上下文协议文档
贡献
您可以随时贡献其他工具、实用程序或对现有代码的改进。请遵循现有的代码结构,并包含相应的文档。
