天气数据服务

一个通过OpenMeteo API获取实时温度数据的MCP服务器,适用于需要集成天气信息的应用场景。

  • by jeroen-klaver
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 jeroen-klaver/weer-mcp

使用说明

气象MCP服务器

一个简单的MCP(模型上下文协议)服务器,通过OpenMeteo API检索当前温度数据。

位置

坐标 : 51.836316614873176, 5.79300494667676

功能

  • 工具: get_temperature - 获取配置位置的当前温度

安装与使用

1.构建去Docker容器

docker-compose build

2.启动服务器

docker-compose up -d

服务器现在不断在后台运行。

3. 查看日志

docker-compose logs -f weather-mcp

4. 停止

docker-compose down

OpenWebUI集成

若要将此 MCP 服务器与 OpenWebUI 配合使用:

独立(本地测试)

服务器正在运行 http://localhost:8000 具有以下端点:

  • /sse -MCP服务器端点(SSE传输)
  • /health -健康检查

通过Docker网络

  1. 将weather-mcp服务添加到与OpenWebUI相同的Docker网络
  2. 通过以下方式配置 OpenWebUI 以使用 MCP 服务器: http://weather-mcp-server:8000/sse

配置 docker-compose

将 docker-compose.yml 添加到 OpenWebUI:

services:
  open-webui:
    # ... je bestaande OpenWebUI config
    environment:
      - MCP_SERVERS=weather:http://weather-mcp-server:8000/sse
    networks:
      - webui-network

  weather-mcp:
    build: ./weer-mcp
    container_name: weather-mcp-server
    restart: unless-stopped
    ports:
      - "8000:8000"
    networks:
      - webui-network

networks:
  webui-network:
    driver: bridge

示例工具调用

当你在OpenWebUI中查询天气时,AI可以 get_temperature 使用工具:

Vraag: "Wat is de huidige temperatuur?"
Tool: get_temperature
Resultaat: "Current temperature: 8.5°C"

技术

  • Python 3.11
  • MCP-SDK -模型上下文协议
  • OpenMeteo API 的 - 免费天气API
  • httpx -异步HTTP客户端

依赖项

  • mcp>=1.0.0
  • httpx>=0.27.0