使用说明

项目简介

本项目是 Azure AI Agent Service 的 MCP 服务器实现,旨在将 Azure AI Foundry 中创建的智能代理无缝集成到任何兼容 MCP 协议的 LLM 客户端中。通过此服务器,您可以利用 Azure AI Foundry 强大的模型和知识工具(如 Azure AI Search 和 Bing Web Grounding),为您的 LLM 应用提供丰富的上下文和功能支持。

主要功能点

  • Azure AI Agent 集成: 连接并使用您在 Azure AI Foundry 中创建的现有 AI 代理。
  • 无缝工作流: 在任何 MCP 客户端中直接调用和使用 Azure AI 代理的功能。
  • 安全连接: 所有连接均使用 Azure 凭据进行身份验证,保障安全。
  • 会话记忆: 每个客户端会话维护独立的对话历史记录。
  • 工具: 提供 'connect_agent'、'query_default_agent' 和 'list_agents' 等工具,方便客户端与 Azure AI Agent 交互。
    • 'connect_agent': 连接到指定的 Azure AI Agent 并发送查询。
    • 'query_default_agent': 向默认配置的 Azure AI Agent 发送查询。
    • 'list_agents': 列出 Azure AI 项目中可用的所有 AI Agent。

安装步骤

  1. 环境准备:
    • 确保已安装 Python 3.10+。
    • 安装并配置 Azure CLI ('az')。
    • 在 Azure AI Foundry 中创建所需的 Azure AI Agents。
  2. 设置 Azure:
    • 获取 Azure AI 项目连接字符串 (Project Connection String)。
    • 记录需要连接的 Azure AI Agent 的 ID。
    • 使用 Azure CLI 登录 ('az login') 进行身份验证。
  3. 安装:
    • 克隆或下载此仓库的代码。
    • 进入项目根目录。
    • 创建并激活 Python 虚拟环境:
      python -m venv .venv
      source .venv/bin/activate  # macOS/Linux
      .venv\Scripts\activate  # Windows
    • 安装依赖:
      pip install mcp[cli] azure-identity python-dotenv azure-ai-projects aiohttp
  4. 配置环境变量:
    • 创建 '.env' 文件或设置系统环境变量。
    • 配置以下环境变量:
      PROJECT_CONNECTION_STRING=your-project-connection-string  # 必须:替换为你的 Azure AI 项目连接字符串
      DEFAULT_AGENT_ID=your-default-agent-id # 可选:默认代理 ID,如果需要使用 query_default_agent 工具则配置

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)连接,您需要在客户端的 MCP 服务器配置中添加以下 JSON 配置信息。请根据您的实际情况修改配置中的路径和环境变量。

使用 'uv' 启动 (推荐):

{
  "mcpServers": {
    "azure-agent": {  //  服务器名称,客户端中引用此名称
      "command": "uv", //  启动命令,这里使用 uv (如果使用 pip 安装,可以替换为 python)
      "args": [ //  启动参数
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER", //  替换为项目父文件夹的绝对路径
        "run",
        "-m",
        "azure_agent_mcp_server" //  运行 azure_agent_mcp_server 模块
      ],
      "env": { //  环境变量
        "PROJECT_CONNECTION_STRING": "your-project-connection-string", //  替换为你的 Azure AI 项目连接字符串
        "DEFAULT_AGENT_ID": "your-default-agent-id" //  可选:替换为你的默认代理 ID
      }
    }
  }
}

使用 'python' 启动:

{
  "mcpServers": {
    "azure-agent": {  // 服务器名称
      "command": "python", // 启动命令
      "args": [ // 启动参数
        "-m",
        "azure_agent_mcp_server" // 运行 azure_agent_mcp_server 模块
      ],
      "cwd": "/ABSOLUTE/PATH/TO/PARENT/FOLDER", // 替换为项目父文件夹的绝对路径
      "env": { // 环境变量
        "PYTHONPATH": "/ABSOLUTE/PATH/TO/PARENT/FOLDER", // 替换为项目父文件夹的绝对路径,确保 Python 可以找到模块
        "PROJECT_CONNECTION_STRING": "your-project-connection-string", // 替换为你的 Azure AI 项目连接字符串
        "DEFAULT_AGENT_ID": "your-default-agent-id"  // 可选:替换为你的默认代理 ID
      }
    }
  }
}

请注意:

  • 将 '/ABSOLUTE/PATH/TO/PARENT/FOLDER' 替换为 'mcp-foundry' 仓库所在父文件夹的绝对路径。
  • 将 'your-project-connection-string' 和 'your-default-agent-id' 替换为您的实际 Azure AI 项目连接字符串和默认代理 ID。
  • 'server name' (例如 "azure-agent") 可以自定义,在 MCP 客户端中通过此名称引用该服务器。

基本使用方法

  1. 启动 MCP 服务器:在项目根目录的 'src/python' 目录下,运行命令 'python -m azure_agent_mcp_server' (或使用 'uv run -m azure_agent_mcp_server') 启动服务器。
  2. 在 MCP 客户端中配置并连接到 'azure-agent' 服务器。
  3. 使用客户端提供的界面或命令,通过以下工具与 Azure AI Agent 交互:
    • 调用 'connect_agent' 工具,并传入 'agent_id' 和 'query' 参数,连接到指定的 Azure AI Agent 并发送查询。
    • 调用 'query_default_agent' 工具,并传入 'query' 参数,向默认配置的 Azure AI Agent 发送查询。
    • 调用 'list_agents' 工具,获取可用的 Azure AI Agent 列表。

具体工具调用方式和参数传递请参考 MCP 客户端的文档。

信息

分类

AI与计算