All API requests require OAuth 2.0 authentication via Auth0. Get a token using the client credentials flow:
curl --request POST \
--url https://YOUR_AUTH0_DOMAIN/oauth/token \
--header 'content-type: application/json' \
--data '{
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_SECRET",
"audience": "https://api.trip-planner.app",
"grant_type": "client_credentials"
}'Include the token in the Authorization header: Bearer YOUR_TOKEN
The main API endpoint for all MCP tools:
POST /api/mcpRequest format:
{
"tool": "trip_create",
"arguments": {
"name": "Paris Vacation",
"destination": "Paris, France",
"startDate": "2026-06-01",
"endDate": "2026-06-07"
}
}trip_create - Create a new triptrip_get - Get trip detailstrip_list - List all tripstrip_update - Update trip detailstrip_delete - Delete a triptrip_item_add - Add flight, hotel, or activitytrip_item_list - List trip itemstrip_item_update - Update an itemtrip_item_delete - Delete an itemtrip_location_add - Save a location with coordinatestrip_location_list - List saved locationstrip_location_nearby - Find nearby locationstrip_location_delete - Delete a locationtrip_itinerary_get - Get full itinerary with timelinecurl -X POST https://your-app.vercel.app/api/mcp \
-H "Authorization: Bearer eyJ..." \
-H "Content-Type: application/json" \
-d '{
"tool": "trip_create",
"arguments": {
"name": "Tokyo Adventure",
"destination": "Tokyo, Japan",
"startDate": "2026-09-15",
"endDate": "2026-09-22",
"currency": "JPY",
"budgetTotal": 300000,
"timezone": "Asia/Tokyo"
}
}'Configure the MCP server in your Claude Desktop config to use natural language for trip planning:
{
"mcpServers": {
"trip-planner": {
"url": "https://your-app.vercel.app/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}Then ask Claude: "Create a 7-day trip to Barcelona starting June 1st with a €2000 budget"