使用说明
项目简介
本项目 'MCP-Server-Practice' 是一个用于演示 Model Context Protocol (MCP) 服务器功能的实践项目。它实现了一个简单的天气信息查询服务器,通过定义工具 (Tools) 的方式,向 LLM 客户端提供获取天气预报和警报的功能。
主要功能点
- 提供天气预报工具 (get_forecast): 根据经纬度查询指定位置的未来天气预报,包括温度、风速风向和详细预报信息。
- 提供天气警报工具 (get_alerts): 查询美国特定州的天气警报信息,包括事件类型、影响区域、严重程度、描述和指导。
- 基于 FastMCP 框架: 使用 'fastmcp' 库简化 MCP 服务器的开发,易于理解和扩展。
- 使用标准 Stdio 传输协议: 通过标准输入输出 (stdio) 与 MCP 客户端通信,配置简单。
安装步骤
- 环境准备: 确保你的系统已安装 Python 3.6 或更高版本。
- 获取代码: 从 GitHub 仓库 https://github.com/mybarefootstory/MCP-Server-Practice 下载或克隆代码。
- 进入目录: 使用命令行工具进入代码所在的目录。
服务器配置
MCP 客户端需要配置以下 JSON 信息来连接到此 MCP 服务器。请注意,这里的配置是针对 'stdio' 传输协议的,客户端需要能够执行本地命令并与其标准输入输出进行交互。
{ "serverName": "weather", // 服务器名称,可以自定义,用于在客户端标识服务器 "command": "python", // 启动服务器的命令,这里使用 python 解释器 "args": ["weather.py"], // 启动命令的参数,指定要运行的 weather.py 文件 "transport": "stdio" // 指定传输协议为标准输入输出 (stdio) }
配置说明:
- 'serverName': 为服务器指定一个名称,客户端可以使用此名称来区分不同的 MCP 服务器。
- 'command': 指定用于启动服务器进程的命令。在本例中,我们使用 'python' 命令来运行 Python 脚本。
- 'args': 一个字符串数组,包含传递给启动命令的参数。这里我们指定了 'weather.py' 文件作为 Python 脚本的参数,即要运行的服务器代码文件。
- 'transport': 指定 MCP 服务器使用的传输协议。'stdio' 表示使用标准输入和标准输出进行通信,这是一种简单且常用的方式,特别适合本地运行的服务器。
基本使用方法
配置好 MCP 客户端后,客户端可以通过 JSON-RPC 协议向此服务器发送请求,调用 'get_alerts' 和 'get_forecast' 工具。
- 调用 'get_alerts' 工具: 客户端需要提供美国州份的两位代码(例如 "CA" 代表加利福尼亚州)作为参数。服务器将返回该州当前的天气警报信息。
- 调用 'get_forecast' 工具: 客户端需要提供地理位置的经度和纬度坐标作为参数。服务器将返回该位置的未来天气预报信息。
客户端发送请求后,服务器会处理请求并返回 JSON-RPC 响应,其中包含工具执行的结果(例如天气信息)。客户端接收到响应后,可以根据需要将信息呈现给用户或用于后续的 LLM 处理。
信息
分类
网页与API