使用说明
项目简介
本项目是一个基于Model Context Protocol (MCP) 的服务器示例,专注于展示如何将 MCP 协议应用于 Azure OpenAI 服务。它实现了一个简单的 MCP 服务器,能够注册和执行工具,并通过 SSE (Server-Sent Events) 与 MCP 客户端进行通信。本示例旨在帮助开发者理解 MCP 服务器的基本架构和工作流程,并为构建更复杂的 MCP 应用后端提供参考。
主要功能点
- 工具注册与执行: 服务器端注册了名为 'calculate_sum' 的工具,用于计算两个数字的和。客户端可以调用此工具,服务器执行计算后返回结果。
- 基于 SSE 的通信: 使用 Server-Sent Events 作为 MCP 服务器和客户端之间的通信协议,实现实时的请求和响应。
- Azure OpenAI 集成: 虽然示例名称包含 Azure OpenAI,但服务器本身是通用的 MCP 服务器实现,可以与任何兼容 OpenAI API 的服务或模型配合使用。客户端代码展示了如何配置 Azure OpenAI 或标准 OpenAI API。
- 简单的请求处理: 服务器接收客户端的工具调用请求,执行相应的工具函数,并将结果以 MCP 响应格式返回。
安装步骤
- 克隆仓库:
git clone https://github.com/manekinekko/azure-openai-mcp-example.git cd azure-openai-mcp-example - 安装依赖:
npm install
服务器配置
MCP 服务器无需复杂的配置,主要关注如何启动和运行。客户端需要配置连接到此服务器的信息。
MCP 服务器启动命令 (command) 及其参数 (args):
{ "server name": "Azure OpenAI MCP Example Server", "command": "npm run start:server", "args": [], "description": "启动 Azure OpenAI MCP 示例服务器。默认监听端口为 4321,通过 SSE 协议提供 MCP 服务。", "connect_url": "http://localhost:4321/sse" }
参数注释:
- 'server name': 服务器的名称,用于标识和管理。
- 'command': 启动服务器的命令,这里使用 'npm run start:server' 运行 'package.json' 中定义的脚本。
- 'args': 启动命令的参数,本示例中无需额外参数,所以为空数组。
- 'description': 服务器的描述信息,方便用户理解服务器的作用。
- 'connect_url': 客户端连接服务器的关键地址。客户端需要配置此 URL 以建立 SSE 连接。本示例服务器运行在本地 'http://localhost:4321' 的 '/sse' 路径下。
注意: 客户端需要将 'connect_url' 配置为 'http://localhost:4321/sse' 才能连接到本示例服务器。
基本使用方法
-
启动 MCP 服务器: 在仓库根目录下,运行命令:
npm run start:server服务器启动后,会监听 4321 端口,并等待客户端连接。
-
启动 MCP 客户端: 在 新的终端窗口 中,同样在仓库根目录下,运行命令:
npm run start:client客户端启动后,会自动连接到运行在 'http://localhost:4321/sse' 的 MCP 服务器,并发送一个查询请求。
-
查看结果: 观察客户端和服务器端的控制台输出。客户端会输出 OpenAI API 的原始响应以及工具调用的最终结果。服务器端会输出接收到的工具调用请求和工具执行的日志。
预期输出类似 README 中所示的:工具 'calculate_sum' 被成功调用,并返回计算结果。
通过以上步骤,您可以快速体验和验证该 MCP 服务器示例的功能。您可以修改客户端的查询内容,或者在服务器端添加更多工具,以扩展和定制 MCP 服务器的功能。
信息
分类
AI与计算