mcpField
W
Weather Forecast Tool

Weather Forecast Tool

ローカル
github.com/hitechdkメディア・デザイン182 週間前に更新

Weather Forecast Tool について

Weather Forecast Toolは、MET Norway APIから予報を取得して要約するPython製MCPサーバーです。緯度と経度を受け取り、時間帯ごとの代表的な天気記号や気温範囲を含む日別予報を現地時刻で返します。

主な機能

  1. 01緯度と経度による予報取得
  2. 02日別の天気要約
  3. 03時間帯ごとの代表的な天気記号
  4. 04日ごとの最低・最高気温
  5. 05現地時刻での予報出力

活用シーン

  1. 01地点の日別予報を確認
  2. 02時間帯ごとの天気を確認
  3. 03日々の最低・最高気温を比較
  4. 04地理座標を使って予報を取得

MCP 対応

FastMCPを使い、`get_weather`関数をMCPクライアント向けのツールとして登録します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

天気予報ツール

説明

この Python コードは、MET Norway API を使用して、指定した場所の天気予報を取得し、要約するツールを提供します。ツールの登録には FastMCP フレームワークを活用し、非同期 HTTP リクエストには httpx を使用します。

機能

  • 天気予報: get_weather 関数は、指定した緯度と経度の天気予報データを取得します。

  • 日ごとの要約: summarize_daily_timeseries_most_occurrences 関数は、未加工の予報データを処理し、以下を含む簡潔な日ごとの要約を提供します。

    • 夜、朝、午後、夕方に最も頻繁に現れる天気記号。
    • その日の最低気温と最高気温。
    • 予報は現地時間で返されます。
  • HTTP リクエスト: make_net_request 関数は、MET Norway API への非同期 HTTP リクエストを処理します。

  • 天気記号のマッピング: map_weather_symbol 関数は、API の天気記号コードを人が読みやすい説明に変換します。

依存関係

  • Python 3.13+
  • collections
  • datetime
  • typing
  • asyncio
  • json
  • httpx
  • mcp.server.fastmcp

セットアップ

  1. 依存関係をインストールします。

    必要に応じて MCP やその他の依存関係をインストールします(MCP documentation を参照してください)。

  2. 座標を取得します。 天気予報を知りたい場所の緯度と経度が必要です。

使用方法

  1. インポート: 必要なモジュールをインポートし、FastMCP サーバーを初期化します。

    from collections import Counter
    from datetime import datetime, timezone, timedelta
    from mcp.server.fastmcp import FastMCP
    from typing import Any
    import asyncio
    import json
    import httpx
    
    mcp = FastMCP("weather")
    
  2. get_weather ツールを使用します。

    async def main():
        weather_data = await get_weather(55.6761, 12.5683) # Example: Copenhagen, Denmark
        print(weather_data)
    
    if __name__ == "__main__":
        asyncio.run(main())
    

    55.6761 と 12.5683 を、目的の場所の緯度と経度に置き換えてください。

ツールの定義

* get_weather(latitude: float, longitude: float) -> str * 指定した場所の天気予報を取得して整形します。 * 引数: * latitude (float):場所の緯度。 * longitude (float):場所の経度。 * 戻り値: * str:日ごとの天気予報を含む整形済み文字列。

MCP

このコードでは FastMCP フレームワークを使用しています。サーバーのセットアップと実行方法については、FastMCP のドキュメントを参照してください。

ライセンス

MIT ライセンス

コメント

MCP は初めてですか?

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

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