.cursor/mcp.json
{
"mcpServers": {
"travaso": {
"url": "https://elitetravelsales.com/api/backend/mcp",
"headers": {
"Authorization": "Bearer tk_live_travaso_REPLACE_WITH_YOUR_TOKEN"
}
}
}
}Connect Cursor, Claude, Codex, or any coding agent to Travaso hotel search, checkout links, booking attribution, and commission tracking.
tk_live_travaso_REPLACE_WITH_YOUR_TOKENTreat this like a password. Use it as a Bearer token or as x-travaso-agent-token for clients that cannot set Authorization headers.
Use MCP for Cursor, Claude Code, Claude API, Codex, and any client that can call a remote Streamable HTTP MCP server. Use the REST examples only when your platform cannot speak MCP yet.
Pasting the agent brief into a plain chat is not enough unless that chat runtime has this MCP server installed.
https://elitetravelsales.com/api/backend/mcpAuthorization: Bearer <token>These are safe to hand to a developer or coding agent. Keep the token server-side and never commit a real key into a public repo.
{
"mcpServers": {
"travaso": {
"url": "https://elitetravelsales.com/api/backend/mcp",
"headers": {
"Authorization": "Bearer tk_live_travaso_REPLACE_WITH_YOUR_TOKEN"
}
}
}
}claude mcp add --transport http travaso https://elitetravelsales.com/api/backend/mcp \ --header "Authorization: Bearer tk_live_travaso_REPLACE_WITH_YOUR_TOKEN"
{
"mcp_servers": [
{
"type": "url",
"name": "travaso",
"url": "https://elitetravelsales.com/api/backend/mcp",
"authorization_token": "tk_live_travaso_REPLACE_WITH_YOUR_TOKEN"
}
],
"tools": [
{
"type": "mcp_toolset",
"mcp_server_name": "travaso"
}
]
}curl -X POST https://elitetravelsales.com/api/backend/mcp \
-H "Authorization: Bearer tk_live_travaso_REPLACE_WITH_YOUR_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "search_competitive_hotel_quotes",
"arguments": {
"location": "Boston",
"checkIn": "2026-07-25",
"checkOut": "2026-07-26",
"adults": 1,
"rooms": 1,
"firstName": "John",
"lastName": "T",
"email": "[email protected]",
"phoneNumber": "+15555550100",
"maxResults": 3
}
}
}'You are integrating Travaso hotel commerce into this codebase. Goal: - Let users search live hotels, compare the public Booking.com-style price against Travaso cost, and create a tracked checkout link. - Attribute every quote, checkout, booking, commission, and payout status to this Travaso agent key. Use MCP first: - Endpoint: https://elitetravelsales.com/api/backend/mcp - Header: Authorization: Bearer tk_live_travaso_REPLACE_WITH_YOUR_TOKEN - Important: a prompt does not install tools by itself. Configure the MCP client first; if the runtime cannot use MCP, call the REST fallback endpoints from server-side code. - Tools: 1. search_competitive_hotel_quotes: quote hotels and return recommendationId values. 2. create_offer_checkout_link: create a Stripe checkout URL from a selected recommendationId. 3. get_offer_status: check payment, booking, earning, and payout readiness. 4. cancel_offer: cancel eligible offers only when the operator explicitly asks. Required UX: - Ask for destination, check-in, check-out, adults, rooms, traveler name, email, and phone before quoting. - Show 2-4 options with public price, Travaso cost/sell price, potential profit, and why each option fits. - Do not create checkout until the traveler approves a specific option. - After checkout, store offerId and use get_offer_status for follow-up. - Explain that commission is tracked, but payout is not unlocked until the stay is finished. Acceptance criteria: - The integration never exposes this token in client-side code. - Server-side code uses the MCP server or the REST fallback endpoints. - The checkout URL is displayed exactly as returned by Travaso. - Errors from tools are shown as recoverable booking/availability messages.
You are a Travaso hotel booking agent. When a traveler asks for hotels: 1. Use search_competitive_hotel_quotes with destination, dates, guests, budget, and traveler contact info. 2. Present 2-4 strong hotel options and explain why each one fits. 3. After the traveler chooses, call create_offer_checkout_link with the selected recommendationId. 4. Send the checkoutUrl to the traveler and tell them the booking is not complete until payment is finished. 5. Use get_offer_status later to confirm payment, booking status, earning status, and payout readiness. Rules: - Never create checkout before explicit traveler approval. - Never promise a payout date until get_offer_status shows the earning is payable or paid. - If price or availability changes, re-quote before presenting options again.
curl -X POST https://elitetravelsales.com/api/backend/agent/hotel-quotes \
-H "Authorization: Bearer tk_live_travaso_REPLACE_WITH_YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"location": "Santa Monica",
"checkIn": "2026-08-21",
"checkOut": "2026-08-24",
"adults": 2,
"rooms": 1,
"firstName": "Avery",
"lastName": "Stone",
"email": "[email protected]",
"phoneNumber": "+14155550124",
"maxResults": 5,
"isLuxury": true
}'curl -X POST https://elitetravelsales.com/api/backend/agent/checkout-link \
-H "Authorization: Bearer tk_live_travaso_REPLACE_WITH_YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"recommendationId": "rec_from_hotel_quotes",
"location": "Santa Monica",
"checkIn": "2026-08-21",
"checkOut": "2026-08-24",
"adults": 2,
"rooms": 1,
"firstName": "Avery",
"lastName": "Stone",
"email": "[email protected]",
"phoneNumber": "+14155550124"
}'curl -X GET https://elitetravelsales.com/api/backend/agent/portal/stats \ -H "Authorization: Bearer tk_live_travaso_REPLACE_WITH_YOUR_TOKEN"
Every booking created with this key is attributed to the agent. Payouts stay locked until the stay is complete, then appear in stats as owed commission for the next payout cycle.