使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器示例,专注于提供天气信息服务。它通过定义和注册工具,允许LLM客户端调用以获取实时的美国天气预警和天气预报数据。
主要功能点
- 获取美国州级天气预警 (get_alerts): 查询指定美国州(两字母州代码)的实时天气预警信息。
- 获取地理位置天气预报 (get_forecast): 查询指定经纬度位置的未来天气预报信息。
安装步骤
- 环境准备: 确保已安装 Python 3.8 或更高版本。
- 安装依赖: 由于代码中使用了 'fastmcp' 和 'httpx' 库,您可能需要安装它们。 假设 'fastmcp' 库可以通过 pip 安装 (根据仓库信息,这只是一个示例,实际 'fastmcp' 库可能需要自行构建或获取):
请注意:如果 'fastmcp' 不是一个标准的 pip 包,您可能需要从其他来源获取并安装,或者仓库本身已经包含了 'fastmcp' 的实现。根据提供的仓库信息,'fastmcp' 可能是仓库作者为了示例目的而创建的一个简化版本,实际安装步骤可能需要参考 'fastmcp' 库的官方文档(如果存在)。pip install httpx # 假设 fastmcp 可以通过 pip 安装,如果实际情况不同,请参考 fastmcp 的安装说明 pip install fastmcp
服务器配置
为了让 MCP 客户端连接到此服务器,您需要在客户端配置中指定服务器的启动信息。以下是一个示例配置,请根据您的实际情况进行调整:
{ "serverName": "weather-server", "command": "python", "args": ["weather/weather.py"], "transport": "stdio" }
配置参数说明:
- 'serverName': 服务器名称,可以自定义,例如 "weather-server"。
- 'command': 启动服务器的命令,这里使用 'python' 解释器。
- 'args': 传递给 'python' 命令的参数,指定了服务器脚本的路径 'weather/weather.py'。 请确保此路径相对于您的 MCP 客户端的当前工作目录是正确的,或者使用绝对路径。
- 'transport': 指定通信协议为 'stdio',表示客户端和服务器通过标准输入/输出流进行通信。
请注意: 上述配置假设您的 MCP 客户端和 'mcp-server' 仓库在同一文件系统上,并且客户端能够执行 'python weather/weather.py' 命令来启动服务器。 实际部署时,您可能需要根据您的环境调整路径和配置。
基本使用方法
-
启动服务器: 在配置好 MCP 客户端后,当客户端尝试连接到 "weather-server" 时,客户端会根据您提供的配置启动 'weather/weather.py' 脚本作为 MCP 服务器。
-
调用工具: MCP 客户端可以使用 MCP 协议向服务器发送 JSON-RPC 请求来调用已注册的工具。
-
调用 'get_alerts' 工具示例 (伪代码,实际调用方式取决于 MCP 客户端的具体实现):
{ "jsonrpc": "2.0", "method": "call", "params": { "tool_name": "get_alerts", "arguments": { "state": "CA" } }, "id": 1 }这将请求服务器调用 'get_alerts' 工具,并传递参数 'state="CA"' (加利福尼亚州)。服务器将返回包含加州天气预警信息的 JSON-RPC 响应。
-
调用 'get_forecast' 工具示例 (伪代码):
{ "jsonrpc": "2.0", "method": "call", "params": { "tool_name": "get_forecast", "arguments": { "latitude": 34.0522, "longitude": -118.2437 } }, "id": 2 }这将请求服务器调用 'get_forecast' 工具,并传递经纬度参数。服务器将返回包含该位置天气预报信息的 JSON-RPC 响应。
-
-
查看响应: MCP 客户端会接收服务器返回的 JSON-RPC 响应,并根据响应内容处理天气信息。
请参考您的 MCP 客户端的文档,了解如何配置服务器连接以及如何发送 JSON-RPC 请求来调用工具。
信息
分类
网页与API