你没有天气mcp
一 主控程序 提供挪威天气数据的服务器 MET.no (yr.no)通过地理编码 Norkart/Geonorge用Go写的。
让任何支持MCP的人工智能助理访问实时挪威天气,这对家庭自动化代理、每日简报机器人、旅行计划助理或LLM需要推理挪威当前或即将到来的天气的任何场景都很有用。
特性
- 三种气象工具 --每日预报、每小时预报和降水详细信息
- 挪威地名地理编码 --只要说“卑尔根”或“特罗姆瑟”
- 协调支持 --通行证
lat,lon直接 - 缓存 --尊重MET.no
Expires标题;地理编码缓存24小时 - 不需要API密钥 --MET.no和Geonorge都是免费的公共API
- 缩放到零就绪 --轻量级的Go二进制,在Knative上运行良好
工具
| 工具 | 说明 |
|---|---|
get_forecast | 未来7天的每日天气摘要 |
get_hourly | 每小时预报(温度、风、降水、云) |
get_precipitation | 今日/明日/周的降水详情 |
所有工具都接受 location 参数——挪威地名(例如“卑尔根”、“特罗姆瑟”)或坐标 lat,lon (例如“60.39,5.32”)。
快速开始
在本地运行
go build -o yr .
./yr
# Test MCP protocol
mise run test:mcp默认情况下,服务器在端口8080上启动:
- 健康检查:
http://localhost:8080/health - MCP SSE端点:
http://localhost:8080/sse
码头工人
# Build
docker build -t yr-no-weather-mcp .
# Run
docker run -p 8080:8080 yr-no-weather-mcp环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
BASE_URL | http://localhost:8080 | SSE的公共基础URL |
与mcporter一起使用
麦克波特 可以作为远程MCP工具连接到此服务器:
# Call the forecast tool directly
mcporter call yr.get_forecast location=Bergen
# Get hourly weather for Oslo
mcporter call yr.get_hourly location=Oslo hours=6
# Check precipitation for the week
mcporter call yr.get_precipitation location=Tromsø period=week配置mcporter以指向您正在运行的实例(本地或部署的),任何兼容MCP的代理都可以使用天气工具。
建筑
MCP Client (mcporter, Claude, etc.)
│ HTTP/SSE (JSON-RPC)
▼
yr-no-weather-mcp (:8080)
│
├── api.met.no (weather data)
└── ws.geonorge.no (geocoding)- 实施 模型上下文协议 通过HTTP+SSE
- 用途 mcp走 软件开发工具包
- 用户代理标头设置 MET.no服务条款
- 无状态--所有缓存都在内存中
测试
go test -v ./...数据源
- 天气: MET.no位置预测2.0 -免费,不需要API密钥
- 地理编码: Geonorge语音名称API --挪威地名搜索,免费
这两个API均由挪威政府机构提供,可供公众免费使用。
许可证
麻省理工学院
