MeteoSwiss MCP Server について
MeteoSwiss MCP Server は、MeteoSwiss Open Data の天気・気候情報を AI アシスタントに提供します。スイス各地の予報と観測に加え、観測地点の検索、花粉情報、気候系列、公式サイト検索に対応しています。
主な機能
- 01スイス各地の複数日予報
- 02気象観測所のリアルタイム測定値
- 03名称、州、座標による観測所検索
- 04花粉情報と過去の気候データの取得
- 05MeteoSwiss サイトの検索とコンテンツ取得
活用シーン
- 01スイスの町や郵便番号から予報を確認
- 02観測所の風速や気温などの最新値を確認
- 03花粉測定値や長期気候系列を検索
- 04MeteoSwiss のページを検索して内容を取得
MCP 対応
MeteoSwiss の予報、測定値、観測所検索、花粉・気候データ、サイト検索と取得を MCP ツールとして公開します。ホスト型サービスは `https://meteoswiss-mcp.ars.is/mcp` で利用でき、セルフホストも可能です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://meteoswiss-mcp.ars.is/mcpclaude mcp add --transport http eins78-meteoswiss https://meteoswiss-mcp.ars.is/mcp{"mcpServers":{"eins78-meteoswiss":{"type":"http","url":"https://meteoswiss-mcp.ars.is/mcp"}}}Cursor で開く{"servers":{"eins78-meteoswiss":{"type":"http","url":"https://meteoswiss-mcp.ars.is/mcp"}}}VS Code で開く{"mcpServers":{"eins78-meteoswiss":{"type":"http","url":"https://meteoswiss-mcp.ars.is/mcp"}}}{"mcpServers":{"eins78-meteoswiss":{"serverUrl":"https://meteoswiss-mcp.ars.is/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
7| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| page | integer | いいえ | ページネーションのページ番号(1 始まり)。上流 API は常に 1 ページあたり 10 件の結果を返します。ページサイズは設定できません。 |
| sort | enum | いいえ | 結果の並び順。注:date-asc は関連性を大幅に低下させます。クエリとの一致度よりもページの古さが結果に強く反映されます。relevance | date-desc | date-asc |
| query | string | はい | 検索クエリ文字列 |
| language | enum | いいえ | 検索結果の言語de | fr | it | en |
| contentType | enum | いいえ | コンテンツタイプで絞り込みます。デフォルトは "content" で、アプリケーションページを除外します。公式レポートには "publication" を使用してください。content | press-release | blog-article | publication |
詳細
🌦️ MeteoSwiss MCP サーバー
MeteoSwiss の気象データを利用する MCP サーバーです。MeteoSwiss Open Data を活用しており、MeteoSwiss のアプリやウェブサイトと同じデータを提供します。
このパッケージは、リポジトリの スキルと MCP の比較事例 における サーバー 側です。同じデータは、インフラ不要の エージェントスキル としても利用できます。
meteoswiss-mcp.ars.is — セットアップ不要ですぐにお試しいただけます。
- 複数日間の予報:スイス国内約 6,000 か所(郵便番号、観測所、地名)
- リアルタイム観測値:約 300 か所の観測所(総合的な気象観測約 160 か所+降水量のみの観測約 140 か所)。10 分ごとに更新
- 観測所の検索:名称、州、GPS 座標で検索
- 花粉モニタリング:スイス全土約 15 か所の観測所
- 気候時系列データ:国立基本気候観測網(NBCN)のデータ。数十年前まで遡れます
- MeteoSwiss ウェブサイト:検索とコンテンツの取得
ホスト型サービスを利用する
インストールは不要です。サーバーは https://meteoswiss-mcp.ars.is でホストされています。
Claude Code
claude mcp add meteoswiss https://meteoswiss-mcp.ars.is/mcp
Claude Desktop
設定ファイル(macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json)に追加します。
{
"mcpServers": {
"meteoswiss": {
"command": "npx",
"args": ["mcp-remote", "https://meteoswiss-mcp.ars.is/mcp"]
}
}
}
Cursor
Cursor Directory からインストールするか、Settings → MCP → Add Server から手動で追加し、https://meteoswiss-mcp.ars.is/mcp を貼り付けます。
Claude.ai
Settings → Integrations → Add MCP Server を開き、https://meteoswiss-mcp.ars.is/mcp を貼り付けます。
質問の例
- 「今週のチューリッヒの天気予報は?」
- 「明日のベルンの天気はどうですか?」
- 「ジュネーブの天気は?」
- 「ルガーノの天気は?」
- 「今、ユングフラウヨッホではどれくらい風が強いですか?」
- 「チューリッヒの花粉データを表示してください」
利用可能なツール
| ツール | 説明 |
|---|---|
meteoswissLocalForecast | 郵便番号、観測所、地名を指定して、スイス国内の任意の場所の複数日間の予報を取得します |
meteoswissCurrentWeather | 自動気象観測所のリアルタイム観測値(気温、風、湿度、気圧)を取得します |
meteoswissStations | 名称、州、座標を使って MeteoSwiss の観測所ネットワークを検索・閲覧します |
meteoswissPollenData | 観測所の現在の花粉濃度データを取得します |
meteoswissClimateData | NBCN の気候時系列データ。気温、降水量、日照時間、気候指標を数十年前まで遡って取得できます |
search | MeteoSwiss ウェブサイトのコンテンツを検索します(DE、FR、IT、EN) |
fetch | MeteoSwiss のページから、Markdown、テキスト、HTML 形式でコンテンツ全体を取得します |
プロンプト
よく使われる気象情報の問い合わせ向けに、プロンプトがあらかじめ設定されています。
| プロンプト | 言語 | 説明 |
|---|---|---|
wetterNordschweiz | ドイツ語 | スイス北部の予報と現在の天気 |
wetterSchweiz | ドイツ語 | スイス国内の任意の場所の天気 |
meteoSuisseRomande | フランス語 | スイス西部の予報と現在の天気 |
meteoTicino | イタリア語 | スイス南部の予報と現在の天気 |
セルフホスティング
Docker
docker run -p 3000:3000 ghcr.io/eins78/meteoswiss-mcp:latest
カスタム URL を指定する場合:
docker run -p 3000:3000 -e PUBLIC_URL=https://your-domain.com ghcr.io/eins78/meteoswiss-mcp:latest
Docker Compose
docker compose up
ソースから実行する
git clone https://github.com/eins78/meteoswiss-llm-tools.git
cd meteoswiss-llm-tools/packages/meteoswiss-mcp
pnpm install
pnpm build
pnpm start
サーバーは http://localhost:3000 で利用できます。MCP エンドポイント:http://localhost:3000/mcp。
ローカル MCP 設定
{
"mcpServers": {
"meteoswiss-local": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:3000/mcp"]
}
}
}
環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
PORT | 3000 | サーバーのポート |
PUBLIC_URL | — | URL 生成に使用する公開 URL 全体(例:https://meteoswiss-mcp.ars.is) |
USE_TEST_FIXTURES | false | ライブ API の代わりにローカルのテストデータを使用します |
BIND_ADDRESS | 0.0.0.0 | バインドするインターフェース |
MAX_SESSIONS | 100 | 同時セッションの最大数 |
MAX_SESSIONS_PER_CLIENT | 10 | クライアント IP(TRUST_PROXY 経由で確認)あたりの同時セッションの最大数。以降の初期化リクエストには 429 が返されます |
SESSION_TIMEOUT_MS | 300000 | セッションのタイムアウト時間(ミリ秒) |
TRUST_PROXY | 0 | クライアント IP(X-Forwarded-For)について信頼するリバースプロキシのホップ数。Caddy などのプロキシ 1 台の背後に配置する場合は 1 に設定します。クライアントがサーバーに直接接続する場合は 0 のままにしてください。そうしないと、クライアントが IP を偽装してレート制限を回避できる可能性があります |
DEBUG | — | デバッグ用の名前空間(例:mcp:*) |
開発
前提条件
セットアップ
nvm use
pnpm install
コマンド
| コマンド | 説明 |
|---|---|
pnpm dev | ホットリロードを有効にして起動します |
pnpm start | サーバーを起動します |
pnpm build | TypeScript をビルドします |
pnpm test | テストを実行します |
pnpm run lint | 型チェックと ESLint を実行します |
pnpm run fix | lint エラーを自動修正します |
pnpm run ci | CI 全体(lint + build + test)を実行します |
pnpm run dev:inspect | MCP Inspector でテストします |
プロジェクト構成
src/
index.ts # Entry point
server.ts # MCP server (factory pattern)
data/ # Data access and transformation
schemas/ # Zod schemas for validation
tools/ # MCP tool implementations
support/ # Logging, validation, HTTP, sessions
views/homepage/ # Server homepage content
test/
integration/ # Integration tests for all tools
__fixtures__/ # Test data
デバッグ
DEBUG 環境変数を使用して、デバッグ出力を有効にします。
DEBUG=mcp:* pnpm dev # All debug output
DEBUG=mcp:tools pnpm dev # Tool execution only
DEBUG=mcp:transport pnpm dev # Transport layer only
詳しくは、docs/debugging-guide.md を参照してください。
コントリビューション
コントリビューションを歓迎します。コミット前に pnpm run fix && pnpm run ci を実行してください。
リリース手順については、docs/releasing.md を参照してください。
ライセンス
CC0-1.0 — パブリックドメイン
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。