使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 协议构建的天气信息服务器。它利用和风天气 API 实时获取天气数据,并以 MCP 服务器的形式对外提供天气查询服务。您可以将其集成到支持 MCP 协议的 LLM 应用中,让 LLM 能够查询实时的天气信息。

主要功能点

  • 实时天气查询: 提供指定城市当前的实时天气信息。
  • 和风天气API: 数据来源于可靠的和风天气 API。
  • 详细天气数据: 返回包括温度、体感温度、天气状况、风力、湿度、降水量等全面的天气信息。
  • Docker 部署: 支持使用 Docker 快速部署和运行。
  • SSE 传输协议: 默认使用 SSE (Server-Sent Events) 协议与 MCP 客户端通信。

安装步骤

  1. 准备 API 密钥: 访问 和风天气开放平台 注册账号并申请 API 密钥。您需要记录下您的 API 密钥,后续配置服务器时需要用到。

  2. 选择部署方式: 您可以选择 Docker 部署或者本地 Python 环境部署。推荐使用 Docker 部署,更加方便快捷。

    方式一:Docker 部署 (推荐)

    • 确保您的机器上已安装 Docker。
    • 执行以下命令拉取 Docker 镜像:
    docker pull bellababy/mcp-server-weather-python:1.0.0
    • 运行 Docker 容器,并将您的和风天气 API 密钥通过环境变量 'WEATHER_API_KEY' 传入。将 '你的API密钥' 替换为您申请到的 API 密钥。
    docker run -d -p 8000:8000 -e WEATHER_API_KEY=你的API密钥 bellababy/mcp-server-weather-python:1.0.0

    方式二:本地 Python 环境部署

    • 确保您的机器上已安装 Python 3.13.2 环境。
    • 下载仓库代码到本地并解压。
    • 安装依赖:打开终端,进入代码目录,执行命令 'pip install fastmcp httpx' (如果 'fastmcp' 未安装)。
    • 设置环境变量:在您的操作系统中设置名为 'WEATHER_API_KEY' 的环境变量,值为您的和风天气 API 密钥。
    • 运行服务器:在代码目录下,执行命令 'python weather.py sse'

服务器配置

对于 MCP 客户端(例如 CherryStudio),您需要配置以下信息以连接到天气 MCP 服务器。以下是 JSON 格式的配置信息,您需要根据您的实际部署情况进行调整。

{
  "serverName": "weather",
  "command": "docker",
  "args": [
    "run",
    "-d",
    "-p",
    "8000:8000",
    "-e",
    "WEATHER_API_KEY=YOUR_API_KEY",  // 请替换为您的和风天气 API 密钥
    "bellababy/mcp-server-weather-python:1.0.0"
  ],
  "transport": "sse",
  "serverUrl": "http://YOUR_SERVER_IP:8000" // 请替换为您的服务器 IP 地址或域名,如果本地运行则为 http://localhost:8000
}

参数注释:

  • 'serverName': 服务器名称,这里设置为 "weather"。
  • 'command': 运行服务器的命令,Docker 部署时为 "docker",本地 Python 部署时为 "python"。
  • 'args': 命令参数列表。
    • Docker 部署时,包含 'run', '-d', '-p', '8000:8000', '-e WEATHER_API_KEY=YOUR_API_KEY', 'bellababy/mcp-server-weather-python:1.0.0' 等 Docker 运行命令及其参数。 请务必替换 'YOUR_API_KEY' 为您实际的 API 密钥。
    • 本地 Python 部署时,例如 '["weather.py", "sse"]', 或者根据实际情况调整。
  • 'transport': 传输协议,这里设置为 "sse" (Server-Sent Events)。
  • 'serverUrl': MCP 服务器的访问地址,根据您的服务器部署地址进行设置。

注意: 如果您使用本地 Python 环境部署,请将 'command' 和 'args' 修改为相应的 Python 运行命令和参数,例如:

{
  "serverName": "weather",
  "command": "python",
  "args": [
    "weather.py",
    "sse"
  ],
  "transport": "sse",
  "serverUrl": "http://localhost:8000" // 本地运行时通常为 localhost
}

基本使用方法

配置完成后,在支持 MCP 协议的 LLM 客户端中,您可以使用 'get_weather' 工具查询天气。例如,在对话中可以这样提问:

"请告诉我北京今天天气怎么样"

LLM 客户端会识别到您想查询天气,并调用 'get_weather' 工具,参数为 "北京",然后将天气服务器返回的天气信息展示给您。

工具名称: 'get_weather'

工具参数:

  • 'city': 城市名称,字符串类型。例如 "北京", "上海", "London" 等。

工具返回值:

  • 天气信息字符串,包含详细的天气数据,如果查询失败则返回空字符串。

请确保您的 MCP 客户端已正确配置并连接到天气 MCP 服务器,并且已正确设置和风天气 API 密钥。

信息

分类

网页与API