关于 Meteo
Meteo 是面向支持 MCP Apps 的宿主的 Rust 天气 MCP 服务。它无需 API 密钥即可使用 Open-Meteo,并在对话内的交互式仪表板中呈现天气和空气质量数据。
主要功能
- 01当前天气与空气质量数据
- 0224 小时气温和降水图表
- 037 天预报
- 04支持按坐标刷新的交互式仪表板
- 05无需 API 密钥
适用场景
- 01查看城市当前天气和预报
- 02检查 PM2.5 与 PM10 数据
- 03使用预设坐标刷新仪表板
MCP 相关
向 MCP 客户端提供天气工具和交互式仪表板资源。工具按城市名返回天气与空气质量数据,应用也可按坐标刷新数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
meteo-mcp-rs
一个采用 Rust 编写的快速、无需 API 密钥的 Model Context Protocol(MCP) 天气服务,提供由 Open-Meteo API 驱动的交互式 MCP App(ui://meteo/dashboard)。
▶ 在线演示 — 在浏览器中运行的真实仪表板,使用实时 Open-Meteo 数据。
向 Claude(或任何支持 MCP Apps 的宿主)查询天气,即可获得交互式仪表板,其中包含当前气象数据、欧洲空气质量指数(PM2.5/PM10)、24 小时气温与降水图表以及 7 天天气预报——直接呈现在对话中,无需 API 密钥或外部 Node/Python 运行时。
功能
- 单个独立二进制文件:
ui/dashboard.html在编译时嵌入(include_str!),运行时无需依赖资源文件。 - 无需 API 密钥:使用 Open-Meteo 的免费地理编码、天气预报和空气质量 API。
- 符合 MCP Apps(
2026-01-26)规范:- 提供 UI 资源
ui://meteo/dashboard,MIME 类型为text/html;profile=mcp-app。 - 为工具附加
_meta.ui.resourceUri和_meta.ui.visibility元数据。 - 支持宿主主题变量(
light/dark)、ResizeObserver自动调整尺寸,以及内嵌/全屏显示模式。
- 提供 UI 资源
- 交互式 UI 到服务端刷新:
get_weather_dashboard(visibility: ["model", "app"]):将城市名称转换为地理坐标,并返回完整的天气与空气质量数据。refresh_by_coords(visibility: ["app"]):仅供 App 使用的隐藏工具,可按坐标即时刷新数据并显示城市预设按钮,不会让 LLM 的工具列表变得杂乱。
- 优雅降级:如果空气质量数据暂时不可用,天气预报仍可正常返回。
架构
┌──────────────────────────────┐ 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)
快速开始
Homebrew(macOS / Linux)
brew install gohyperdev/tap/meteo-mcp-rs
下载预编译二进制文件
从 GitHub Releases 获取适用于你平台的最新压缩包(每个版本也包含 SHA256SUMS.txt):
| 平台 | 架构 | 压缩包 |
|---|---|---|
| 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 |
macOS / Linux 安装示例(将 <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/
在 macOS 上,如果 Gatekeeper 阻止运行未签名的下载二进制文件:
xattr -d com.apple.quarantine /usr/local/bin/meteo-mcp-rs
从源代码构建
需要 Rust 工具链(rustc 1.88+ / edition 2024)。
git clone https://github.com/gohyperdev/meteo-mcp-rs.git
cd meteo-mcp-rs
cargo build --release
二进制文件将编译到 target/release/meteo-mcp-rs。
通过 Cargo 安装
从 crates.io 安装(从源代码编译,需要 Rust 工具链;使用 --locked 可按照经过发布版本测试的确切依赖版本进行构建):
cargo install --locked meteo-mcp-rs
使用 cargo-binstall(从 GitHub Releases 下载预编译二进制文件,无需编译):
cargo binstall meteo-mcp-rs
也可以直接从代码仓库安装:
cargo install --git https://github.com/gohyperdev/meteo-mcp-rs
在 Claude Desktop 中配置
添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"meteo": {
"command": "/absolute/path/to/meteo-mcp-rs"
}
}
}
在 Claude Code 中配置
claude mcp add meteo /absolute/path/to/meteo-mcp-rs
使用 MCP Inspector 测试
npx @modelcontextprotocol/inspector ./target/release/meteo-mcp-rs
工具与资源
工具
| 工具 | 可见性 | 参数 | 描述 |
|---|---|---|---|
get_weather_dashboard | ["model", "app"] | city: string | 对城市进行地理编码,并返回当前天气、未来 24 小时逐小时天气、未来 7 天预报以及欧盟 AQI 遥测数据。 |
refresh_by_coords | ["app"] | name: string, latitude: number, longitude: number | 仅供应用使用的工具,交互式 UI 使用它来刷新或切换预设城市,无需进行地理编码。 |
资源
| URI | MIME Type | 描述 |
|---|---|---|
ui://meteo/dashboard | text/html;profile=mcp-app | 独立的 HTML/CSS/SVG/JS 交互式天气仪表板(include_str!)。 |
开发
# 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
链接
- GitHub 版本发布 — 预构建二进制文件 +
SHA256SUMS.txt - crates.io
- MCP 注册表名称:
mcp-name: io.github.gohyperdev/meteo-mcp-rs - Homebrew tap
- 在线演示(GitHub Pages)
许可证
MIT — 详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。