天气数据服务

一个基于马来西亚官方开放数据门户的天气信息MCP服务器,提供天气预报、警告、洪水水位和地震报告等功能。

  • by yting27
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 yting27/weather-my-mcp

使用说明

气象MCP服务器

一个基本的模型上下文协议(MCP)服务器,提供从马来西亚官方开放数据门户网站的开放API检索的天气信息。此服务器使LLM能够获取天气预报、警报、与洪水相关的水位和地震报告。

API文件: data.gov.my

组件

工具

  1. 获取水位条件

    • 检索与指定地区或州的洪水警报相关的水位状况。 如果同时提供地区和州,则以地区为准。 如果未指定地区或州,请为该字段使用空字符串。

    • Args:

      • district:指定州内检索洪水预警条件的地区名称。
      • state:马来西亚检索洪水预警条件的州的名称。
  2. 获取_学习

    • 检索在指定日期范围内发布的一般天气警报。

    • Args:

      • datetime_start:最早的时间戳,格式为 YYYY-MM-DD HH:MM:SS (含)从中检索天气警报。如果省略,则默认为当前日期。
      • datetime_end:最新时间戳,格式为 YYYY-MM-DD HH:MM:SS (含)停止检索天气警报。如果省略,则默认为当前日期。
  3. get_weather_forecast

    • 检索给定日期范围内特定位置的天气预报。

    • Args:

      • location_name:检索预测的位置的名称或标识符。
      • date_start:开始检索天气预报的最早日期(包括首尾两天)。如果省略,则默认为当前日期。
      • date_end:停止检索天气预报的最新日期(包括首尾两天)。如果省略,则默认为当前日期。
  4. 地震新闻

    • 获取指定日期范围内给定地点的地震新闻。

    • Args:

      • 地点:地震发生地点的名称或标识符。
      • date_start:开始搜索地震新闻的最早日期(包括首尾两天)。如果省略,则默认为当前日期。
      • date_end:停止搜索地震新闻的最新日期(含)。如果省略,则默认为当前日期。

Claude桌面配置

将以下内容添加到 claude_desktop_config.json 文件。有关更多信息,请参阅 适用于Claude桌面用户.

使用 uv

{
    "mcpServers": {
        "weather": {
            "command": "uv",
            "args": [
                "--directory",
                "weather-my-mcp",
                "run",
                "weather.py"
            ]
        }
    }
}

使用Docker

  1. 创建docker镜像

    docker build . --tag weather-my-mcp
    
  2. 编辑 claude_desktop_config.json 文件如下:

    {
        "mcpServers": {
            "weather": {
                "command": "docker",
                "args": [
                    "run",
                    "-i",
                    "--rm",
                    "weather-my-mcp"
                ]
            }
        }
    }
    

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。