项目简介

这是一个基于 Model Context Protocol (MCP) 的天气服务器示例,展示了如何创建一个提供天气信息服务的 MCP 服务器。该服务器通过工具的形式提供天气预报和气象警报查询功能,可以与任何兼容 MCP 协议的客户端进行交互。

主要功能点

  • 天气预报查询: 提供 'get_forecast' 工具,允许客户端根据经纬度查询指定地点的天气预报信息。
  • 气象警报查询: 提供 'get_alerts' 工具,允许客户端根据美国州代码查询当前生效的气象警报。
  • 标准MCP协议: 服务器基于 FastMCP 框架构建,使用标准的 MCP 协议与客户端通信,支持 Stdio 传输协议。

安装步骤

该天气服务器示例无需额外安装步骤。您只需确保安装了 Python 3.11 或更高版本,以及项目依赖。

  1. 安装依赖 (可选): 如果您希望独立运行该示例,可以导航到 'mcp-server-example' 目录,并使用 'uv pip install -e .' 或 'pip install -e .' 安装所需的依赖库 (如 'mcp' 和 'httpx')。实际上直接运行 'weather.py' 也会提示安装缺少的库。

服务器配置

MCP 服务器是为 MCP 客户端提供服务的后端应用。客户端需要配置如何连接和启动 MCP 服务器。以下是一个配置示例,用于 MCP 客户端 (例如 'mcp-client' 仓库本身) 的 'mcp_config.json' 配置文件中。客户端通过此配置来了解如何启动和连接到天气服务器。

{
    "mcpServers": {
        "weather": {
            "name": "天气服务器示例",
            "description": "提供天气预报和气象警报查询服务",
            "command": "python",
            "args": [
                "weather.py"
            ]
        }
    }
}

配置参数说明:

  • 'weather': 服务器的ID,客户端通过此ID来识别和连接服务器。可以自定义。
  • 'name': 服务器的名称,用于在客户端界面显示,方便用户识别。可以自定义。
  • 'description': 服务器的描述信息,对服务器功能进行简要介绍。可以自定义。
  • 'command': 启动服务器的命令。这里设置为 'python',表示使用 Python 解释器。
  • 'args': 启动服务器命令的参数列表。这里设置为 '["weather.py"]',表示运行 'weather.py' 脚本。

注意: 上述配置假设 'weather.py' 脚本位于 MCP 客户端能够找到的路径下。在实际使用中,您可能需要提供 'weather.py' 脚本的绝对路径或确保脚本在 Python 的运行路径中。

基本使用方法

  1. 启动天气服务器: 打开终端,导航到 'mcp-server-example' 目录,运行命令 'python weather.py' 以启动天气服务器。服务器将通过 Stdio 协议等待客户端连接。
  2. 配置 MCP 客户端: 编辑 MCP 客户端的配置文件 ('mcp_config.json'),添加上述服务器配置信息。确保客户端能够读取到此配置文件。
  3. 使用 MCP 客户端: 使用 MCP 客户端连接到配置中 ID 为 'weather' 的服务器。连接成功后,您可以使用客户端提供的工具列表功能查看 'get_forecast' 和 'get_alerts' 工具。
  4. 调用工具: 通过 MCP 客户端,您可以调用 'get_forecast' 工具查询天气预报(需要提供经纬度参数),或调用 'get_alerts' 工具查询气象警报(需要提供美国州代码)。

信息

分类

网页与API