使用说明
项目简介
本项目是OpenAI Agents SDK的学习示例仓库的一部分,专注于演示Model Context Protocol (MCP) 服务器的实现。其中 'server.py' 文件实现了一个基于 FastMCP 框架的简易MCP服务器。该服务器旨在展示如何利用 OpenAI Agents SDK 构建 MCP 服务器,并提供工具注册和 Server-Sent Events (SSE) 传输支持,以便与 MCP 客户端进行交互。
主要功能点
- MCP服务器实现: 基于 'mcp.server.fastmcp' 框架,实现了符合 MCP 协议的服务器端。
- 工具注册: 通过装饰器 '@mcp.tool()' 简单地将 Python 函数注册为 MCP 工具,方便 LLM 客户端调用。
- 示例工具: 内置了 'add' (加法计算), 'get_secret_word' (获取随机秘密词), 'get_current_weather' (获取城市天气) 等演示工具,展示工具的功能。
- SSE传输: 支持 Server-Sent Events (SSE) 传输协议,用于与 MCP 客户端进行实时的、基于事件的通信。
安装步骤
- 环境准备: 确保您的系统已安装 Python 环境。建议使用 Python 3.8 或更高版本。
- 克隆仓库: 将本 GitHub 仓库克隆到本地计算机。
git clone https://github.com/GongRzhe/OpenAI-Agents-SDK-Learn.git cd OpenAI-Agents-SDK-Learn - 安装依赖: 在仓库根目录下,运行 pip 命令安装项目所需的 Python 依赖包。
pip install -r requirements.txt
服务器配置
本 MCP 服务器主要通过命令行启动,无需复杂的配置文件。对于需要连接到此服务器的 MCP 客户端,您需要提供以下配置信息。这些信息通常以 JSON 格式配置在 MCP 客户端中,用于描述如何连接和启动 MCP 服务器。
{ "server name": "Echo Server", "command": "uvx", "args": ["run", "server.py"], "transport": "sse" }
配置信息参数注释:
- 'server name': 服务器的名称,可以自定义,用于在客户端标识不同的 MCP 服务器连接。例如 "Echo Server"。
- 'command': 启动 MCP 服务器的命令。本示例使用 'uvx' 运行 'server.py' 文件。请确保您已安装 'uvx', 'uvx' 是一个快速的 Python 包安装器和运行器,这里用于启动 Python 服务器脚本。
- 'args': 传递给启动命令的参数列表。对于本示例,参数是 '["run", "server.py"]',指示 'uvx' 运行 'server.py' 文件。
- 'transport': MCP 服务器使用的传输协议。这里配置为 'sse',表示使用 Server-Sent Events 协议进行通信。
注意: MCP 客户端需要根据以上配置信息,使用 'uvx run server.py' 命令在后台启动 'server.py',并使用 SSE 协议与服务器建立连接。客户端无需手动配置端口和主机名,这些已在 'server.py' 中预设 (host="localhost", port=8001)。
基本使用方法
- 启动服务器: 打开终端,进入仓库根目录,运行以下命令启动 MCP 服务器。 请确保已安装 'uvx' ('pop install uvx')
服务器默认会在 'http://localhost:8001/sse' 启动并监听 SSE 连接。uvx run server.py - 运行 MCP 客户端: 使用仓库中提供的 'v9_mcp_sse.py' 或其他兼容 MCP 协议的客户端代码连接到服务器。'v9_mcp_sse.py' 示例代码演示了如何通过 SSE 传输协议与本服务器进行交互,并调用服务器提供的 'add', 'get_weather', 'get_secret_word' 等工具。
例如,运行 'v9_mcp_sse.py':
客户端将发送请求到服务器,并显示服务器返回的结果,例如工具的执行结果。python v9_mcp_sse.py
通过以上步骤,您可以快速搭建并运行本示例 MCP 服务器,体验 MCP 协议在实际应用中的工作流程。
信息
分类
开发者工具