io.github.naeem-jtr/jtr-holidays
Search tours, attraction tickets, and holiday packages across 24 countries.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http jtr-holidays 'https://api.jtrholidays.com/mcp/v1'
{
"mcpServers": {
"jtr-holidays": {
"type": "http",
"url": "https://api.jtrholidays.com/mcp/v1"
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
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.
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.
| Header | Value |
|---|---|
Content-Type | application/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.
| Header | Value |
|---|---|
X-MCP-Secret | Your secret key |
Content-Type | application/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.
| Parameter | Type | Required | Description |
|---|---|---|---|
destination | string | No | City or country name (e.g. "Dubai", "Singapore") |
category | string | No | Activity category (e.g. "Desert Safari", "Sightseeing") |
budget_max | number | No | Maximum price per person in the activity's local currency |
limit | integer | No | Max results to return (default: 20, max: 50) |
get_activity_details
Get full details for a single activity including inclusions, exclusions, cancellation policy, and reviews.
| Parameter | Type | Required | Description |
|---|---|---|---|
activity_id | string | Yes | Activity UUID from search_activities results |
check_availability
Check if an activity is available on a specific date and return live pricing options.
| Parameter | Type | Required | Description |
|---|---|---|---|
activity_id | string | Yes | Activity UUID |
date | string | Yes | Date in Y-m-d format (e.g. "2025-12-25") |
pax | integer | No | Number 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
destination | string | No | Filter by country or region |
duration_days | integer | No | Filter by exact number of days |
limit | integer | No | Max 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:
| Region | Countries |
|---|---|
| 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
| Code | HTTP | Meaning |
|---|---|---|
-32600 | 400 | Invalid JSON-RPC request |
-32601 | 404 | Method not found |
-32602 | 422 | Invalid parameters or resource not found |
-32603 | 500 | Internal server error |
Contact & Support
- Website: jtrholidays.com
- MCP Docs: jtrholidays.com/mcp-docs
- Email: it@jtrholidays.com
- Phone: +971 4 385 2466
- Contact form: jtrholidays.com/contact-us
To request API access or report an issue, open a GitHub Issue or email us directly.
Powered by JTR Holidays ·
Frequently asked questions
What is io.github.naeem-jtr/jtr-holidays?
Search tours, attraction tickets, and holiday packages across 24 countries.
How do I install io.github.naeem-jtr/jtr-holidays?
It runs as a remote server. In Claude Code: claude mcp add --transport http jtr-holidays 'https://api.jtrholidays.com/mcp/v1'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.naeem-jtr/jtr-holidays need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.naeem-jtr/jtr-holidays open source?
Its code is public on GitHub, but the repository does not declare a standard license.
Who maintains io.github.naeem-jtr/jtr-holidays?
It is published by JTR-Holidays. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.