A weather MCP server built with FastMCP
Project description
天气 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 使用自然语言命令与天气服务进行交互,例如:
- "查看北京的天气"
- "东京现在的温度是多少"
- "伦敦的天气情况如何"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
|