README
🚀 双源天气 MCP 服务器
这是一个基于 Model Context Protocol (MCP) 的天气服务器,借助和风天气和心知天气 API 来提供天气数据。它支持故障转移功能,还能优先获取最快响应,为用户提供高效、稳定的天气信息服务。
🚀 快速开始
本服务器使用和风天气和心知天气 API 提供天气数据,支持故障转移和优先获取最快响应。以下是使用该服务器的基本步骤:
- 安装服务器(具体安装步骤见下方“📦 安装指南”)。
- 获取 API 密钥(具体获取方式见下方“API 密钥获取”)。
- 运行服务器(具体运行命令见下方“运行”)。
- 配置客户端(如在 Claude Desktop 中配置,具体配置方法见下方“在 Claude Desktop 中配置”)。
✨ 主要特性
- 丰富的天气查询功能:
- 可查看当前天气(作为资源提供)。
- 能获取指定城市的当前天气(工具)。
- 可获取指定城市的天气预报(工具)。
- 智能的 API 源选择:同时使用多个 API 源,自动选择最快响应的结果。
- 全面的天气数据支持:支持最低/最高温度、湿度和风速数据。
📦 安装指南
# 克隆仓库
git clone <repository-url>
cd weather-mcp-server
# 安装依赖
npm install
# 配置环境变量
cp .env.example .env
# 编辑 .env 文件,添加你的API密钥
📚 详细文档
API 密钥获取
和风天气 API
- 访问 和风天气开发服务。
- 注册账号并创建应用。
- 在控制台获取 API Key。
心知天气 API
- 访问 心知天气开发服务。
- 注册账号并创建应用。
- 在控制台获取 API Key。
开发
# 构建项目
npm run build
# 监视模式(自动重新构建)
npm run watch
运行
npm start
MCP 模式说明
本服务器仅支持 Model Context Protocol (MCP) 模式运行,不提供 HTTP 服务器功能。MCP 是一种专为大型语言模型设计的协议,允许模型与外部工具和资源进行交互。
MCP 服务器特点
- 使用标准输入/输出(stdio)与客户端通信。
- 提供资源和工具供大型语言模型使用。
- 支持结构化数据交换和错误处理。
可用资源
weather://{city}- 获取指定城市的当前天气。
可用工具
getCurrentWeather- 获取指定城市的当前天气。getForecast- 获取指定城市的天气预报(支持 1 - 7 天)。
在 Claude Desktop 中配置
编辑 Claude Desktop 配置文件:
// macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
// Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"weather": {
"command": "node",
"args": ["你的完整路径/weather-mcp-server/build/index.js"],
"env": {
"QWEATHER_API_KEY": "你的和风天气API密钥",
"SENIVERSE_API_KEY": "你的心知天气API密钥"
}
}
}
}
调试
查看 MCP 的日志:
# macOS
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
使用 MCP Inspector 调试
npx @modelcontextprotocol/inspector node 你的完整路径/weather-mcp-server/build/index.js
然后在浏览器中访问 http://localhost:5173。
故障转移机制
此服务器同时使用多个天气 API 源:
- 首先并行向和风天气和心知天气发送请求。
- 采用最先返回响应的 API 结果。
- 如果某个 API 失败,将自动切换到备用 API。
- 支持最低/最高温度、湿度和风速数据。
技术文档
🤝 贡献
欢迎提交问题和拉取请求!请参考 贡献指南 了解如何参与。
📄 许可证
效果图

Scan to join WeChat group