该仓库是 Azure AI Foundry Agentic Workshop 的一部分,重点展示了如何构建和部署智能代理解决方案。其中包含了几个基于 Model Context Protocol (MCP) 实现的服务器组件,用于向大型语言模型 (LLM) 客户端提供标准化的工具和上下文服务。
主要功能点
该仓库中的 MCP 服务器实现专注于工具的暴露和管理,主要包含以下几个服务:
- Azure AI Search MCP 服务器: 将 Azure AI Search 的混合搜索能力封装为 MCP 工具,使 LLM 能够通过结构化调用查询外部知识库(文档数据)。
- OpenAPI Wrapper MCP 服务器: 通过解析 OpenAPI 规范,将现有的 RESTful API(本例中是模拟的数据中心能源使用 API)自动转换为 MCP 工具,方便 LLM 调用外部业务功能。
- 基础工具 MCP 服务器: 暴露一些简单的、硬编码的功能(如天气查询、单位转换)作为 MCP 工具,演示基础工具的实现方式。
这些 MCP 服务器共同为 LLM 提供了一个丰富的工具集,支持代理执行 RAG、调用外部 API 获取实时数据等任务。
安装步骤
- 该项目作为一个完整的 Azure AI Foundry Workshop 提供,其安装涉及 Azure 资源的部署和代码环境的配置。
- 请参考仓库根目录下的 'README.md' 文件以及 'docs/deployment.md' 文档,按照详细步骤完成整个工作坊环境的搭建。这包括部署 Azure AI Foundry、Azure AI Search、Azure Functions、Azure Web App 等所需服务。
- MCP 服务器会作为 Web App 或其他计算资源的一部分进行部署和运行。
服务器配置
MCP 客户端(如 LLM 代理框架)需要配置与这些 MCP 服务器建立连接。配置信息通常以 JSON 格式提供,包含服务器的连接细节。对于本项目中的 MCP 服务器,典型的客户端配置参数包括:
- 'name': MCP 服务器的名称,例如:"Server for Azure AI Search", "Data Center Energy Usage Service", "Weather"。客户端可以使用此名称来识别和选择目标服务。
- 'url': MCP 服务器的连接地址。这取决于服务实际部署后的域名或 IP 地址、端口以及消息路径(例如,'/search/messages/', '/energy/messages/', '/weather/messages/')。具体的 URL 需要在部署完成后获取。
- 'transport': 使用的传输协议,本项目中的示例配置为 '"sse"' (Server-Sent Events)。
- 其他可能的参数:如认证凭据等,取决于具体的部署安全设置。
请查阅您使用的 MCP 客户端或代理框架的文档,了解如何加载和使用此类 MCP 服务配置。
基本使用方法
一旦 MCP 服务器成功部署并运行,并且 LLM 客户端配置了连接信息,LLM 代理即可通过标准化的 MCP 协议调用暴露的工具:
- LLM 客户端向 MCP 服务器发送 JSON-RPC 请求,请求执行某个特定的工具,并附带必要的参数(例如,调用搜索工具时提供搜索查询)。
- MCP 服务器接收请求,执行对应的后台逻辑(如调用 Azure AI Search API、调用封装的 REST API、执行 Python 函数)。
- MCP 服务器将工具执行的结果封装在 JSON-RPC 响应中返回给 LLM 客户端。
- LLM 客户端接收结果,并将其用于生成回复或规划下一步行动。
例如,LLM 代理可能会识别用户查询需要搜索文档,然后向 "Server for Azure AI Search" MCP 服务发送一个 'tool_call' 请求,指定 'hybrid_search' 工具和用户查询作为参数。服务器执行搜索并将结果返回给代理。
信息
分类
AI与计算