使用说明
项目简介
eShopLite MCP Server 是 eShopLite 示例电商应用套件中的一个组件,它实现了 Model Context Protocol (MCP) 服务器。该服务器的核心职责是作为 LLM 客户端的后端,以标准化的方式提供上下文信息和外部功能。通过集成资源管理、工具注册和 Prompt 模板等核心 MCP 功能,eShopLite MCP Server 旨在简化 LLM 应用的开发,并提供安全、可扩展的上下文服务框架。
主要功能点
- 资源管理 (Resources): 通过 Products 服务集成商品数据资源,为 LLM 提供商品信息访问能力,支持商品名称、描述、价格等属性的检索。
- 工具注册与执行 (Tools): 内置多种实用工具,允许 LLM 客户端调用外部功能:
- 'SemanticSearchProducts': 利用向量数据库和语义搜索技术,在商品目录中执行高效、精准的商品搜索。
- 'OnlineSearch': 集成在线搜索引擎(如 Bing Search),扩展 LLM 的知识边界,支持更广泛的信息查询。
- 'GetWeatherForCity': 提供实时的城市天气信息查询功能,方便 LLM 获取地理位置相关的上下文。
- 传输协议 (Transport Protocol): 采用 Server-Sent Events (SSE) 协议作为主要的客户端-服务器通信方式,实现高效、实时的双向数据传输。
- 易于部署和扩展: 基于 .NET Aspire 框架构建,易于容器化部署和云端扩展,可以方便地集成到现代微服务架构中。
- 示例应用场景: 适用于电商导购、智能客服、信息检索等多种 LLM 应用,为这些应用提供必要的上下文数据和外部功能调用能力。
安装步骤
- 安装必备软件: 确保您的开发环境已安装 .NET 9, Docker Desktop 或 Podman, Azure Developer CLI (azd) (可选,用于 Azure 部署), 以及 Git。
- 克隆仓库: 打开终端或命令提示符,执行命令 'git clone https://github.com/Azure-Samples/eShopLite.git' 克隆 eShopLite 仓库到本地。
- 导航到 MCP 服务器场景: 使用 'cd eShopLite/scenarios/06-mcp' 命令进入 MCP 服务器的场景目录。
- (可选)Azure 登录: 如果您计划将服务部署到 Azure 环境,请运行 'azd auth login' 并按照提示完成 Azure 账户登录。
- (可选)部署到 Azure: 如果您想在 Azure 上部署 eShopLite MCP 服务器及相关服务,可以执行 'azd up' 命令,并根据提示配置环境名称、订阅和位置等信息。
- 本地运行 MCP 服务器: 如果您选择本地运行,无需 Azure 部署。导航到 'eShopLite/scenarios/06-mcp/src/eShopMcpSseServer' 目录,然后执行 'dotnet run' 命令启动 MCP 服务器。
服务器配置
以下 JSON 配置信息可用于 MCP 客户端连接 eShopLite MCP 服务器。请根据您的实际部署情况调整服务器地址。
{ "serverName": "eShopLite-MCP-SSE-Server", // MCP 服务器的自定义名称 "command": "dotnet", // 启动服务器的命令,使用 dotnet 运行 .NET 项目 "args": [ // 命令参数 "run", // 运行命令 "--project", // 指定项目文件 "scenarios/06-mcp/src/eShopMcpSseServer/eShopMcpSseServer.csproj" // eShopMcpSseServer 项目文件路径 ] }
配置说明:
- 'serverName': 为您的 MCP 服务器定义一个易于识别的名称。
- 'command': 指定启动 MCP 服务器的命令,这里使用 'dotnet' 命令来运行 .NET 项目。
- 'args': 提供 'dotnet run' 命令所需的参数,包括指定要运行的 .NET 项目文件路径 'scenarios/06-mcp/src/eShopMcpSseServer/eShopMcpSseServer.csproj'。
基本使用方法
- 启动 eShopLite MCP 服务器: 按照上述安装步骤和服务器配置启动 eShopLite MCP 服务器。成功启动后,服务器将开始监听客户端的 SSE 连接请求。
- 配置 MCP 客户端连接: 在您的 MCP 客户端应用中,配置连接信息,指定 eShopLite MCP 服务器的 SSE 端点 URL。通常情况下,URL 为服务器地址加上 '/sse' 路径 (例如:'http://localhost:8080/sse',具体端口根据实际运行情况确定)。
- 客户端发送 MCP 请求: 使用 MCP 客户端库,构建符合 MCP 协议的 JSON-RPC 请求,通过已建立的 SSE 连接发送到 eShopLite MCP 服务器的 '/message' 端点。您可以调用服务器提供的工具,例如 'SemanticSearchProducts' 工具进行商品语义搜索,或 'OnlineSearch' 工具进行在线信息检索,或 'GetWeatherForCity' 查询天气信息。
- 服务器处理并返回响应: eShopLite MCP 服务器接收到客户端请求后,会根据请求内容执行相应的操作(例如,调用工具、访问资源等),并通过 SSE 连接将 JSON-RPC 响应或通知发送回 MCP 客户端。客户端接收并解析响应,即可获取所需的数据或执行结果。
信息
分类
网页与API