使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 协议构建的天气信息服务器。它利用和风天气 API 实时获取天气数据,并以 MCP 服务器的形式对外提供天气查询服务。您可以将其集成到支持 MCP 协议的 LLM 应用中,让 LLM 能够查询实时的天气信息。
主要功能点
- 实时天气查询: 提供指定城市当前的实时天气信息。
- 和风天气API: 数据来源于可靠的和风天气 API。
- 详细天气数据: 返回包括温度、体感温度、天气状况、风力、湿度、降水量等全面的天气信息。
- Docker 部署: 支持使用 Docker 快速部署和运行。
- SSE 传输协议: 默认使用 SSE (Server-Sent Events) 协议与 MCP 客户端通信。
安装步骤
-
准备 API 密钥: 访问 和风天气开放平台 注册账号并申请 API 密钥。您需要记录下您的 API 密钥,后续配置服务器时需要用到。
-
选择部署方式: 您可以选择 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