Odel
jtr holidays mcp

jtr holidays mcp

@jtr-holidaysDeveloper ToolsUpdated 2mo ago

Search tours, attraction tickets, and holiday packages across 24 countries.

Server endpointStreamable HTTP

This is the third-party server itself โ€” Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

JTR Holidays MCP Server

Connect your AI assistant to JTR Holidays' live catalogue of attraction tickets, tours, and multi-day holiday packages via the Model Context Protocol.

MCP Protocol JSON-RPC Destinations

JTR Holidays is a Dubai-based global travel platform rated 5 stars on Trustpilot (734+ reviews). This MCP server gives AI assistants real-time access to search activities, check availability, and browse holiday packages across 24 countries โ€” all via a single JSON-RPC 2.0 endpoint.


Table of Contents


Quick Start

Endpoint

POST https://api.jtrholidays.com/mcp/v1
Content-Type: application/json

No API key needed. All five browse/search tools are publicly accessible.

Auto-discovery (no auth required)

GET https://api.jtrholidays.com/.well-known/mcp.json

MCP Handshake

{
  "jsonrpc": "2.0",
  "method": "initialize",
  "id": 1,
  "params": {
    "protocolVersion": "2024-11-05",
    "clientInfo": { "name": "your-client", "version": "1.0" }
  }
}

List available tools

{
  "jsonrpc": "2.0",
  "method": "tools/list",
  "id": 2
}

Call a tool

All tool calls use the tools/call method:

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 3,
  "params": {
    "name": "<tool_name>",
    "arguments": { }
  }
}

Authentication

This server uses a two-tier access model:

Tier 1 โ€” Public (no authentication required)

All five current tools are publicly accessible. No API key, no sign-up, no waiting.

HeaderValue
Content-Typeapplication/json

Rate limit: 100 requests/minute per IP.

POST https://api.jtrholidays.com/mcp/v1
Content-Type: application/json

Tier 2 โ€” Protected (future write tools)

Future write and mutation tools (e.g. create_booking, update_inventory) will require a secret header. These tools do not exist yet.

HeaderValue
X-MCP-SecretYour secret key
Content-Typeapplication/json

Rate limit: 1000 requests/minute per IP for authenticated callers.

To request authenticated access for integrations, contact us at it@jtrholidays.com.

The discovery endpoint (GET /.well-known/mcp.json) is always public.


Available Tools

search_activities

Search JTR Holidays' activity and tour catalogue by destination, category, and budget.

ParameterTypeRequiredDescription
destinationstringNoCity or country name (e.g. "Dubai", "Singapore")
categorystringNoActivity category (e.g. "Desert Safari", "Sightseeing")
budget_maxnumberNoMaximum price per person in the activity's local currency
limitintegerNoMax results to return (default: 20, max: 50)

get_activity_details

Get full details for a single activity including inclusions, exclusions, cancellation policy, and reviews.

ParameterTypeRequiredDescription
activity_idstringYesActivity UUID from search_activities results

check_availability

Check if an activity is available on a specific date and return live pricing options.

ParameterTypeRequiredDescription
activity_idstringYesActivity UUID
datestringYesDate in Y-m-d format (e.g. "2025-12-25")
paxintegerNoNumber of people (default: 1)

get_destinations

List all destinations (countries) where JTR Holidays offers tours, with activity counts and popular picks. Takes no parameters.


get_holiday_packages

Browse multi-day holiday packages with itineraries, departure dates, and pricing.

ParameterTypeRequiredDescription
destinationstringNoFilter by country or region
duration_daysintegerNoFilter by exact number of days
limitintegerNoMax results to return (default: 20, max: 50)

Examples

1. Search activities in Dubai

Request

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "search_activities",
    "arguments": {
      "destination": "Dubai",
      "category": "Desert Safari",
      "budget_max": 200,
      "limit": 2
    }
  }
}

Response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"activities\":[{\"activity_id\":\"a1b2c3d4-0001-0001-0001-000000000001\",\"title\":\"Dubai Evening Desert Safari with BBQ Dinner\",\"description\":\"Experience the magic of the Dubai desert with dune bashing, camel riding, and a live BBQ dinner under the stars.\",\"price_from\":55,\"currency\":\"AED\",\"city\":\"Dubai\",\"country\":\"UAE\",\"rating\":4.8,\"booking_url\":\"https://jtrholidays.com/activity/dubai-evening-desert-safari\"},{\"activity_id\":\"a1b2c3d4-0001-0001-0001-000000000002\",\"title\":\"Dubai Morning Desert Safari with Camel Ride\",\"description\":\"A sunrise desert adventure with sandboarding, camel ride, and a traditional Bedouin breakfast.\",\"price_from\":45,\"currency\":\"AED\",\"city\":\"Dubai\",\"country\":\"UAE\",\"rating\":4.7,\"booking_url\":\"https://jtrholidays.com/activity/dubai-morning-desert-safari\"}],\"total\":2}"
      }
    ]
  }
}

2. Check availability for an activity

Request

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 2,
  "params": {
    "name": "check_availability",
    "arguments": {
      "activity_id": "a1b2c3d4-0001-0001-0001-000000000001",
      "date": "2025-12-25",
      "pax": 2
    }
  }
}

Response

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"available\":true,\"date\":\"2025-12-25\",\"options\":[{\"option\":\"Standard Package\",\"available\":true,\"pax_types\":[{\"type\":\"Adult\",\"note\":\"12+ years\",\"price\":55,\"discount_price\":49,\"currency\":\"AED\"},{\"type\":\"Child\",\"note\":\"3-11 years\",\"price\":40,\"discount_price\":null,\"currency\":\"AED\"},{\"type\":\"Infant\",\"note\":\"Under 3\",\"price\":0,\"discount_price\":null,\"currency\":\"AED\"}]},{\"option\":\"VIP Package\",\"available\":true,\"pax_types\":[{\"type\":\"Adult\",\"note\":\"12+ years\",\"price\":120,\"discount_price\":null,\"currency\":\"AED\"}]}],\"booking_url\":\"https://jtrholidays.com/activity/dubai-evening-desert-safari\"}"
      }
    ]
  }
}

3. List all destinations

Request

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 3,
  "params": {
    "name": "get_destinations",
    "arguments": {}
  }
}

Response

{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"destinations\":[{\"destination\":\"United Arab Emirates\",\"country_code\":\"AE\",\"activity_count\":148,\"popular_activities\":[{\"activity_id\":\"a1b2c3d4-0001-0001-0001-000000000001\",\"title\":\"Dubai Evening Desert Safari with BBQ Dinner\",\"price_from\":55,\"currency\":\"AED\",\"booking_url\":\"https://jtrholidays.com/activity/dubai-evening-desert-safari\"},{\"activity_id\":\"a1b2c3d4-0001-0001-0001-000000000010\",\"title\":\"Burj Khalifa At the Top Tickets\",\"price_from\":149,\"currency\":\"AED\",\"booking_url\":\"https://jtrholidays.com/activity/burj-khalifa-at-the-top\"}]},{\"destination\":\"Maldives\",\"country_code\":\"MV\",\"activity_count\":32,\"popular_activities\":[{\"activity_id\":\"a1b2c3d4-0001-0001-0002-000000000001\",\"title\":\"Maldives Sunset Dolphin Cruise\",\"price_from\":65,\"currency\":\"USD\",\"booking_url\":\"https://jtrholidays.com/activity/maldives-sunset-dolphin-cruise\"}]},{\"destination\":\"Singapore\",\"country_code\":\"SG\",\"activity_count\":27,\"popular_activities\":[{\"activity_id\":\"a1b2c3d4-0001-0001-0003-000000000001\",\"title\":\"Singapore Zoo Day Ticket\",\"price_from\":48,\"currency\":\"SGD\",\"booking_url\":\"https://jtrholidays.com/activity/singapore-zoo-ticket\"}]}]}"
      }
    ]
  }
}

Supported Destinations

JTR Holidays offers tours and activities across 24 countries:

RegionCountries
Middle East๐Ÿ‡ฆ๐Ÿ‡ช United Arab Emirates ยท ๐Ÿ‡ด๐Ÿ‡ฒ Oman ยท ๐Ÿ‡ฏ๐Ÿ‡ด Jordan
South & Southeast Asia๐Ÿ‡ธ๐Ÿ‡ฌ Singapore ยท ๐Ÿ‡ป๐Ÿ‡ณ Vietnam ยท ๐Ÿ‡น๐Ÿ‡ญ Thailand ยท ๐Ÿ‡ฒ๐Ÿ‡พ Malaysia ยท ๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesia ยท ๐Ÿ‡ฒ๐Ÿ‡ป Maldives
East Asia๐Ÿ‡ฏ๐Ÿ‡ต Japan ยท ๐Ÿ‡ฐ๐Ÿ‡ท South Korea ยท ๐Ÿ‡ญ๐Ÿ‡ฐ Hong Kong
Europe๐Ÿ‡ซ๐Ÿ‡ท France ยท ๐Ÿ‡ฎ๐Ÿ‡น Italy ยท ๐Ÿ‡ช๐Ÿ‡ธ Spain ยท ๐Ÿ‡ณ๐Ÿ‡ฑ Netherlands ยท ๐Ÿ‡จ๐Ÿ‡ญ Switzerland ยท ๐Ÿ‡ฌ๐Ÿ‡ท Greece ยท ๐Ÿ‡ฆ๐Ÿ‡น Austria ยท ๐Ÿ‡น๐Ÿ‡ท Turkey
Oceania๐Ÿ‡ฆ๐Ÿ‡บ Australia ยท ๐Ÿ‡ณ๐Ÿ‡ฟ New Zealand
Americas & UK๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom ยท ๐Ÿ‡บ๐Ÿ‡ธ United States

Use get_destinations to retrieve live activity counts and popular picks for each country.


Error Codes

CodeHTTPMeaning
-32600400Invalid JSON-RPC request
-32601404Method not found
-32602422Invalid parameters or resource not found
-32603500Internal server error

Contact & Support

To request API access or report an issue, open a GitHub Issue or email us directly.


Powered by JTR Holidays ยท