使用说明

项目简介

Fabric MCP 是一个基于 Python 的 MCP 服务器实现,旨在通过 Model Context Protocol (MCP) 连接大语言模型 (LLM) 客户端与 Microsoft Fabric 服务。它将 Microsoft Fabric 的各种API功能封装为可以通过 MCP 协议调用的“工具”,使得 LLM 客户端能够访问和操作 Fabric 中的数据和资源,例如列出工作区、湖仓、仓库、表,以及获取表的元数据和模式信息。

主要功能点

  • 列出资源: 可以列出 Microsoft Fabric 中的工作区 (Workspaces)、湖仓 (Lakehouses)、仓库 (Warehouses) 和表 (Tables)。
  • 获取元数据与模式: 能够获取特定 Delta 表的详细模式信息 (Schema) 和元数据 (Metadata)。
  • 上下文设置: 支持设置当前操作的工作区、湖仓或仓库,方便后续工具调用时使用。
  • 清除上下文: 提供清理当前会话上下文的功能。

安装步骤

  1. 克隆仓库: 使用 Git 命令将项目仓库克隆到本地目录。
  2. 设置环境: 进入项目目录,使用 'uv' 工具(需提前安装)创建并同步虚拟环境和依赖。
  3. 安装依赖: 使用 pip 安装 'requirements.txt' 中列出的 Python 依赖。
  4. Azure 认证: 运行 Azure CLI 命令 'az login --scope https://api.fabric.microsoft.com/.default' 登录 Azure 并获取 Fabric API 的访问凭据。服务器运行时将使用这些凭据访问 Fabric。

服务器配置

Fabric MCP 服务器支持 Stdio 传输协议。要将此服务器连接到 MCP 客户端(如支持 MCP 的 VSCode 插件或应用),您需要配置客户端以启动和连接到此服务器进程。配置信息通常以 JSON 格式提供给客户端,包含服务器的名称、传输类型以及启动服务器所需的命令和参数。

配置示例(概念性描述,实际配置取决于客户端界面):

  • 服务器名称 (server name): 'ms-fabric-mcp' (可自定义)
  • 传输类型 (type): 'stdio' (使用标准输入/输出进行通信)
  • 启动命令 (command): 您的 Python 环境的可执行文件路径。例如,在虚拟环境中,这可能是 '<FullPathToProjectFolder>\.venv\Scripts\python.exe'。
  • 命令参数 (args): 启动服务器脚本的路径。例如,这应该是项目的主文件 'fabric_mcp.py' 的完整路径:'<FullPathToProjectFolder>\fabric_mcp.py'。

请根据您使用的 MCP 客户端的要求,将上述信息填入相应的配置界面或文件中。

基本使用方法

  1. 运行服务器: 根据安装步骤配置并启动 Fabric MCP 服务器(例如,在命令行中运行 'uv run --with mcp mcp dev fabric_mcp.py',或者通过配置好的 MCP 客户端启动)。
  2. 连接客户端: 确保您的 MCP 客户端已配置并成功连接到 Fabric MCP 服务器。
  3. 调用工具: 在支持 MCP 工具调用的 LLM 客户端界面中(例如,VSCode Copilot Chat 的 Agent 模式),使用特定的语法调用服务器暴露的功能。例如,要列出所有工作区,可以输入 '#list_workspaces'。其他可用工具名称及参数请参考服务器暴露的能力列表(通常客户端会显示)或项目文档。常用的工具包括:
    • '#list_workspaces':列出所有 Fabric 工作区。
    • '#list_lakehouses(workspace)':列出指定工作区中的湖仓。
    • '#list_warehouses(workspace)':列出指定工作区中的仓库。
    • '#list_tables(workspace, lakehouse)':列出指定湖仓中的表。
    • '#get_lakehouse_table_schema(workspace, lakehouse, table_name)':获取指定 Delta 表的模式和元数据。
    • '#set_workspace(workspace)':设置当前操作的工作区。
    • '#set_lakehouse(workspace, lakehouse)':设置当前操作的湖仓。
    • '#set_warehouse(workspace, warehouse)':设置当前操作的仓库。

通过调用这些工具,LLM 客户端可以获取 Microsoft Fabric 中的数据上下文信息,从而更好地理解和响应与 Fabric 相关的问题或请求。

信息

分类

数据库与文件