Install
$ agentstack add mcp-starefossen-yr-no-weather-mcp ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
yr-no-weather-mcp
An MCP server providing Norwegian weather data from MET.no (yr.no) with geocoding via Norkart/Geonorge. Written in Go.
Give any MCP-capable AI assistant access to real-time Norwegian weather — useful for home automation agents, daily briefing bots, trip planning assistants, or any scenario where an LLM needs to reason about current or upcoming weather in Norway.
Features
- Three weather tools — daily forecast, hourly forecast, and precipitation details
- Norwegian place name geocoding — just say "Bergen" or "Tromsø"
- Coordinate support — pass
lat,londirectly - Caching — respects MET.no
Expiresheaders; geocoding cached for 24h - No API keys required — both MET.no and Geonorge are free public APIs
- Scale-to-zero ready — lightweight Go binary, works great on Knative
Tools
| Tool | Description | | ------------------- | --------------------------------------------------- | | get_forecast | Daily weather summary for next 7 days | | get_hourly | Hourly forecast (temperature, wind, precip, clouds) | | get_precipitation | Precipitation details for today/tomorrow/week |
All tools accept a location parameter — either a Norwegian place name (e.g. "Bergen", "Tromsø") or coordinates as lat,lon (e.g. "60.39,5.32").
Quick Start
Run locally
go build -o yr .
./yr
# Test MCP protocol
mise run test:mcp
The server starts on port 8080 by default:
- Health check:
http://localhost:8080/health - MCP SSE endpoint:
http://localhost:8080/sse
Docker
# Build
docker build -t yr-no-weather-mcp .
# Run
docker run -p 8080:8080 yr-no-weather-mcp
Environment Variables
| Variable | Default | Description | | ---------- | ----------------------- | ----------------------- | | BASE_URL | http://localhost:8080 | Public base URL for SSE |
Usage with mcporter
mcporter can connect to this server as a remote MCP tool:
# 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
Configure mcporter to point at your running instance (locally or deployed) and any MCP-compatible agent can use the weather tools.
Architecture
MCP Client (mcporter, Claude, etc.)
│ HTTP/SSE (JSON-RPC)
▼
yr-no-weather-mcp (:8080)
│
├── api.met.no (weather data)
└── ws.geonorge.no (geocoding)
- Implements the Model Context Protocol over HTTP+SSE
- Uses mcp-go SDK
- User-Agent header set per MET.no Terms of Service
- Stateless — all caching is in-memory
Testing
go test -v ./...
Data Sources
- Weather: MET.no Locationforecast 2.0 — free, no API key required
- Geocoding: Geonorge Stedsnavn API — Norwegian place name search, free
Both APIs are provided by Norwegian government agencies and are free for public use.
License
MIT
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Starefossen
- Source: Starefossen/yr-no-weather-mcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.