mcpField
T
Travel Itinerary Backend System with MCP

Travel Itinerary Backend System with MCP

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

Travel Itinerary Backend System with MCP について

FastAPIベースの旅行行程バックエンドで、AIアシスタントやアプリから旅程を作成・閲覧できます。REST API、SQLAlchemyのデータモデル、MCP対応に加え、プーケットとクラビのサンプルデータを備えています。

主な機能

  1. 01旅程と関連データモデルの管理
  2. 02REST APIによる旅程の作成と閲覧
  3. 03プーケットとクラビの初期データ
  4. 042~8泊のおすすめ旅程

活用シーン

  1. 01会話形式でおすすめ旅程を検索
  2. 02特定の旅程の詳細を確認
  3. 03新しい旅行プランを作成

MCP 対応

FastAPIにMCPを統合し、互換クライアントに旅程APIの操作を公開します。設定ではローカルの`/mcp`エンドポイントにSSEで接続します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP を使用した旅行日程バックエンドシステム

旅行日程を管理するための FastAPI ベースのバックエンドシステムです。このプロジェクトでは、AI アシスタントとの連携を強化するために、Model Context Protocol(MCP)を実装しています。

機能

  • データベースアーキテクチャ:旅行日程、宿泊施設、送迎、アクティビティの SQLAlchemy モデル
  • RESTful API:旅行日程を作成・表示するエンドポイント
  • シードデータ:プーケットとクラビー地域の現実的なデータを事前に登録したデータベース
  • おすすめの旅行日程:2~8 泊のサンプル旅行日程
  • MCP 連携:AI アシスタント向けの Model Context Protocol を全面的にサポート

インストール

  1. Python 3.8 以降がインストールされていることを確認します。

  2. こちらから uv(高速な Python パッケージインストーラー)をインストールします。

  3. このリポジトリをクローンし、プロジェクトディレクトリに移動します。

    git clone https://github.com/aryanranderiya/itinerary-mcp-server
    cd itinerary-mcp-server
    
  4. 仮想環境を作成し、依存関係をインストールします。

    uv venv
    uv sync
    
  5. 仮想環境を有効化します。

    Linux/macOS の場合:

    source .venv/bin/activate
    

    Windows(コマンドプロンプト)の場合:

    .venv\Scripts\activate.bat
    

    Windows(PowerShell)の場合:

    .venv\Scripts\Activate.ps1
    

プロジェクトの実行

開発モード

自動リロードを有効にして、開発モードでサーバーを実行します。 コードを編集する必要がある場合にのみ、開発モードで実行してください。

fastapi dev
本番モード

本番モードでサーバーを実行します。

fastapi start

API は http://localhost:8000 で、API ドキュメントは http://localhost:8000/docs で利用できます。

Model Context Protocol(MCP)の使用

このプロジェクトは Model Context Protocol (MCP) を実装しており、AI アシスタントが API と直接やり取りできるようにします。これにより、AI ツールが API の機能やデータ構造を理解し、ユーザーに代わって操作を実行できます。

MCP の設定

このプロジェクトには、必要な MCP 設定がすでに組み込まれています。

  • fastapi_mcp ライブラリ:FastAPI に MCP 機能を統合するために、fastapi_mcp ライブラリを使用します。
  • mcp.json:設定は .vscode/mcp.json ファイルにあり、MCP サーバーの設定を定義しています。
    {
      "servers": {
        "stay-often-mcp1": {
          "type": "sse",
          "url": "http://localhost:8000/mcp"
        }
      }
    }
    
    この設定では、Server-Sent Events(SSE)を使用して http://localhost:8000/mcp の MCP エンドポイントに接続します。

MCP 機能はサーバーに組み込まれており、すぐに使用できるため、追加の設定は不要です。

対応する MCP クライアント

MCP 対応クライアントであれば、どれでもこの API とのやり取りに使用できます。MCP クライアントには次のものがあります。

MCP の詳細については、MCP 公式ドキュメントをご覧ください。

例:GitHub Copilot での使用

GitHub Copilot を使ってこの API とやり取りする方法は次のとおりです。

  1. サーバーを起動します。

    fastapi dev
    
  2. GitHub Copilot との会話で、次のような操作をリクエストできます。

    • すべての旅行日程を取得する:

      プーケットのおすすめ旅行日程をすべて表示してもらえますか?
      
    • 特定の旅行日程を取得する:

      旅行日程 ID 3 の詳細を表示してください
      
    • 新しい旅行日程を作成する:

      次の詳細でクラビーの 5 泊の旅行日程を作成してください。名前:「Krabi Adventure」、1 日目はホテル 5 に宿泊してアクティビティ 10 と 11 を行い、2 日目はホテル 5 に宿泊してアクティビティ 12 を行うなど。
      

GitHub Copilot はこれらのリクエストを理解し、MCP プロトコルを通じて適切な API 呼び出しをユーザーに代わって実行します。

Screenshots

Screenshot from 2025-04-30 02-25-34 Screenshot from 2025-04-30 02-27-45

Screenshot from 2025-04-30 02-49-00 Screenshot from 2025-04-30 02-34-12 Screenshot from 2025-04-30 02-34-33 Screenshot from 2025-04-30 02-36-44

コメント

MCP は初めてですか?

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

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