使用说明

项目简介

本项目是一个 MCP (Model Context Protocol) 服务器的实现示例,专注于将 AI Agent (客户端) 与 Microsoft Fabric 数据仓库集成。它利用 GraphQL API 作为数据访问层,并基于 FastMCP 框架构建 MCP 服务器,对外提供数据查询和操作的工具。通过此连接器,AI Agent 可以安全、便捷地访问和操作 Fabric 数据仓库中的数据,实现更强大的数据驱动的 AI 应用。

主要功能点

  • 数据访问能力: 通过 GraphQL API 连接 Microsoft Fabric 数据仓库,允许 AI Agent 查询和操作数据。
  • 工具 (Tools) 注册与执行: 预置了两个工具,分别是 'get_trips_and_total_amount' (查询行程总额) 和 'charge_new_trip' (创建新的行程记录),AI Agent 可以调用这些工具与数据仓库交互。
  • 基于 FastMCP 框架: 使用 FastMCP 库简化 MCP 服务器的开发,提供标准化的 MCP 协议支持。
  • Gradio 用户界面: 提供简单的 Gradio 界面作为 MCP 客户端示例,方便用户体验和测试连接器功能。

安装步骤

  1. 克隆仓库: 将 GitHub 仓库 'https://github.com/LazaUK/AIFoundry-MCPConnector-FabricGraphQL' 克隆到本地。
  2. 安装依赖: 在项目根目录下,打开命令行终端,运行以下命令安装所需的 Python 包:
    pip install -r requirements.txt
  3. 配置环境变量:
    • 复制 '.env.example' 文件并重命名为 '.env'。
    • 根据你的 Azure OpenAI 服务配置,修改 '.env' 文件中的以下环境变量:
      • 'AOAI_API_BASE': Azure OpenAI 终结点的 Base URL
      • 'AOAI_API_VERSION': Azure OpenAI API 版本
      • 'AOAI_DEPLOYMENT': Azure OpenAI 模型的部署名称
    • 重要: 配置 'AZURE_FABRIC_GRAPHQL_ENDPOINT' 环境变量,将其设置为你在 Microsoft Fabric 中创建的 GraphQL API 终结点 URL (参考 README.md Part 1 的步骤)。

服务器配置

MCP 客户端 (例如 'MCP_Client_Gradio.py') 需要配置以下信息才能连接到本 MCP 服务器。配置信息为 JSON 格式,包含服务器名称、启动命令及其参数。

{
  "server name": "FastMCP Local Server",  // MCP 服务器的名称,客户端用于识别
  "command": "python",                     // 启动 MCP 服务器的命令,这里使用 Python 解释器
  "args": ["MCP_Server_GraphQL.py"]       // 启动命令的参数,指向 MCP 服务器脚本文件
}

注意: 以上配置信息已预置在 'MCP_Client_Gradio.py' 客户端代码中,用户通常无需修改,除非需要自定义服务器脚本路径或启动方式。

基本使用方法

  1. 启动 MCP 客户端: 打开命令行终端,导航到项目根目录,运行以下命令启动 Gradio 客户端界面:
    python MCP_Client_Gradio.py
  2. 初始化系统: 在 Gradio 界面中,点击 "Initialise System" 按钮。这将启动 MCP 服务器,并初始化 AI Agent 客户端与服务器的连接。
  3. 与 AI Agent 交互: 在 Gradio 界面的聊天框中输入你的问题或指令,例如:
    • "Retrieve the number of trips and total amount paid by Medallion ID 8137" (调用 'get_trips_and_total_amount' 工具)
    • "Charge Medallion ID 1234 with a new trip of total amount 22" (调用 'charge_new_trip' 工具) AI Agent 将会调用相应的 MCP 工具来查询或操作 Microsoft Fabric 数据仓库,并将结果返回到聊天界面。
  4. 重置对话: 点击 "Reset Chat" 按钮可以清除当前对话历史,开始新的会话。

提示: 请确保已正确配置 Microsoft Fabric 后端和环境变量,并参考 README.md 中的详细步骤进行操作。

信息

分类

数据库与文件