Flight Search Assistant (Powered by Gemini + MCP) について
Geminiで自然言語の検索内容を解釈し、MCPバックエンドからリアルタイムのフライト情報を取得するStreamlitアプリです。自然な言葉でフライトを検索し、インタラクティブな画面で結果を確認したい人向けです。
主な機能
- 01自然言語でのフライト検索
- 02MCP経由でリアルタイム情報を取得
- 03Geminiによるクエリ解釈とツール選択
- 04インタラクティブなStreamlit画面
- 05結果の整形とエラー処理
活用シーン
- 01出発地、目的地、日付を指定したフライト検索
- 02画面上でのリアルタイム検索結果の確認
MCP 対応
アプリは`mcp-flight-search`バックエンドのツールを呼び出し、SERP API経由でフライト情報を取得して画面に表示します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
✈️ フライト検索アシスタント(Gemini + MCP を利用)
Google の Gemini AI モデルと MCP(Model Context Protocol)サーバーを使用し、自然言語での問い合わせからリアルタイムのフライト情報を検索する、シンプルで高機能な Streamlit ベースのフライト検索ツールです。
ユーザーは次のようにフライトを検索できます。
「2025-05-05にアトランタからラスベガスへのフライトを検索してください」
Gemini が問い合わせ内容を解釈して使用する適切な関数/ツールを特定し、mcp-flight-search バックエンドからフライトデータを取得します。
🔧 機能
- ✅ 自然言語によるフライト検索
- ✅ リアルタイムのフライトデータ(MCP 経由の SERP API を利用)
- ✅ 問い合わせ内容の理解に Gemini Pro 2.5 モデルを使用
- ✅ Streamlit を使用したインタラクティブな UI
- ✅ 見やすく整形されたフライト検索結果
- ✅ エラー処理とフォールバックメッセージ
📦 セットアップ手順
1. リポジトリをクローンする
git clone https://github.com/parth-patel97/mcp-server-gemini.git
cd mcp-server-gemini
2. 依存関係をインストールする
pip install -r requirements.txt
3. .env ファイルを作成する
プロジェクトのルートに .env ファイルを作成します。
GEMINI_API_KEY=your-gemini-api-key
SERP_API_KEY=your-serp-api-key
アプリは python-dotenv を使用してこれらを自動的に読み込みます。
4. アプリを実行する
streamlit run flight_search_ui.py
🖼 スクリーンショットの例
🔁 フロー図
🧠 仕組み
- ユーザーが自然言語で問い合わせを入力します。
- Streamlit が問い合わせを Gemini 2.5 に送信します。
- Gemini が問い合わせ内容を解釈し、関数呼び出し(ツールの使用)を生成します。
- MCP サーバー(
mcp-flight-search)経由でツールが実行され、SERP API からデータを取得します。 - 応答が整形され、Streamlit UI に表示されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。