README
🚀 日本天气MCP服务器
这是一个基于模型上下文协议(MCP)的服务器,借助 weather.tsukumijima.net 提供的API,为用户提供日本天气的预报信息。
🚀 快速开始
本服务器可帮助你轻松获取日本各城市的天气信息,支持多种操作工具,让天气查询变得简单高效。
✨ 主要特性
- 🌤️ 获取日本各城市的天气预报。
- 📍 支持日本主要城市(东京、大阪、京都等)。
- 📊 提供详细的天气信息,包括温度、降水概率和风力状况。
- 🏢 数据来源于日本气象厅。
- 🔧 提供易于使用的MCP工具进行天气查询。
📦 安装指南
通过Smithery安装
若要通过 Smithery 为Claude Desktop自动安装 japanese-weather-mcp,可使用以下命令:
npx -y @smithery/cli install @kongyo2/japanese-weather-mcp --client claude
手动安装
- 克隆此仓库:
git clone https://github.com/kongyo2/Japanese-Weather-MCP
cd weather-mcp-server
- 安装依赖:
npm install
- 构建项目:
npm run build
💻 使用示例
开发模式
在开发模式下运行服务器:
npm run dev
生产模式
构建并运行服务器:
npm run build
npm start
📚 详细文档
可用工具
1. get_weather_forecast
通过城市ID获取日本任何城市的天气预报。 参数:
cityId(字符串):日本城市的城市ID(例如,东京的ID为 '130010')
示例:
{
"cityId": "130010"
}
2. get_available_city_ids
获取常见日本城市的可用城市ID列表。 参数:无 返回:包含可用城市ID及其对应名称的列表。
3. get_weather_by_city_name
通过城市名称获取常见日本城市的天气预报。 参数:
cityName(枚举):日本城市的名称- 选项:东京(TOKYO)、大阪(OSAKA)、京都(KYOTO)、福冈(FUKUOKA)、札幌(SAPPORO)、名古屋(NAGOYA)、横滨(YOKOHAMA)、神户(KOBE)、川崎(KAWASAKI)、广岛(HIROSHIMA)
示例:
{
"cityName": "TOKYO"
}
常见城市ID
| 城市 | ID | 都道府县 | | --------- | ------ | ---------- | | 东京 | 130010 | 东京都 | | 大阪 | 270000 | 大阪府 | | 京都 | 260010 | 京都府 | | 福冈 | 400010 | 福冈县 | | 札幌 | 016010 | 北海道 | | 名古屋 | 230010 | 爱知县 | | 横滨 | 140010 | 神奈川县 | | 神户 | 280010 | 兵库县 | | 川崎 | 140020 | 神奈川县 | | 广岛 | 340010 | 广岛县 |
如需更多城市ID,请访问:https://weather.tsukumijima.net/primary_area.xml
天气数据结构
天气预报包括:
-
基本信息:
- 发布时间和发布机构
- 位置详情(都道府县、城市、地区)
-
三天预报数据:
- 天气状况(天气描述)
- 温度(摄氏度和华氏度的最高/最低温度)
- 降水概率(6小时间隔)
- 详细天气信息
- 风力状况
- 浪高(沿海地区)
-
附加信息:
- 天气图标(SVG格式)
- 日本气象厅官方天气页面链接
API来源
此MCP服务器使用 weather.tsukumijima.net 提供的API,该API具有以下特点:
- 兼容Livedoor Weather API格式
- 数据来自日本气象厅
- 无需API密钥
- 免费使用
速率限制
请遵守以下API使用规则:
- 使用自定义的User-Agent头
- 避免快速连续请求
- 请求间隔至少保持0.5秒
错误处理
服务器具备全面的错误处理机制,可处理以下情况:
- 网络连接问题
- 无效的城市ID
- API服务不可用
- 数据解析错误
开发
项目结构
weather-mcp-server/
├── src/
│ ├── server.ts # 主要的MCP服务器实现
│ └── weather-api.ts # 天气API客户端
├── package.json
├── tsconfig.json
└── README.md
构建
npm run build
测试
npm test
代码检查
npm run lint
代码格式化
npm run format
📄 许可证
本项目采用MIT许可证,详情请参阅 LICENSE 文件。
贡献指南
- Fork此仓库
- 创建功能分支
- 进行修改
- 如有必要,添加测试
- 提交拉取请求
致谢
- weather.tsukumijima.net 提供天气API
- 日本气象厅提供天气数据
- FastMCP 提供MCP框架
支持
若你遇到任何问题或有疑问,请按以下步骤操作:
- 查看 weather.tsukumijima.net文档
- 检查可用的城市ID
- 确保遵守速率限制
- 在本仓库中创建一个问题
微信扫一扫