Jenesis Travel

Bangkok boutique planner: live Thailand journeys, prices, FAQs, and enquiry handoff.

Should I use this

Quality & Safety

B
Description quality
93%
Schema completeness
67%
Naming quality
97%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'start_enquiry' description contains placeholder textin start_enquiry
  • INFOTool description contains placeholder or incomplete textin start_enquiry

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,572Tokens (tool definitions)
~1.9 KBTypical response size
Moderate attention impact (1.23% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "travel": {
      "url": "https://jenesistravel.com/mcp"
    }
  }
}

Remote endpoints

https://jenesistravel.com/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_company

Company facts for Jenesis Travel: licence, contact, WhatsApp, enquiry-led model. Call this first. If the user wants a real person, share the WhatsApp URL.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_journeys(kind, q, limit)

List published Jenesis journeys, residences, group programmes, and packages (including Phuket Fit). Live CMS data. Enquiry-led — not a booking inventory.

Input Schema

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "journey",
        "residence",
        "group",
        "package",
        "all"
      ]
    },
    "q": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢get_journey(slug, currency)

Get one published journey, residence, group programme, or package by slug. Use list_journeys if the slug is unknown.

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1
    },
    "currency": {
      "type": "string",
      "enum": [
        "GBP",
        "USD",
        "AUD",
        "EUR",
        "THB"
      ]
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢list_faqs(pillar, q, limit)

Published FAQs from the Jenesis CMS, optionally filtered by pillar or search text.

Input Schema

{
  "type": "object",
  "properties": {
    "pillar": {
      "type": "string",
      "enum": [
        "thailand-journeys",
        "group-travel",
        "general"
      ]
    },
    "q": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢estimate_budget(nights, style, travelers, region, inclusions)

Indicative independent USD range from the Jenesis budget calculator. Not a quote. Mid-range to ultra-luxury is what Jenesis plans.

Input Schema

{
  "type": "object",
  "properties": {
    "nights": {
      "anyOf": [
        {
          "type": "number",
          "const": 3
        },
        {
          "type": "number",
          "const": 5
        },
        {
          "type": "number",
          "const": 7
        },
        {
          "type": "number",
          "const": 10
        },
        {
          "type": "number",
          "const": 14
        },
        {
          "type": "number",
          "const": 21
        }
      ]
    },
    "style": {
      "type": "string",
      "enum": [
        "budget",
        "mid-range",
        "luxury",
        "ultra-luxury"
      ]
    },
    "travelers": {
      "anyOf": [
        {
          "type": "number",
          "const": 1
        },
        {
          "type": "number",
          "const": 2
        },
        {
          "type": "number",
          "const": 3
        },
        {
          "type": "number",
          "const": 4
        },
        {
          "type": "number",
          "const": 6
        },
        {
          "type": "number",
          "const": 8
        }
      ]
    },
    "region": {
      "type": "string",
      "enum": [
        "bangkok",
        "islands",
        "chiangmai",
        "huahin",
        "mixed"
      ]
    },
    "inclusions": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "spa",
          "cooking-class",
          "yacht",
          "private-guide",
          "airport-transfer"
        ]
      }
    }
  },
  "required": [
    "nights",
    "style",
    "travelers",
    "region"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴start_enquiry(name, email, phone, enquiryType, experience, ...)

File a planning enquiry with Jenesis Travel. Call only after the user has stated their own name and email in the conversation and confirmed they want Jenesis to reply. Never invent or substitute contact details: an enquiry carrying a placeholder address cannot be answered and is rejected. If you do not have a real email, ask for it, or share the contact form or WhatsApp instead of calling this tool. One enquiry per email every 4 hours — do not retry if it already succeeded. This does not reserve hotels or take payment.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 2,
      "maxLength": 80,
      "description": "The traveller's own name, exactly as they gave it in the conversation. Do not invent one."
    },
    "email": {
      "type": "string",
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "The traveller's own email address, exactly as they gave it in the conversation. This is the only way Jenesis can reply, so it must be an address they actually read. Never guess one, derive one from their name, or fill in a documentation placeholder such as an example.com address — ask the traveller for it instead."
    },
    "phone": {
      "type": "string"
    },
    "enquiryType": {
      "type": "string",
      "enum": [
        "private",
        "group",
        "phuket_fit"
      ]
    },
    "experience": {
      "type": "string",
      "enum": [
        "wellness-retreats",
        "boutique-hotels",
        "culinary-tours",
        "adventure",
        "family-holiday",
        "destination-wedding",
        "cultural-heritage",
        "romantic-escapes",
        "island-coastal",
        "home-away",
        "amanta-sathorn",
        "riverine-place",
        "not-sure"
      ]
    },
    "roomType": {
      "type": "string",
      "enum": [
        "1-bed-deluxe",
        "1-bed-executive",
        "2-bed-deluxe",
        "2-bed-executive",
        "1-bed",
        "2-bed",
        "3-bed"
      ]
    },
    "travelers": {
      "type": "string",
      "enum": [
        "1",
        "2",
        "3-4",
        "5-8",
        "9+",
        "5+"
      ]
    },
    "budget": {
      "type": "string",
      "enum": [
        "under-1000",
        "1000-2500",
        "2500-5000",
        "5000-10000",
        "10000+"
      ]
    },
    "groupProgramme": {
      "type": "string",
      "enum": [
        "corporate-incentive",
        "bangkok-phuket",
        "bangkok-pattaya",
        "phuket-krabi",
        "retreat",
        "trade-partner",
        "private-group",
        "not-sure"
      ]
    },
    "groupSize": {
      "type": "string",
      "enum": [
        "8-20",
        "21-40",
        "41-80",
        "81-120",
        "120+",
        "not-sure"
      ]
    },
    "groupObjective": {
      "type": "string",
      "maxLength": 2000
    },
    "phuketFitPackage": {
      "type": "string",
      "enum": [
        "5N/6D Fit Reset",
        "6N/7D Fit & Wellness Journey",
        "7N/8D Signature Phuket Fit Camp",
        "Not sure yet"
      ]
    },
    "fitnessLevel": {
      "type": "string",
      "enum": [
        "Beginner",
        "Intermediate",
        "Advanced"
      ]
    },
    "startDate": {
      "type": "string"
    },
    "endDate": {
      "type": "string"
    },
    "comments": {
      "type": "string",
      "maxLength": 2000
    },
    "message": {
      "type": "string",
      "maxLength": 2000
    },
    "clientLabel": {
      "type": "string",
      "enum": [
        "claude",
        "chatgpt",
        "grok",
        "other"
      ]
    }
  },
  "required": [
    "name",
    "email",
    "enquiryType"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools