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. 05APIキー不要

活用シーン

  1. 01都市の現在の天気と予報の確認
  2. 02PM2.5とPM10の数値の確認
  3. 03プリセット座標でのダッシュボード更新

MCP 対応

MCPクライアントに天気ツールとインタラクティブなダッシュボードリソースを公開します。ツールは都市名による天気・大気質データを返し、アプリから座標指定で更新できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
cargometeo-mcp-rs0.1.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

meteo-mcp-rs

CI License: MIT Built with Rust

Rust で記述された、高速で API キー不要の**モデルコンテキストプロトコル(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 の無料の Geocoding、Forecast、Air Quality 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"]):アプリ専用の非表示ツールです。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 日間予報、EU AQI のテレメトリを返します。
refresh_by_coords["app"]name: string, latitude: number, longitude: numberジオコーディングせずに、プリセット都市を更新または切り替えるためにインタラクティブ UI が使用する、アプリ専用のツールです。
リソース
URIMIME タイプ説明
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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。