mcpField
M
Meteo

Meteo

本地服务
github.com其他0今天更新

关于 Meteo

Meteo 是面向支持 MCP Apps 的宿主的 Rust 天气 MCP 服务。它无需 API 密钥即可使用 Open-Meteo,并在对话内的交互式仪表板中呈现天气和空气质量数据。

主要功能

  1. 01当前天气与空气质量数据
  2. 0224 小时气温和降水图表
  3. 037 天预报
  4. 04支持按坐标刷新的交互式仪表板
  5. 05无需 API 密钥

适用场景

  1. 01查看城市当前天气和预报
  2. 02检查 PM2.5 与 PM10 数据
  3. 03使用预设坐标刷新仪表板

MCP 相关

向 MCP 客户端提供天气工具和交互式仪表板资源。工具按城市名返回天气与空气质量数据,应用也可按坐标刷新数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
cargometeo-mcp-rs0.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

meteo-mcp-rs

CI License: MIT Built with Rust

一个采用 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 到服务端刷新:
    • 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):

平台架构压缩包
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

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 使用它来刷新或切换预设城市,无需进行地理编码。
资源
URIMIME Type描述
ui://meteo/dashboardtext/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

链接

许可证

MIT — 详见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。