天气 MCP 服务器
这是一个基于 FastMCP 构建的天气查询服务器,提供城市天气信息查询服务。
功能特点
- 支持全球城市天气查询
- 提供温度、湿度和天气描述信息
- 支持摄氏度和华氏度温度单位切换
- 基于 Model Context Protocol (MCP) 实现
- 完整的日志记录
安装要求
- Python 3.8+
- OpenWeatherMap API 密钥
- uv (Python 包管理工具)
快速开始
- 克隆仓库:
git clone <repository-url>
cd weather-mcp-server
- 安装依赖:
make install
- 设置环境变量:
创建
.env文件并添加以下内容:
OPENWEATHER_API_KEY=你的OpenWeatherMap_API密钥
- 运行服务器:
make run
安装和使用
选项 1:使用 uvx(推荐)
使用 uvx 将自动从 PyPI 安装包,无需克隆仓库。将以下配置添加到 Claude Desktop 的配置文件 claude_desktop_config.json 中:
{
"mcpServers": {
"weather-mcp-server": {
"command": "uvx",
"args": [
"weather-mcp-server"
],
"env": {
"OPENWEATHER_API_KEY": "你的OpenWeatherMap_API密钥"
}
}
}
}
选项 2:本地开发模式
- 克隆仓库并安装依赖:
git clone <repository-url>
cd weather-mcp-server
make install
- 设置环境变量:
创建
.env文件并添加以下内容:
OPENWEATHER_API_KEY=你的OpenWeatherMap_API密钥
- 在 Claude Desktop 配置文件中添加:
{
"mcpServers": {
"weather": {
"command": "uv",
"args": [
"--directory",
"path/to/src/weather_mcp_server",
"run",
"weather-mcp-server"
],
"env": {
"OPENWEATHER_API_KEY": "你的OpenWeatherMap_API密钥"
}
}
}
}
配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
重启 Claude Desktop 以加载新的 MCP 服务器。
开发
本项目使用 Makefile 来简化常用命令。
可用命令
make install # 安装依赖
make format # 格式化代码
make lint # 运行代码检查
make clean # 清理临时文件
make run # 运行服务器
发布新版本
make release version=v0.1.0
MCP 工具
服务器提供以下 MCP 工具:
get_weather
获取指定城市的天气信息。
参数:
city: 城市名称(必填)units: 温度单位(可选,默认为 "metric")- "metric": 摄氏度
- "imperial": 华氏度
示例请求:
{
"name": "get_weather",
"kwargs": {
"city": "Beijing",
"units": "metric"
}
}
示例响应:
{
"temperature": 20.5,
"humidity": 65,
"description": "晴",
"city": "Beijing"
}
现在您可以通过 Claude 使用自然语言命令与天气服务进行交互,例如:
- "查看北京的天气"
- "东京现在的温度是多少"
- "伦敦的天气情况如何"
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
weather_mcp_server-1.0.1.tar.gz
(17.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file weather_mcp_server-1.0.1.tar.gz.
File metadata
- Download URL: weather_mcp_server-1.0.1.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c245dff1263256d5895d62f9038ca724934b3bd103a096c8226e61f6d245a3c
|
|
| MD5 |
22077e566fdb8d7732a888de57a50fe9
|
|
| BLAKE2b-256 |
4add6b71a322cc9cd536f2638538be424e8e53b042ec6e34704c866c364a7310
|
File details
Details for the file weather_mcp_server-1.0.1-py3-none-any.whl.
File metadata
- Download URL: weather_mcp_server-1.0.1-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94b009854c7858dd7f865b72f9163a5e5ed6132d1ffd6de877e032b7f2952a98
|
|
| MD5 |
d7276921d0efc9fd6ef6dbf63ee67b76
|
|
| BLAKE2b-256 |
8745cc3f43ddffef1667c1b821fe5f5930198f807a8a85a8265487304e68103f
|