Travel MCP Server
Mini Agent 03 · MCP
mini_agent_03_toolの旅行ToolをMCP Serverとして分離した小さな実践プロジェクトです。FastAPI BackendはTool関数を直接importせず、MCP Clientを通じてToolを発見し呼び出します。
Streamlit :8501
→ FastAPI Backend :8000
→ Travel MCP Server :8010/mcp (Streamable HTTP)
→ Policy MCP Server (stdio 자식 프로세스)
→ OpenAI Responses API가 한 번에 Tool 하나를 선택
→ Tool 결과를 돌려주고 필요한 만큼 반복Travel ServerはBackendと独立したプロセスとポートで実行します。Policy ServerはBackendがstdio子プロセスとして実行します。1つのAgentが2つのTransportを一緒に使いながら、Server prefixとルーティング、順次Tool依存性を学習します。
stdio学習例で変わる点
Tool実装とMCPのtools/list・tools/callの意味は変わりません。変わるのはServerの実行主体とメッセージを伝えるTransportです。
区分 | Policy MCP | Travel MCP |
Transport | stdio | Streamable HTTP |
Server実行 | Backendが子プロセスとして自動実行 | 最初のターミナルで独立実行 |
アドレス | Pythonファイルと実行コマンド |
|
ポート | なし | 8010 |
Server寿命 | Client Sessionとともに終了 | Backendと無関係に継続実行 |
提供Tool | ホテルポリシー照会 | 天気・ホテル検索 |
stdio
Backend → 자식 MCP Server
Streamable HTTP
Backend :8000 → 네트워크 → MCP Server :8010FrontendはMCP Serverを直接呼び出しません。ユーザーのリクエストは常にAgent Backendを経由し、GPTがToolを提案し、Backendが権限確認・MCP呼び出し・結果伝達を担当します。GPTはMCP Toolを直接実行しません。
Related MCP server: Trip Planner MCP Server
提供機能
GET /health: Backend状態GET /api/mcp/status: 別のMCP Server接続状態GET /api/mcp/tools: MCP Serverが公開したToolの発見GET /api/mcp/resources: MCP Resourceの発見POST /api/mcp/run: 質問 → Tool選択 → MCP呼び出し → 回答TraceGET /api/mcp/baggage-policy: MCP Resourceの読み取り
実習および実行順序
3つのプロセスの実行順序を守ります。前の段階が正常か確認してから次の段階に進むと、どの接続で問題が発生したか簡単に区別できます。
0. 구조 확인
→ 1. 가상환경 준비
→ 2. OpenAI 환경변수 설정
→ 3. MCP Server 실행 (:8010)
→ 4. Backend 실행 (:8000)
→ 5. Backend에서 MCP 연결 확인
→ 6. GPT·Tool·Resource API 확인
→ 7. Frontend 실행 (:8501)
→ 8. 화면에서 전체 Trace 확인0段階・呼び出し構造の確認
コードを実行する前に、次の4つのファイルの役割を確認します。
ファイル | 役割 |
| 天気・ホテルToolとResourceを公開するHTTP Server |
| ホテルIDでポリシーを照会するstdio Server |
| 2つのTransportのSessionを生成・管理するClient |
| Tool prefix・ルーティングと順次Agent Loop管理 |
1段階・仮想環境とパッケージ準備
最初の1回だけ実行します。
cd C:\mini_agent_st\mini_agent_03_mcp
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txtすでに.venvを作成した場合は、次の授業からはアクティベーションのみ行います。
cd C:\mini_agent_st\mini_agent_03_mcp
.\.venv\Scripts\Activate.ps12段階・OpenAI環境変数設定
.env.exampleを.envにコピーし、発行されたAPI Keyを入力します。
Copy-Item .env.example .envOPENAI_API_KEY=발급받은_API_KEY
OPENAI_MODEL=gpt-4.1-miniAPI KeyはGitにCommitしたり、画面やログに出力したりしません。
3段階・MCP Server実行
最初のターミナルを開いて実行します。
cd C:\mini_agent_st\mini_agent_03_mcp
.\.venv\Scripts\Activate.ps1
python .\mcp_server\travel_server.pyこのターミナルは終了しません。MCP endpointはhttp://127.0.0.1:8010/mcpです。コンソールに127.0.0.1:8010でサーバーが実行されたという案内が表示されたら、次の段階に進みます。
4段階・FastAPI Backend実行
2番目のターミナルを開いて実行します。
cd C:\mini_agent_st\mini_agent_03_mcp
.\.venv\Scripts\Activate.ps1
uvicorn backend.app.main:app --reload --port 8000Backend自体の状態を確認します。
Invoke-RestMethod http://127.0.0.1:8000/health予想結果の核心値は次のとおりです。
status : ok
mcp_servers : travel=streamable-http, policy=stdio5段階・BackendとMCP Server接続確認
3番目のPowerShellターミナルで実行します。
Invoke-RestMethod http://127.0.0.1:8000/api/mcp/status正常ならstatus=connected、tool_count=3が表示されます。ここで503が発生した場合は、Frontendを実行する前に、最初のターミナルのMCP ServerとTRAVEL_MCP_URLを先に確認します。
6段階・GPT、ToolとResource API確認
MCP Serverが公開したToolを確認します。
Invoke-RestMethod http://127.0.0.1:8000/api/mcp/tools |
ConvertTo-Json -Depth 10travel__get_current_weather、travel__search_hotels、policy__get_hotel_policyと各arguments Schemaが表示される必要があります。
Agent全体のフローを呼び出します。
$body = @{
question = "부산 날씨와 15만원 이하 호텔을 찾고 호텔 정책도 알려 주세요."
} | ConvertTo-Json
Invoke-RestMethod `
-Uri http://127.0.0.1:8000/api/mcp/run `
-Method Post `
-ContentType "application/json" `
-Body $body |
ConvertTo-Json -Depth 10応答で次の順序を確認します。
available_tools
→ travel__get_current_weather
→ travel__search_hotels
→ 검색 결과에서 hotel_id 획득
→ policy__get_hotel_policy(hotel_id)
→ Function Call이 없는 응답에서 Loop 종료
→ 일반적으로 llm_calls = Tool 실행 수 + 1
→ answerResourceも確認します。
Invoke-RestMethod http://127.0.0.1:8000/api/mcp/baggage-policy |
ConvertTo-Json -Depth 107段階・Streamlit Frontend実行
4番目のターミナルを開いて実行します。
cd C:\mini_agent_st\mini_agent_03_mcp
.\.venv\Scripts\Activate.ps1
streamlit run frontend\app.py --server.port 8501ブラウザでhttp://127.0.0.1:8501を開きます。FastAPI Swaggerはhttp://127.0.0.1:8000/docsです。
8段階・画面実習
次の順序でボタンを実行します。
上部のMCP接続状態が
connectedか確認します。MCP Tool発見を押してTool名とSchemaを確認します。基本質問でMCP Agentを実行します。
1ラウンドでToolが1つずつ実行されるか確認します。
ホテル検索結果の
hotel_idがPolicy Tool argumentsとして渡されるか確認します。質問を
서울에서 15만원 이하 호텔을 찾아 주세요.に変えてTool選択を比較します。수하물 정책 읽기でToolではなくResource照会を確認します。
終了順序
各実行ターミナルでCtrl+Cを押します。
Frontend 종료
→ Backend 종료
→ MCP Server 종료MCP Serverだけを先に終了した後、/api/mcp/statusを再度呼び出すと、Backendが503を返す接続失敗の実習もできます。
比較ポイント
|
|
BackendがTool関数を直接import | BackendはMCP Clientのみ使用 |
ToolリストがAgentコードに固定 |
|
Python関数を直接呼び出し |
|
アプリ内部Context | URIベースのMCP Resource |
環境変数
BACKEND_API_URL=http://127.0.0.1:8000
TRAVEL_MCP_URL=http://127.0.0.1:8010/mcp
MCP_HOST=127.0.0.1
MCP_PORT=8010
OPENAI_API_KEY=발급받은_API_KEY
OPENAI_MODEL=gpt-4.1-miniFrontendはBackendのみを呼び出し、MCP Server URLと実行権限はBackendが管理します。
Backendは2つのMCP Serverで発見したTool SchemaにServer prefixを付けてOpenAI Responses APIに渡します。parallel_tool_calls=Falseなので、GPTは1ラウンドでToolを1つ提案します。BackendがTool結果を返すとGPTが次のToolを選択し、Function Callなしで回答するまでAgent Loopを繰り返します。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides weather-aware travel planning tools that fetch 3-day forecasts and generate structured itineraries using a multi-agent orchestration system. It exposes specialized agents for weather data and trip planning to any MCP-compliant client.
- FlicenseNot gradedqualityBmaintenanceEnables managing travel itineraries with CRUD tools for journeys, stops, and plan items, plus weather lookup, integrated with public MCP servers for time and web search.
- AlicenseNot gradedqualityCmaintenanceCoordinates flights, hotels, events, weather, currency, and traffic data through a single MCP server, enabling comprehensive trip planning via natural language prompts.MIT
- FlicenseNot gradedqualityCmaintenanceProvides MCP tool endpoints for hotel and flight actions to support multi-agent travel planning.
Related MCP Connectors
Hotel booking MCP server. Search, book, and manage reservations across 250K+ properties worldwide.
TravelMind: 8 MCP tools for travel (12306 trains, flights, hotels, geocode, planning, policy).
AI marketplace — flights, tours, activities, transport & more via MCP. No auth required.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jyeyeyej/mini_team_03_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server