mcpField
M
Meteo

Meteo

Local
github.comOther0Updated today

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

  1. 01Current weather and air-quality data
  2. 0224-hour temperature and precipitation chart
  3. 03Seven-day forecast
  4. 04Interactive dashboard with coordinate refreshes
  5. 05No API key required

Use cases

  1. 01Check a city's current conditions and forecast
  2. 02Review PM2.5 and PM10 readings
  3. 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.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository
Packages
cargometeo-mcp-rs0.1.1

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

meteo-mcp-rs

CI License: MIT Built with Rust

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.html is 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/dashboard with MIME type text/html;profile=mcp-app.
    • Attaches _meta.ui.resourceUri and _meta.ui.visibility metadata to tools.
    • Supports host theme variables (light / dark), ResizeObserver auto-sizing, and inline/fullscreen display modes.
  • 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):

PlatformArchitectureArchive
macOSApple Silicon (arm64)meteo-mcp-rs-<version>-aarch64-apple-darwin.tar.gz
macOSIntel (x86_64)meteo-mcp-rs-<version>-x86_64-apple-darwin.tar.gz
Linuxx86_64meteo-mcp-rs-<version>-x86_64-unknown-linux-gnu.tar.gz
Linuxarm64 (aarch64)meteo-mcp-rs-<version>-aarch64-unknown-linux-gnu.tar.gz
Windowsx86_64meteo-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
ToolVisibilityArgumentsDescription
get_weather_dashboard["model", "app"]city: stringGeocodes a city and returns current weather, 24h hourly, 7-day forecast, and EU AQI telemetry.
refresh_by_coords["app"]name: string, latitude: number, longitude: numberApp-only tool used by the interactive UI to refresh or switch preset cities without geocoding.
Resources
URIMIME TypeDescription
ui://meteo/dashboardtext/html;profile=mcp-appSelf-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

License

MIT — see LICENSE.

Comments

Markdown supported

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.