mcpField
O
Openweathermcp

Openweathermcp

ローカル
github.com/QianJue-CN地図・旅行061 週間前に更新

Openweathermcp について

Openweathermcpは、AIアシスタントからOpenWeatherMapの気象データを利用できるMCPサーバーです。現在の天気、予報、大気質、地図、警報、過去のデータ、場所検索に対応し、多言語の都市名を扱えます。

主な機能

  1. 01現在の天気と予報の取得
  2. 02大気質と過去データの取得
  3. 03気象マップと警報の参照
  4. 04地名と座標の相互変換
  5. 05複数の単位と言語に対応

活用シーン

  1. 01都市の現在の天気を確認
  2. 02数日間の天気予報を確認
  3. 03大気質や気象警報を確認
  4. 04地名を座標に変換

MCP 対応

OpenWeatherMapの気象およびジオコーディング機能を、MCPクライアント向けのツールとして提供します。利用にはOpenWeatherMap APIキーが必要です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"OpenWeatherMCP": {
"command": "npx",
"args": [
"-y",
"openweather-mcp"
],
"env": {
"OPENWEATHER_API_KEY": "<OPENWEATHER_API_KEY>"
}
}
}
}
起動コマンドnpx -y openweather-mcp
設定が必要な環境変数
OPENWEATHER_API_KEYシークレット

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmopenweather-mcp

ツール

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

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

詳細

OpenWeatherMap MCP サーバー

English | 中文

Model Context Protocol(MCP)に基づく包括的な OpenWeatherMap API 統合サーバーで、AI アシスタントにあらゆる気象データへのアクセス機能を提供します。

🌟 主な機能

主な気象機能
  • 🌡️ 現在の天気の照会 - 気温、湿度、風速、気圧などのリアルタイム気象データ
  • 📅 天気予報 - 5日間の3時間間隔の詳細な天気予報と傾向分析
  • 🏭 大気質のモニタリング - リアルタイムの大気質指数と汚染物質濃度データ
  • 🗺️ 気象マップ - 複数のレイヤーに対応した気象マップタイル(雲、降水量、気温など)
  • ⚠️ 気象警報 - 政府が発令する気象警報と安全に関する注意情報
  • 📊 過去の気象データ - 過去の気象データの照会と複数日にわたる比較分析
スマートな都市名の照会
  • 🧠 インテリジェントなフォールバック - 中国語と英語の両方の都市名を自動的に処理します
  • 🔄 自動ジオコーディング - 都市名の直接照会に失敗した場合、ジオコーディングを使って座標を自動的に取得します
  • 🌍 幅広い言語への対応 - ジオコーディング API を通じて、あらゆる言語の都市名を使用できます
その他の機能
  • 🌍 ジオコーディング - 曖昧検索に対応した地名から座標への変換
  • 📍 逆ジオコーディング - 座標から地名への変換
  • 🔄 複数の単位に対応 - メートル法、ヤード・ポンド法、標準単位系
  • 🌐 多言語対応 - 中国語、英語、その他多くの言語

📦 インストール

前提条件
  • Node.js 18.0.0 以降
  • OpenWeatherMap API キー
API キーの取得
  1. OpenWeatherMap にアクセスします
  2. アカウントを登録し、無料の API キーを取得します
  3. 環境変数を設定します:
    export OPENWEATHER_API_KEY="your_api_key_here"
    
インストール方法
方法 1:NPM グローバルインストール
npm install -g openweather-mcp
方法 2:ソースからビルド
git clone https://github.com/QianJue-CN/OpenWeatherMCP.git
cd OpenWeatherMCP
npm install
npm run build

🚀 使い方

MCP サーバーとして実行
# Set API key
export OPENWEATHER_API_KEY="your_api_key_here"

# Start server
npx openweather-mcp
Claude Desktop で設定

Claude Desktop の設定ファイルに追加します:

{
  "mcpServers": {
    "openweather": {
      "command": "npx",
      "args": ["openweather-mcp"],
      "env": {
        "OPENWEATHER_API_KEY": "your_api_key_here"
      }
    }
  }
}
その他の MCP クライアントで使用

MCP プロトコルに対応する任意のクライアントが、このサーバーに接続できます。

🛠️ 利用可能なツール

1. 現在の天気の照会(get_current_weather)

指定した場所のリアルタイム気象情報を取得します。

パラメーター:

  • city(任意):都市名。例:"Beijing"、"北京"、"Beijing,CN"
  • lat(任意):緯度(-90~90)
  • lon(任意):経度(-180~180)
  • zip(任意):郵便番号。例:"10001,US"
  • units(任意):単位系(metric/imperial/standard)
  • lang(任意):言語コード(zh_cn/en/es/fr/de/ja/ko/ru)

スマートな都市名の対応:

  • ✅ "北京"(中国語)→ 自動的に機能します
  • ✅ "Beijing"(英語)→ 自動的に機能します
  • ✅ "上海"(中国語)→ 自動的に機能します
  • ✅ "Shanghai"(英語)→ 自動的に機能します

例:

{
  "city": "北京",
  "units": "metric",
  "lang": "zh_cn"
}
2. 天気予報(get_weather_forecast)

5日間の天気予報データを取得します。

パラメーター:

  • 場所のパラメーターは上記と同じです
  • cnt(任意):予報時点の数(最大40)

例:

{
  "lat": 39.9042,
  "lon": 116.4074,
  "cnt": 16,
  "units": "metric"
}
3. 大気質(get_air_quality)

大気質データを取得します。

パラメーター:

  • lat:緯度
  • lon:経度
  • start(任意):開始時刻のタイムスタンプ(過去のデータ用)
  • end(任意):終了時刻のタイムスタンプ(過去のデータ用)
4. 気象マップ(get_weather_map)

気象マップタイルを取得します。

パラメーター:

  • layer:レイヤーの種類(clouds_new/precipitation_new/pressure_new/wind_new/temp_new)
  • z:ズームレベル(0~10)
  • x:タイルの X 座標
  • y:タイルの Y 座標
5. 気象警報(get_weather_alerts)

気象警報情報を取得します。

パラメーター:

  • lat:緯度
  • lon:経度
6. 過去の気象データ(get_historical_weather)

過去の気象データを照会します。

パラメーター:

  • lat:緯度
  • lon:経度
  • dt:照会日の Unix タイムスタンプ
  • units:単位系
  • lang:言語コード
7. ジオコーディング(geocoding)

地名から座標を取得します。

パラメーター:

  • q:場所の検索文字列
  • limit:返す結果の数(1~5)
8. リバースジオコーディング(reverse_geocoding)

座標から地名を取得します。

パラメーター:

  • lat:緯度
  • lon:経度
  • limit:返す結果の数(1~5)

📝 使用例

北京の現在の天気を検索
{
  "tool": "get_current_weather",
  "parameters": {
    "city": "北京",
    "units": "metric",
    "lang": "zh_cn"
  }
}
上海の5日間の天気予報を取得
{
  "tool": "get_weather_forecast",
  "parameters": {
    "city": "上海",
    "units": "metric",
    "lang": "zh_cn"
  }
}
大気質を検索
{
  "tool": "get_air_quality",
  "parameters": {
    "lat": 39.9042,
    "lon": 116.4074
  }
}

🌍 都市名のスマート検索の仕組み

  1. 直接検索:まず、指定された都市名を使って天気を直接検索します
  2. 自動フォールバック:直接検索に失敗した場合(404エラー)、ジオコーディングを自動的に実行します
  3. 座標変換:ジオコーディング API を通じて、都市名を正確な座標に変換します
  4. 再検索:取得した座標を使って天気データを再検索します
  5. シームレスな体験:このプロセス全体はユーザーに対して透過的に実行され、手動での対応は不要です

つまり、あらゆる言語の都市名を使用できます。

  • 中国語:北京、上海、广州、深圳
  • 英語:Beijing、Shanghai、Guangzhou、Shenzhen
  • その他の言語:東京、ソウル、Paris、London

🔧 開発

プロジェクト構成
src/
├── index.ts              # MCP server entry point
├── types/
│   ├── weather.ts        # Weather data type definitions
│   └── mcp.ts           # MCP tool type definitions
├── services/
│   └── openweather.ts   # OpenWeatherMap API service
└── tools/
    ├── current-weather.ts    # Current weather tool
    ├── forecast.ts          # Weather forecast tool
    ├── air-pollution.ts     # Air quality tool
    ├── weather-maps.ts      # Weather maps tool
    ├── weather-alerts.ts    # Weather alerts tool
    └── historical-weather.ts # Historical weather tool
ビルドとテスト
# Install dependencies
npm install

# Build project
npm run build

# Development mode (watch file changes)
npm run dev

# Run tests
npm test

# Code linting
npm run lint

🌍 対応する場所の形式

都市名
  • "北京" - 中国語の都市名
  • "Beijing" - 英語の都市名
  • "Beijing,CN" - 都市名+国コード
  • "New York,US" - 完全な形式
座標
  • 緯度:-90~90
  • 経度:-180~180
  • 例:lat: 39.9042, lon: 116.4074
郵便番号
  • "10001,US" - 米国の郵便番号
  • "100000,CN" - 中国の郵便番号

📊 データ形式

温度単位
  • metric:摂氏(°C)
  • imperial:華氏(°F)
  • standard:ケルビン(K)
風速の単位
  • metric:メートル毎秒(m/s)
  • imperial:マイル毎時(mph)
言語サポート
  • zh_cn:簡体字中国語
  • en:英語
  • es:スペイン語
  • fr:フランス語
  • de:ドイツ語
  • ja:日本語
  • ko:韓国語
  • ru:ロシア語

⚠️ 重要な注意事項

  1. API の制限:無料アカウントには呼び出し回数の制限があります。適切にご利用ください
  2. 過去のデータ:過去の天気データには有料サブスクリプションが必要です
  3. One Call API:気象警報機能には One Call API 3.0 のサブスクリプションが必要です
  4. ネットワーク接続:サーバーが OpenWeatherMap API にアクセスできることを確認してください

🤝 コントリビューション

Issue とプルリクエストを歓迎します!

📄 ライセンス

MIT ライセンス

🔗 関連リンク

コメント

MCP は初めてですか?

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

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