天气 MCP 服务器
一个基础的模型上下文协议 (MCP) 服务器,提供从马来西亚官方开放数据门户的开放 API 检索的天气信息。该服务器使 LLM 能够获取天气预报、警报、洪水相关水位以及地震报告。
API 文档: data.gov.my
成分
工具
- 获取水位条件
- 检索指定地区或州的洪水警报相关的水位状况。如果同时提供地区和州,则以地区为准。如果未指定地区或州,则该字段为空字符串。
- 参数:
- 区:指定州内要检索洪水预警情况的地区名称。
- 州:要检索洪水预警情况的马来西亚州的名称。
- 获取警告
- 检索指定日期范围内发布的一般天气警告。
- 参数:
- datetime_start:以
YYYY-MM-DD HH:MM:SS
(含)格式表示的最早时间戳,用于获取天气预警信息。如果省略,则默认为当前日期。 - datetime_end:以
YYYY-MM-DD HH:MM:SS
(含)格式表示的停止检索天气预警的最晚时间戳。如果省略,则默认为当前日期。
- 获取天气预报
- 检索给定日期范围内特定位置的天气预报。
- 参数:
- location_name:检索预报的位置的名称或标识符。
- date_start:开始检索天气预报的最早日期(含)。如果省略,则默认为当前日期。
- date_end:停止检索天气预报的最晚日期(含)。如果省略,则默认为当前日期。
- 获取地震新闻
- 获取指定日期范围内特定地点的地震新闻。
- 参数:
- 位置:地震发生地点的名称或标识符。
- date_start:开始搜索地震新闻的最早日期(含)。如果省略,则默认为当前日期。
- date_end:停止搜索地震新闻的最晚日期(含)。如果省略,则默认为当前日期。
Claude桌面配置
在claude_desktop_config.json
文件中添加以下内容。更多信息,请参阅Claude Desktop 用户指南。
使用uv
{
"mcpServers": {
"weather": {
"command": "uv",
"args": [
"--directory",
"weather-my-mcp",
"run",
"weather.py"
]
}
}
}
使用 Docker
- 创建docker镜像
docker build . --tag weather-my-mcp
- 编辑
claude_desktop_config.json
文件如下:{
"mcpServers": {
"weather": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"weather-my-mcp"
]
}
}
}
执照
此 MCP 服务器采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。