Contextual Greetings:

概要

Contextual Greetingsは、天気情報を活用して文脈に応じた挨拶を生成するPythonアプリケーションです。このアプリは、Model Context Protocol (MCP) を使用して、チャットや対話型アプリケーションにおいて、ユーザーに適切な挨拶を提供することを目的としています。

東京の現在の天気と気温を取得し、それに基づいて挨拶を生成します。例えば、晴れた日には「今日は晴れています。気温は25℃です。良い1日を!」といった挨拶を返します。(VSCodeにてCline + google/gemini-2.5-pro-preview-03-25 で試しました。色々な表示が出てしまうのでもう一歩という感じになります。)

ソースコード

https://github.com/mzsima/learn-mcp/tree/main/contextual-greetings


主な機能

  1. 天気情報の取得
    Open-Meteo APIを使用して、東京の現在の気温と天気コードを取得します。
  2. 文脈に応じた挨拶の生成
    天気や気温に基づいて、晴れ、曇り、雨などの状況に応じた挨拶を生成します。
  3. MCPツールの提供
    MCPプロトコルを使用して、以下のツールを提供します:
  • get_weather: 天気情報を取得
  • get_greeting: 天気情報に基づいた挨拶を生成
  • auto_greet: 天気情報を自動取得し、挨拶を生成

技術スタック

  • Python 3.13: 最新のPythonバージョンを使用
  • Starlette: 軽量なASGIフレームワーク
  • Uvicorn: 高速なASGIサーバー
  • MCP: Model Context Protocolを実装するPythonライブラリ

使用方法

  • アプリケーションの起動
    以下のコマンドでアプリケーションを起動します。
   uv run weather_mcp_server.py
  • MCPツールの利用
    MCP対応のクライアントを使用して、ツールを呼び出します。

サンプル挨拶

  • 晴れの日:
    「今日は晴れています。気温は25℃です。良い1日を!」
  • 曇りの日:
    「今日は曇り空です。気温は20℃です。過ごしやすい1日を!」
  • 雨の日:
    「今日は雨が降っています。気温は18℃です。傘をお忘れなく!」

Contextual Greetingsは、天気情報を活用した新しい形の対話体験を提供します。ぜひ試してみてください!