mcpField
W
Weather App

Weather App

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

Weather App について

Weather Appは、世界各地の天気情報を取得するコマンドラインアプリとMCPサーバーです。現在の状況や予報を調べる人向けで、Python製MCPサーバーのひな型としても利用できます。

主な機能

  1. 01現在の天気の取得
  2. 02日別・時間別予報の取得
  3. 03気象警報の取得
  4. 04座標による天気検索
  5. 05ユーザー位置の自動検出

活用シーン

  1. 01地点ごとの天気と予報の確認
  2. 02座標を指定した天気の検索
  3. 03地点の気象警報の確認

MCP 対応

MCPサーバーは、天気の検索、予報、警報、位置検出、API状態確認のツールをクライアントに公開します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Weather App

CI codecov

世界各地の場所について、現在の気象状況、予報、警報を提供する、コマンドラインおよび MCP ベースの天気アプリケーションです。

機能

  • 任意の場所の現在の気象状況を取得
  • 日ごとの天気予報を取得
  • 時間ごとの天気予報を取得
  • 気象警報を取得
  • 座標から天気を取得
  • 場所を自動検出
  • API 接続をテスト
  • API キーとサブスクリプションの状態を確認

インストール

前提条件
  • Python 3.12 以上
  • uv パッケージマネージャー
セットアップ
  1. このリポジトリをクローンします。

    git clone <repository-url>
    cd weather-app
    
  2. ルートディレクトリに OpenWeatherMap API キーを記載した .env ファイルを作成します。

    OPENWEATHER_API_KEY=your_api_key_here
    

    API キーは OpenWeatherMap から取得できます。

  3. インストールスクリプトを実行します。

    ./scripts/install.sh
    

    開発環境をセットアップする場合は、次のコマンドを使用します。

    ./scripts/install.sh --dev
    

使用方法

天気アプリを実行します。

./scripts/run_weather.sh

これにより MCP サーバーが起動し、次のツールを利用できます。

  • get_current_weather:現在の気象状況を取得
  • get_forecast:日ごとの天気予報を取得
  • get_hourly_forecast:時間ごとの天気予報を取得
  • get_alerts:気象警報を取得
  • get_weather_by_coordinates:座標から天気を取得
  • get_user_location:現在地を取得
  • test_api_connection:API 接続をテスト
  • check_api_key_and_subscription:API キーとサブスクリプションを確認

開発

コードスタイルとリンティング

このプロジェクトでは、次のツールを使用しています。

  • コードフォーマットに Black
  • インポートの並べ替えに isort
  • リンティングに Ruff
  • 型チェックに mypy

これらのツールはすべて pyproject.toml ファイルで設定されています。

Pre-commit フック

コード品質を保つために pre-commit フックを使用しています。開発用の依存関係をインストールすると、フックは自動的にセットアップされます。

pre-commit フックを手動でインストールするには、次を実行します。

uv run pre-commit install

pre-commit フックを手動で実行するには、次を実行します。

uv run pre-commit run --all-files
テスト

テストを実行します。

./scripts/run_tests.sh

カバレッジ付きで実行します。

./scripts/run_tests.sh --coverage

統合テストを実行します(API キーが必要です)。

./scripts/run_tests.sh --integration

カバレッジ付きで統合テストを実行します。

./scripts/run_tests.sh --integration --coverage

MCP サーバーの作成

このプロジェクトをテンプレートとして独自の MCP サーバーを作成するには、次の手順に従います。

  1. 開発用の依存関係とともにプロジェクトをインストールします。

    ./scripts/install.sh --dev
    
  2. MCP サーバーを実装する新しい Python ファイルを作成します。

    import os
    from dotenv import load_dotenv
    from mcp.server.fastmcp import FastMCP
    
    # Load environment variables
    load_dotenv()
    
    # Initialize FastMCP server
    mcp = FastMCP("your-app-name")
    
    # Define your tools
    @mcp.tool
    async def your_tool(param1: str, param2: int) -> str:
        """Tool description."""
        # Your implementation here
        return "Result"
    
    # Run the server
    if __name__ == "__main__":
        mcp.run()
    
  3. サーバーを実行します。

    python your_server.py
    

ライセンス

このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

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

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