Weather Bot with OpenAI Agents SDK について
自然言語で現在の天気を尋ねたい人向けの Telegram 天気ボットです。OpenAI Agents SDK と GPT-4o-mini を使い、Open-Meteo から天気データを取得します。
主な機能
- 01自然言語の天気質問に回答
- 02Open-Meteo から現在の天気を取得
- 03気温、天候、風速を提示
- 04Telegram 向けのメッセージ形式
活用シーン
- 01都市の現在の天気を尋ねる
- 02Telegram で風速や気温を確認する
MCP 対応
Open-Meteo からデータを取得する `get_weather` ツールを備えた簡単な MCP サーバーを実装し、ボットのエージェントに利用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OpenAI Agents SDK を使用した天気ボット
OpenAI の Agents SDK と Model Context Protocol(MCP)を使用して、リアルタイムの天気情報を提供する Telegram ボットです。このボットは、GPT-4o-mini モデルを利用し、自然言語での問い合わせに応じて世界各地の都市の現在の天気を取得できます。
機能
- Open-Meteo API を使用したリアルタイムの天気データ
- OpenAI Agents SDK(GPT-4o-mini)による自然言語処理
- 天気データ取得のためのシンプルな MCP サーバー実装
- Telegram に適したメッセージ形式
- 簡単な天気の問い合わせで使える、シンプルなインターフェース
技術スタック
- Python 3.11+
- OpenAI Agents SDK
- Model Context Protocol(MCP)
- python-telegram-bot
- Open-Meteo API(API キー不要)
クイックスタート
- リポジトリをクローンします:
git clone https://github.com/esakrissa/agents-sdk-telegram.git
cd agents-sdk-telegram
- 仮想環境を作成して有効化します:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- 依存関係をインストールします:
pip install -r requirements.txt
- プロジェクトのルートに .env ファイルを作成します:
TELEGRAM_BOT_TOKEN=your_bot_token_here
OPENAI_API_KEY=your_openai_api_key_here
- ボットを実行します:
python main.py
使い方
任意の都市の天気について、ボットにメッセージを送るだけです:
what's the weather in Ubud?
ボットは、以下の現在の天気情報を返信します:
- 気温
- 天候
- 風速
アーキテクチャ
OpenAI Agents SDK との統合
このボットは、OpenAI の Agents SDK と GPT-4o-mini モデルを使用して、自然言語の問い合わせを処理し、人間らしい応答を生成します。エージェントには、天気に関する問い合わせへの対応と会話の文脈の維持に特化した指示が設定されています。
Model Context Protocol(MCP)
このプロジェクトでは、get_weather ツールを提供するシンプルな MCP サーバー(weather_mcp.py)を実装しています。以下の方法を紹介します:
- カスタム MCP ツールの作成
- ツールのリクエストと応答の処理
- 外部 API(Open-Meteo)と MCP の統合
ライセンス
MIT © Esa Krissa
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。