Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Travel Planner MCP ServerPlan a 3-day trip to Tokyo starting June 1st including the weather forecast."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Travel Planner MCP Server
A multi-agent travel planning system built with Google Agent Development Kit (ADK) that exposes its tools via the Model Context Protocol (MCP).
The system uses a root agent with two sub-agents — a weather agent and a travel plan agent — to create weather-aware 3-day travel itineraries. The tools are also exposed through an MCP server, making them accessible to any MCP-compliant client.
Architecture
Project Structure
Prerequisites
Python 3.10+
A Google API key (for Gemini model access)
Setup
Clone the repository:
git clone <repo-url> cd travel-planner-mcp-serverInstall dependencies:
pip install -r requirements.txtConfigure environment:
cp .env.example .env # Edit .env and add your Google API key
Usage
Option 1: Run the ADK Multi-Agent System Directly
This uses the root agent with its sub-agents through the ADK web UI:
The root agent will:
Ask for your destination and travel date
Delegate to the weather agent to fetch the forecast
Delegate to the travel plan agent to create the itinerary
Present a comprehensive 3-day travel plan
Option 2: Run the MCP Server
This exposes the tools via MCP protocol for any MCP client to consume:
The MCP server exposes two tools:
get_weather— Fetches 3-day weather forecast for a location using Open-Meteo APIcreate_travel_plan— Generates a structured 3-day travel itinerary template
Option 3: Run the MCP Client Agent
This demonstrates an ADK agent consuming the MCP server:
Option 4: Connect from Any MCP Client
Add to your MCP client configuration (e.g., Claude Desktop, Cursor, etc.):
Tools
get_weather
Fetches a 3-day weather forecast using the Open-Meteo API (free, no API key required).
Parameters:
Parameter | Type | Description |
| string | City or place name (e.g., "Paris", "Tokyo") |
| string | Start date in YYYY-MM-DD format |
Returns: Temperature (C/F), conditions, precipitation, wind speed, and UV index for 3 days.
create_travel_plan
Generates a structured 3-day travel itinerary template.
Parameters:
Parameter | Type | Description |
| string | Destination city or place |
| string | Trip start date (YYYY-MM-DD) |
| string | Weather conditions summary |
| string | Travel interests (default: "general sightseeing") |
Returns: Day-by-day itinerary structure with time slots, meals, and tips.
How It Works
This project demonstrates Pattern 2 from the ADK documentation: Building an MCP server with ADK tools.
ADK
FunctionToolwraps the Python tool functionsadk_to_mcp_tool_type()converts ADK tool schemas to MCP formatThe MCP server advertises tools via
list_toolsand executes them viacall_toolAny MCP client can discover and invoke the tools through the standard protocol
License
MIT