Japanese Weather MCP

Japanese Weather MCP

🚀 日本天气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

手动安装

  1. 克隆此仓库:
git clone https://github.com/kongyo2/Japanese-Weather-MCP
cd weather-mcp-server
  1. 安装依赖:
npm install
  1. 构建项目:
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 文件。

贡献指南

  1. Fork此仓库
  2. 创建功能分支
  3. 进行修改
  4. 如有必要,添加测试
  5. 提交拉取请求

致谢

支持

若你遇到任何问题或有疑问,请按以下步骤操作:

  1. 查看 weather.tsukumijima.net文档
  2. 检查可用的城市ID
  3. 确保遵守速率限制
  4. 在本仓库中创建一个问题

smithery徽章

询问DeepWiki

  • 0 关注
  • 0 收藏,7 浏览
  • system 提出于 2025-09-22 12:21

相似服务问题