使用说明
项目简介
本项目演示了一个使用 FastAPI 框架构建的远程 MCP 服务器,该服务器利用 Server-Sent Events (SSE) 技术,使得客户端能够通过 HTTP 协议安全且实时地访问服务器端注册的工具。此示例展示了如何将 MCP 协议应用于远程服务,为 LLM 应用提供网络化的上下文服务能力。
主要功能点
- MCP 服务器实现: 基于 'fastmcp' 框架构建 MCP 服务器,处理 MCP 协议的请求和响应。
- 远程工具调用: 通过 HTTP SSE 传输协议,实现客户端远程调用服务器端注册的工具。
- FastAPI 框架: 使用 FastAPI 构建 HTTP 服务,提供易于扩展和高性能的 Web 服务能力。
- SSE 实时通信: 采用 Server-Sent Events 技术,实现服务器向客户端的实时数据推送。
- 示例工具: 包含一个简单的 'get_weather' 工具,演示工具注册和远程调用的过程。
安装步骤
- 确保已安装 Python 环境。
- 导航到仓库目录的 'projects/mcp-sse' 文件夹。
- 安装项目依赖。虽然示例中没有明确列出依赖,但根据代码推测,可能需要安装 'fastapi', 'uvicorn', 'fastmcp', 'httpx' 等库。可以使用以下命令安装 (如果尚未安装):
pip install fastapi uvicorn fastmcp httpx
服务器配置
MCP 客户端需要配置以下信息以连接到此 MCP 服务器:
{ "server_name": "App", "command": "python", "args": ["server.py"] }
配置参数说明:
- 'server_name': MCP 服务器的名称,本示例中为 "App" (定义在 'server.py' 中)。
- 'command': 启动 MCP 服务器的命令,这里使用 'python' 解释器。
- 'args': 传递给启动命令的参数,这里指定运行 'server.py' 文件。
基本使用方法
-
启动 MCP 服务器: 在 'projects/mcp-sse' 目录下,运行以下命令启动 MCP 服务器:
python server.py服务器将会在 'http://localhost:8000' 地址启动并监听客户端连接。
-
运行 MCP 客户端: 在同一目录下,运行以下命令启动 MCP 客户端:
python client.py客户端将连接到运行中的 MCP 服务器,并执行以下操作:
- 发送 Ping 消息到服务器。
- 获取并打印服务器注册的工具列表。
- 调用 'get_weather' 工具,并打印工具返回的结果。
- 发起一个标准的 HTTP API 调用到服务器的 '/test' 路径,并打印返回的 JSON 数据。
通过以上步骤,可以体验基于 SSE 的远程 MCP 服务器的功能,并了解如何通过客户端调用服务器端工具。
信息
分类
网页与API