Travel Assistant MCP Server
Integrates with Google Places API to find events, retrieve place details, and save places for travel planning.
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 Assistant MCP ServerPlan a 3-day trip to Paris with a moderate budget."
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 Assistant MCP Server
A production-ready Model Context Protocol (MCP) server for intelligent travel planning.
It combines 16 powerful tools, live API integrations, database persistence, and a gamification systemβperfect for the Vibe Summer Challenge 2025.
π Live Deployment
Endpoint | URL |
MCP Server | https://travel-assistant-mcp.virtuosoofcoding633.workers.dev/mcp |
Health Check | https://travel-assistant-mcp.virtuosoofcoding633.workers.dev/health |
Related MCP server: Concierge Voyage MCP
β¨ Feature Highlights
16 MCP tools (weather, events, expenses, itinerary, gamification)
Real APIs: FreeCurrencyAPI, Google Places, Open-Meteo, REST Countries
Gamification: Points, levels, unlockable rewards
Cloudflare Workers + D1 (SQLite) for serverless scale
TypeScript + Hono.js + Drizzle ORM for type-safe development
<7 ms average cold-start; sub-second responses
π Project Structure
travel-assistant-mcp/
βββ src/
β βββ index.ts # Worker entry
β βββ tools/ # 16 MCP tool handlers
β βββ db/ # Drizzle schema & migrations
β βββ lib/ # API helpers & gamification logic
βββ drizzle.config.ts
βββ wrangler.toml
βββ package.json
βββ .dev.vars.example
βββ README.mdπ Quick Start
1. Clone & Install
git clone https://github.com/Virtuoso633/travel-assistant-mcp.git
cd travel-assistant-mcp
npm install2. Environment Variables
cp .dev.vars.example .dev.vars
# Edit .dev.vars and add any API keys (optional β fallbacks provided)3. Local Database & Dev Server
npm run db:generate # create drizzle client
npm run db:migrate # apply migrations locally
npm run dev # wrangler dev --local (http://localhost:8787)4. Test Locally
curl -X POST http://localhost:8787/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'ποΈ Deploy to Cloudflare
Login & Deploy
npx wrangler login # OAuth or API token
npm run deploy # wrangler deployRemote Migration
npm run db:migrate:prod # applies migrations to D1 prod DBπ§ MCP Usage Examples
List Tools
curl -X POST https://travel-assistant-mcp.virtuosoofcoding633.workers.dev/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Create Itinerary
curl -X POST https://travel-assistant-mcp.virtuosoofcoding633.workers.dev/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc":"2.0",
"id":1,
"method":"tools/call",
"params":{
"name":"create_itinerary",
"arguments":{
"destination":"Kyoto, Japan",
"duration":3,
"startDate":"2025-09-15",
"interests":["culture","food"],
"budget":"mid-range",
"travelStyle":"solo",
"userId":"demo_user"
}
}
}'π₯οΈ Claude Desktop Integration
Create or edit:
~/.config/claude-desktop/claude_desktop_config.jsonAdd:
{ "mcpServers": { "travel-assistant": { "command": "npx", "args": ["@modelcontextprotocol/server-http", "https://travel-assistant-mcp.virtuosoofcoding633.workers.dev/mcp"] } } }Restart Claude Desktop and use prompts like:
Plan a 5-day trip to Tokyo with a mid-range budget.
π API Reference (MCP)
tools/list
POST /mcp
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}tools/call
POST /mcp
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tool_name",
"arguments": { /* tool-specific */ }
}
}π οΈ Scripts
npm run dev # local Cloudflare Worker
npm run deploy # deploy to Cloudflare
npm run db:generate # generate drizzle client
npm run db:migrate # migrate local DB
npm run db:migrate:prod # migrate prod D1
npm run test # MCP inspector
npm run lint # eslint
npm run type-check # TypeScript strict checkπ€οΈ 16 MCP Tools (Quick List)
Category | Tool | Description |
Weather |
| 5-day forecast |
| Compare two locations | |
Events |
| Google Places search |
| Save place to plan | |
| List saved places | |
| Detailed place info | |
Expenses |
| Track expense with FX |
| Live conversion | |
| Multi-currency rates | |
| Totals & breakdown | |
Itinerary |
| AI travel plan |
| Route/time optimizer | |
| List itineraries | |
| Itinerary detail | |
Gamification |
| Points/levels |
| Redeem reward |
βοΈ Environment Variables (.dev.vars.example)
# ---------------- Required ----------------
DB_URL="file:./local.db"
# -------------- Optional Keys --------------
GOOGLE_MAPS_API_KEY=""
FREE_CURRENCY_API_KEY=""
BETTER_AUTH_SECRET=""
# -------------- Development ---------------
NODE_ENV="development"
DEBUG="true"π Contributing
git checkout -b feature/amazing-feature
npm run lint && npm run type-check
git commit -m "Add amazing feature"
git push origin feature/amazing-feature
# open PRπ License
MIT β see LICENSE.
Built with β€οΈ for the Vibe Summer Challenge 2025
Demo Video URL :: https://drive.google.com/drive/folders/1_xjZcIVCSt5ZB9I2UmvN1YusxnDJO3pq?usp=sharing
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.
Latest Blog Posts
- 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/Virtuoso633/travel-assistant-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server