气象数据服务工具

一个通过BoM FTP XML数据源提供澳大利亚七个主要城市气象数据的MCP服务器工具。

  • by dalanmiller
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 dalanmiller/bureau-of-meteorology-mcp

使用说明

mcp bom天气

MCP(模型上下文协议)服务器的工具,该服务器通过BoM FTP XML提要公开澳大利亚气象局(BoM)七个主要城市的天气数据。

快速启动

  • 确保Python>=3.13并且 uv 已安装。
  • 安装: uv sync --extra dev (或 pip install -e .[dev]).
  • 棉绒/格式: ruff check --fix && ruff format.
  • 运行测试: pytest -q.
  • 运行FastMCP(stdio): scripts/run-fastmcp.sh --stdio.
  • 运行FastMCP HTTP(流式传输): scripts/run-fastmcp.sh --http --host 0.0.0.0 --port 4242.

CLI标志(FastMCP)

  • --stdio:使用stdio传输运行(如果未提供标志,则默认)。
  • --http:运行流式HTTP/SSE传输;与...结合 --host 和 --port 配置绑定地址。

FTP配置

  • 客户端从以下位置获取XML ftp://ftp.bom.gov.au/anon/gen/fwo/ 使用每个城市的精确产品ID mcp_bom_weather/config.py:
    • 悉尼: IDN60920墨尔本: IDV60920,布里斯班: IDQ60920阿德莱德: IDS60920达尔文: IDD60920珀斯: IDW60920霍巴特: IDT60920.
    • 文件是 {PRODUCT}.xml 在...之下 /anon/gen/fwo.

开放式WebUI集成(MCP)

  • 在打开WebUI中,转到设置→ 工具→ MCP服务器→ Add.
  • 姓名: bom-weather
  • 命令: uv run -q python -m mcp_bom_weather.fast_mcp_server --stdio
  • 工作目录:存储库根目录
  • 保存并测试。打开WebUI将通过stdio生成服务器并列出工具。

FastMCP HTTP(流式)传输

  • 开始: scripts/run-fastmcp.sh --http --host 0.0.0.0 --port 4242
  • Docker: docker build -t bom-mcp . && docker run -p 4242:4242 bom-mcp
  • 注意:Open WebUI当前使用stdio。支持HTTP/SSE的其他MCP主机可以连接到FastMCP端点。

有关完整的设计概要,请参阅PROMPT.md。