Fabric MCP代理

一个通过Model Context Protocol与Microsoft Fabric交互的AI代理,提供命令行界面和REST API查询功能。

  • by josemzr
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 josemzr/databricks-mcp-agent-framework

使用说明

Microsoft结构MCP代理

该项目实现了一个AI代理,该代理使用 模型上下文协议(MCP).它提供了命令行界面(CLI)和REST API,以通过编程方式查询Fabric。

代理人使用:

  • 语言链/语言图 用于代理工作流。
  • Azure OpenAI 对于LLM。
  • 微软结构MCP服务器 (@microsoft/fabric-mcp)与Fabric接口。
  • 快速API 用于REST API层。

先决条件

  • Python 3.10+
  • Node.js(运行 @microsoft/fabric-mcp 服务器通过 npx).
  • Azure OpenAI资源。
  • 访问Microsoft Fabric。
  • 经过身份验证的Azure CLI会话(或其他 DefaultAzureCredential 机制)。

设置

选项A:使用紫外线(推荐)

紫外线 是一个快速的Python包管理器和项目管理器。

  1. 安装依赖项:

    uv sync
    
  2. 运行CLI:

    uv run app.py
    
  3. 运行API:

    uv run uvicorn api:app --reload
    

选项B:使用标准pip

  1. 创建虚拟环境:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  2. 安装依赖项:

    pip install -r requirements.txt
    
  3. 运行CLI:

    python app.py
    
  4. 运行API:

    uvicorn api:app --reload
    

配置

  1. 配置环境变量: 复制 .env.example 到 .env 并填写您的Azure OpenAI详细信息。

    cp .env.example .env
    

    编辑 .env:

    AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
    AZURE_OPENAI_DEPLOYMENT_NAME=gpt-4
    AZURE_OPENAI_API_VERSION=2024-08-01-preview
    
  2. 使用Azure进行身份验证: 确保您已登录,以便代理可以访问Azure OpenAI和Microsoft Fabric。

    az login
    

用法

该应用程序同时提供CLI和REST API。

REST API端点

  • GET /health:健康检查。
  • POST /chat:向代理发送消息。

示例请求

curl -X POST "http://localhost:8000/chat" \
     -H "Content-Type: application/json" \
     -d '{
           "message": "List available Fabric workloads"
         }'

API文档

服务器运行后,您可以在以下位置访问交互式Swagger UI文档: http://localhost:8000/docs

项目结构

  • app.py:CLI入口点。
  • api.py:FastAPI应用程序入口点。
  • service.py:包含代理和MCP客户端初始化的核心逻辑。
  • requirements.txt:Python依赖关系。