Route & Gas Station MCP Server
Provides tools for calculating driving distance and estimated travel time between locations, and for finding gas stations along a route using the Google Maps Routes and Places APIs.
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., "@Route & Gas Station MCP ServerWhat's the driving distance from Phoenix to Sedona?"
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.
Route & Gas Station Chatbot with MCP, Google ADK, and Google Maps
A local AI travel chatbot that calculates driving distance between two locations and finds gas stations near a route.
This project is built to understand the complete Model Context Protocol (MCP) flow:
User -> Google ADK Chatbot -> MCP Client -> MCP Server -> Google Maps APIsFeatures
Calculate driving distance and estimated travel duration
Find gas stations near sampled points on a driving route
Use Google ADK as the AI chatbot framework
Use FastMCP to expose Python functions as MCP tools
Use Google Routes API for driving routes
Use Google Places API (New) for gas-station searches
Run locally using Streamable HTTP MCP transport
Related MCP server: MCP Google Maps
Architecture
+------------------+
| User / ADK Web |
| http://localhost |
+--------+---------+
|
| Natural-language request
v
+------------------+
| Google ADK Agent |
| MCP Client |
+--------+---------+
|
| http://127.0.0.1:8002/mcp
v
+-------------------------------+
| FastMCP Server |
| route_mcp_server.py |
+---------------+---------------+
|
+----------------------------+
| |
v v
+--------------------------+ +--------------------------+
| Google Routes API | | Google Places API (New) |
| Distance and duration | | Gas stations |
+--------------------------+ +--------------------------+Project Structure
mcp-route-chatbot/
│
├── .env
├── .gitignore
├── README.md
├── requirements.txt
├── route_mcp_server.py
│
└── route_chatbot/
├── __init__.py
└── agent.pyPrerequisites
Python 3.10 or later
Google Gemini API key for Google ADK
Google Maps Platform API key
Google Cloud billing account connected to the Google Maps project
Enabled Google Maps APIs:
Routes API
Places API (New)
Setup
1. Clone the repository
git clone https://github.com/YOUR_GITHUB_USERNAME/mcp-route-chatbot.git
cd mcp-route-chatbot2. Create and activate a virtual environment
Windows PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1macOS/Linux:
python3 -m venv .venv
source .venv/bin/activate3. Install dependencies
python -m pip install -r requirements.txt4. Configure environment variables
Create a .env file in the project root:
GOOGLE_API_KEY=your_gemini_api_key
GOOGLE_MAPS_API_KEY=your_google_maps_platform_api_keyNever commit your
.envfile or API keys to GitHub.
Google Maps Setup
Open Google Cloud Console
Create a new Google Cloud project
Link a billing account
Enable the following APIs:
Routes API
Places API (New)
Go to APIs & Services -> Credentials
Create an API key
Restrict the key to only:
Routes API
Places API (New)
Add the key to
.envasGOOGLE_MAPS_API_KEY
Run the Application
The project has two independently running services.
Terminal 1: Start the MCP server
python route_mcp_server.pyExpected MCP endpoint:
http://127.0.0.1:8002/mcpTerminal 2: Start ADK Web UI
adk web --port 8001Open this URL in your browser:
http://127.0.0.1:8001Select the route_chatbot agent in the ADK Web UI.
Example Prompts
Ask these questions in ADK Web UI:
What is the driving distance from Phoenix, Arizona to Sedona, Arizona?How long does it take to drive from Phoenix, Arizona to Flagstaff, Arizona?Find 5 gas stations from Phoenix, Arizona to Flagstaff, Arizona.Show gas stations on the route from Los Angeles, California to Las Vegas, Nevada.MCP Tools
The FastMCP server exposes these tools to the ADK agent.
Tool | Purpose |
| Returns driving distance in miles/kilometers and estimated driving time |
| Finds gas stations around sampled coordinates along the route |
route_distance
Example tool input:
{
"origin": "Phoenix, Arizona",
"destination": "Sedona, Arizona"
}Example response:
{
"origin": "Phoenix, Arizona",
"destination": "Sedona, Arizona",
"distance_km": 186.4,
"distance_miles": 115.8,
"estimated_drive_minutes": 125.0
}gas_stations_on_route
Example tool input:
{
"origin": "Phoenix, Arizona",
"destination": "Flagstaff, Arizona",
"max_results": 5
}Important Ports
Service | Port | URL |
ADK Web UI | 8001 |
|
MCP Server | 8002 |
|
Do not open the MCP URL directly in a browser. It is a Streamable HTTP endpoint for MCP clients and may return an error such as Client must accept text/event-stream. The ADK agent is the MCP client that should connect to this endpoint.
API Cost Notes
Google Maps Platform APIs use pay-as-you-go pricing. This project can make:
One Routes API call for a distance question
One Routes API call plus several Places Nearby Search calls for a gas-station question
For learning and low-volume local usage, create a dedicated Google Cloud project and configure a small billing budget alert before testing.
Troubleshooting
Issue | Possible cause | Solution |
|
| Put |
| API not enabled, billing not linked, or restricted key | Enable Routes API and Places API (New), verify billing and key restrictions |
| Normal behavior | Use the MCP endpoint |
| MCP URL opened in a browser | This is expected; start ADK Web and let ADK connect |
ADK cannot find MCP tools | Incorrect MCP URL or MCP server is stopped | Confirm |
| API quota or rate limit | Reduce calls and review Google Cloud quotas and billing |
Security
Keep API keys only in
.envAdd
.envto.gitignoreRestrict the Google Maps API key to Routes API and Places API (New)
Use IP restrictions when deploying the MCP server
Do not expose server-side API keys in a frontend application
Future Improvements
Add real-time fuel price data from a fuel-price provider
Add route preferences such as avoiding tolls or highways
Recommend the best fuel stop based on rating, route position, and opening hours
Add route map visualization
Add unit tests with
pytestand mocked Google API responsesDockerize the MCP server and ADK application
Deploy the MCP server to Cloud Run or AWS ECS
Add an approval step before sharing a travel plan
Learning Outcomes
This project demonstrates:
MCP server development with FastMCP
MCP client integration with Google ADK
Agent tool calling
Streamable HTTP transport
API-key management with
.envGoogle Maps Routes API integration
Google Places API integration
Local multi-service application development
License
This project is licensed under the MIT License. See the LICENSE file for details.
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
- AlicenseCqualityDmaintenanceProvides access to Google Maps API functionality including geocoding, place search, direction routing, and distance calculations through a structured MCP interface.Last updated418MIT
- AlicenseAqualityDmaintenanceProvides access to Google Maps API functionality including places search, geocoding, directions, distance matrix, elevation data, and static map generation through the MCP interface.Last updated8491MIT
- AlicenseAqualityAmaintenanceEnables AI assistants to access Google Maps services including places search, details, directions, geocoding, and nearby search through natural language.Last updated62MIT
- Alicense-qualityDmaintenanceEnables interaction with Google Maps API for geocoding, place search, directions, distance matrices, and elevation data through natural language.Last updatedMIT
Related MCP Connectors
Google Maps MCP Pack — geocoding, places, directions, distance matrix, elevation.
Live Google Maps business search, review, and photo data for AI agents over MCP.
x402-gated geocoding + distance gateway. Tools: geocode, distance.
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/selvatest/mcp-practice'
If you have feedback or need assistance with the MCP directory API, please join our Discord server