气象MCP服务器
一个简单的MCP(模型上下文协议)服务器,通过OpenMeteo API检索当前温度数据。
位置
坐标 : 51.836316614873176, 5.79300494667676
功能
- 工具:
get_temperature- 获取配置位置的当前温度
安装与使用
1.构建去Docker容器
docker-compose build2.启动服务器
docker-compose up -d服务器现在不断在后台运行。
3. 查看日志
docker-compose logs -f weather-mcp4. 停止
docker-compose downOpenWebUI集成
若要将此 MCP 服务器与 OpenWebUI 配合使用:
独立(本地测试)
服务器正在运行 http://localhost:8000 具有以下端点:
/sse-MCP服务器端点(SSE传输)/health-健康检查
通过Docker网络
- 将weather-mcp服务添加到与OpenWebUI相同的Docker网络
- 通过以下方式配置 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
