使用说明
项目简介
本项目是一个 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 客户端示例,方便用户体验和测试连接器功能。
安装步骤
- 克隆仓库: 将 GitHub 仓库 'https://github.com/LazaUK/AIFoundry-MCPConnector-FabricGraphQL' 克隆到本地。
- 安装依赖: 在项目根目录下,打开命令行终端,运行以下命令安装所需的 Python 包:
pip install -r requirements.txt - 配置环境变量:
- 复制 '.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' 客户端代码中,用户通常无需修改,除非需要自定义服务器脚本路径或启动方式。
基本使用方法
- 启动 MCP 客户端: 打开命令行终端,导航到项目根目录,运行以下命令启动 Gradio 客户端界面:
python MCP_Client_Gradio.py - 初始化系统: 在 Gradio 界面中,点击 "Initialise System" 按钮。这将启动 MCP 服务器,并初始化 AI Agent 客户端与服务器的连接。
- 与 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 数据仓库,并将结果返回到聊天界面。
- 重置对话: 点击 "Reset Chat" 按钮可以清除当前对话历史,开始新的会话。
提示: 请确保已正确配置 Microsoft Fabric 后端和环境变量,并参考 README.md 中的详细步骤进行操作。
信息
分类
数据库与文件