About Meteo
Meteo is a Rust-based MCP weather server for MCP Apps–capable hosts. It uses Open-Meteo without requiring an API key and presents weather and air-quality data in an interactive dashboard embedded in the conversation.
Key features
- 01Current weather and air-quality data
- 0224-hour temperature and precipitation chart
- 03Seven-day forecast
- 04Interactive dashboard with coordinate refreshes
- 05No API key required
Use cases
- 01Check a city's current conditions and forecast
- 02Review PM2.5 and PM10 readings
- 03Refresh dashboard data for preset coordinates
MCP support
Exposes weather tools and an interactive dashboard resource to MCP clients. The tools provide city-based weather and air quality data, while the app can refresh data by coordinates.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEmeteo-mcp-rs
A fast, zero-API-key Model Context Protocol (MCP) weather server written in Rust, featuring an interactive MCP App (ui://meteo/dashboard) powered by the Open-Meteo API.
▶ Live demo — the real dashboard running in your browser against live Open-Meteo data.
Ask Claude (or any MCP Apps–capable host) for the weather and get an interactive dashboard with current telemetry, European Air Quality Index (PM2.5/PM10), a 24-hour temperature & precipitation chart, and a 7-day forecast — rendered directly inside the conversation with zero API keys or external Node/Python runtimes.
Features
- Single self-contained binary:
ui/dashboard.htmlis embedded at compile time (include_str!), zero runtime asset dependencies. - No API keys required: Uses Open-Meteo's free Geocoding, Forecast, and Air Quality APIs.
- MCP Apps (
2026-01-26) compliant:- Serves UI resource
ui://meteo/dashboardwith MIME typetext/html;profile=mcp-app. - Attaches
_meta.ui.resourceUriand_meta.ui.visibilitymetadata to tools. - Supports host theme variables (
light/dark),ResizeObserverauto-sizing, and inline/fullscreen display modes.
- Serves UI resource
- Interactive UI-to-Server refreshes:
get_weather_dashboard(visibility: ["model", "app"]): Geocodes a city name and returns full weather + air quality telemetry.refresh_by_coords(visibility: ["app"]): App-only hidden tool for instant coordinate-based refreshes and city preset pills without cluttering the LLM's tool list.
- Graceful degradation: If air quality telemetry is temporarily unavailable, the weather forecast still succeeds.
Architecture
┌──────────────────────────────┐ stdio (JSON-RPC) ┌──────────────────────────────┐
│ MCP Host (Claude / IDE) │ ◄────────────────────────────► │ meteo-mcp-rs │
│ │ │ │
│ ┌────────────────────────┐ │ tools/call + structuredData │ • OpenMeteoClient (reqwest) │
│ │ ui://meteo/dashboard │ │ ◄────────────────────────────► │ • MeteoServer (rmcp 3.10) │
│ │ (Sandboxed Iframe) │ │ resources/read (MCP App HTML) │ • Embedded ui/dashboard.html│
│ └────────────────────────┘ │ └──────────────┬───────────────┘
└──────────────────────────────┘ │ HTTPS (rustls)
▼
Open-Meteo Public APIs
(Geocoding / Forecast / Air Quality)
Quick Start
Homebrew (macOS / Linux)
brew install gohyperdev/tap/meteo-mcp-rs
Download prebuilt binaries
Grab the latest archive for your platform from GitHub Releases (each release also includes SHA256SUMS.txt):
| Platform | Architecture | Archive |
|---|---|---|
| macOS | Apple Silicon (arm64) | meteo-mcp-rs-<version>-aarch64-apple-darwin.tar.gz |
| macOS | Intel (x86_64) | meteo-mcp-rs-<version>-x86_64-apple-darwin.tar.gz |
| Linux | x86_64 | meteo-mcp-rs-<version>-x86_64-unknown-linux-gnu.tar.gz |
| Linux | arm64 (aarch64) | meteo-mcp-rs-<version>-aarch64-unknown-linux-gnu.tar.gz |
| Windows | x86_64 | meteo-mcp-rs-<version>-x86_64-pc-windows-msvc.zip |
Example install on macOS / Linux (replace <version> & <target>):
curl -fsSL "https://github.com/gohyperdev/meteo-mcp-rs/releases/latest/download/meteo-mcp-rs-v0.1.1-aarch64-apple-darwin.tar.gz" | tar -xz
sudo mv meteo-mcp-rs-v0.1.1-aarch64-apple-darwin/meteo-mcp-rs /usr/local/bin/
On macOS, if Gatekeeper blocks an unsigned downloaded binary:
xattr -d com.apple.quarantine /usr/local/bin/meteo-mcp-rs
Build from source
Requires Rust toolchain (rustc 1.88+ / edition 2024).
git clone https://github.com/gohyperdev/meteo-mcp-rs.git
cd meteo-mcp-rs
cargo build --release
The binary is compiled to target/release/meteo-mcp-rs.
Install via Cargo
From crates.io (compiles from source, requires the Rust toolchain; --locked builds with the exact dependency versions the release was tested against):
cargo install --locked meteo-mcp-rs
With cargo-binstall (downloads the prebuilt binary from GitHub Releases, no compilation):
cargo binstall meteo-mcp-rs
Or straight from the repository:
cargo install --git https://github.com/gohyperdev/meteo-mcp-rs
Configure in Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"meteo": {
"command": "/absolute/path/to/meteo-mcp-rs"
}
}
}
Configure in Claude Code
claude mcp add meteo /absolute/path/to/meteo-mcp-rs
Test with MCP Inspector
npx @modelcontextprotocol/inspector ./target/release/meteo-mcp-rs
Tools & Resources
Tools
| Tool | Visibility | Arguments | Description |
|---|---|---|---|
get_weather_dashboard | ["model", "app"] | city: string | Geocodes a city and returns current weather, 24h hourly, 7-day forecast, and EU AQI telemetry. |
refresh_by_coords | ["app"] | name: string, latitude: number, longitude: number | App-only tool used by the interactive UI to refresh or switch preset cities without geocoding. |
Resources
| URI | MIME Type | Description |
|---|---|---|
ui://meteo/dashboard | text/html;profile=mcp-app | Self-contained HTML/CSS/SVG/JS interactive weather dashboard (include_str!). |
Development
# Check formatting
cargo fmt --all -- --check
# Lint
cargo clippy --all-targets -- -D warnings
# Run unit & mock-HTTP integration tests
cargo test
# Run with debug logs (written to stderr; stdout stays reserved for MCP JSON-RPC)
RUST_LOG=meteo_mcp_rs=debug cargo run
Links
- GitHub Releases — prebuilt binaries +
SHA256SUMS.txt - crates.io
- MCP Registry name:
mcp-name: io.github.gohyperdev/meteo-mcp-rs - Homebrew tap
- Live demo (GitHub Pages)
License
MIT — see LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.