使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 的天气信息服务器,旨在为LLM客户端提供标准化的天气数据访问能力。它通过调用美国国家气象局 (NWS) 的API,提供指定地区的天气预警和天气预报信息。
主要功能点
- 获取天气预警 (get_alerts): 根据美国州份代码,查询该地区当前生效的天气预警信息。
- 获取天气预报 (get_forecast): 根据经纬度坐标,查询未来几天的详细天气预报。
安装步骤
- 环境准备: 确保已安装 Python 3.7 或更高版本。建议使用虚拟环境以隔离项目依赖。
# 创建虚拟环境 (可选) python -m venv venv # 激活虚拟环境 (可选) source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows - 安装依赖: 使用 pip 安装 'mcp-server' 和 'httpx' 库。
pip install mcp-server httpx - 保存代码: 将提供的 'weather.py' 代码保存到本地文件。
服务器配置
MCP客户端需要配置以下JSON格式信息以连接到本MCP服务器。
{ "server_name": "weather", // 服务器名称,与 weather.py 代码中 FastMCP 初始化时指定的名称一致 "command": "python", // 启动服务器的命令,这里使用 python 解释器 "args": ["weather.py"] // 启动命令的参数,指定 weather.py 脚本文件 }
配置参数说明:
- 'server_name': 服务器的名称,必须与 'weather.py' 代码中 'FastMCP("weather")' 初始化的名称 '"weather"' 保持一致。
- 'command': 运行服务器程序的命令。由于 'weather.py' 是 Python 脚本,所以这里使用 'python' 命令来执行。
- 'args': 传递给 'command' 命令的参数列表。这里指定要运行的 Python 脚本文件名为 'weather.py'。
基本使用方法
- 启动服务器: 在安装好依赖并完成配置后,MCP客户端根据上述服务器配置启动 'weather' 服务器。服务器将在标准输入/输出 (stdio) 上等待客户端的 JSON-RPC 请求。
- 客户端调用工具: MCP客户端可以使用 JSON-RPC 协议向 'weather' 服务器发送请求,调用 'get_alerts' 和 'get_forecast' 工具,并传递相应的参数(州份代码或经纬度)。服务器将返回 JSON-RPC 响应,包含工具执行结果(天气预警或天气预报信息)。
示例 (MCP客户端请求调用 'get_alerts' 工具):
{ "jsonrpc": "2.0", "method": "call", "params": { "tool_name": "get_alerts", "arguments": { "state": "CA" // 查询加利福尼亚州的天气预警 } }, "id": "1" }
示例 (MCP客户端请求调用 'get_forecast' 工具):
{ "jsonrpc": "2.0", "method": "call", "params": { "tool_name": "get_forecast", "arguments": { "latitude": 34.0522, // 纬度 "longitude": -118.2437 // 经度 (洛杉矶) } }, "id": "2" }
信息
分类
网页与API