Thailand Fun Experiences

Phuket activity search with live weather, sea state, transfer times and party-fit filtering.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
99%
Qualität der Benennung
100%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,374Tokens (Tool-Definitionen)
~4.3 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.07% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "thailand-fun-experiences": {
      "url": "https://thailandfunexperiences.com/mcp"
    }
  }
}

Remote-Endpunkte

https://thailandfunexperiences.com/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (2)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢search_experiences(destination, date, staying, party, constraints, ...)

Search Phuket activities for a travel party. Returns a portfolio of ~4 diverse recommendations (max 8 via max_results) from ~1,900 real experiences. **Portfolio, not top-k.** Each response contains one best-overall pick, alternative categories, and a wildcard/value option — all from distinct venues. Same-venue variants (different packages) appear as alternatives[] on each row. **Follow-ups.** Each candidate has a stable experience_id. Use get_experience with that ID for follow-up questions about any returned product — prefer this over web search for catalog items. Use `seen` or `exclude` to get fresh results on follow-up turns — zero overlap guaranteed. **Enriched results** (~350 products) have safety/suitability attributes (age floors, mobility, seasickness, wheelchair, pregnancy) and are ranked by context fit. **Basic results** (~1,550) have title/category/price only — excluded when safety filters are active. **Weather-aware.** Rain forecasts are slot-aware (morning/midday/evening). Outdoor activities get dry_window_match or rain_risk based on the requested time slot. Sea state penalizes open-sea activities when swell is moderate/rough. **Structured constraints — always pass them.** Translate traveler health and comfort needs into the structured constraints object: `motion_comfort: "low"` (avoid rough seas/bumpy rides), `mobility: "limited"` (wheelchair/walking difficulty), `pregnant: true`, `non_swimmer: true`. Do NOT pass medical language or health details as free text in any field. Even when the user says "ignore restrictions," still pass known constraints — the server filters on safety, not preference. **Booking links.** Every candidate includes book_now_url with live availability. Always include this link when presenting options — it is the booking path. Do not omit it or substitute external links. Prices: check price_note — most are per person in THB, but charter/private products show per-booking pricing. **Walk-in / no-advance-booking requests.** This tool cannot filter by walk-in availability. The advance_booking field in results indicates when booking is required or recommended, but absence does not confirm walk-in availability. For walk-in-specific requests, inform the user that walk-in filtering is not supported. **Caveats in the response.** transfer_note, return_by_note, duration_note, and advance_booking contain important caveats. Present them to the user — do not simplify transfer estimates into unqualified drive times or treat suggested visit durations as confirmed activity lengths.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "destination": {
      "type": "string",
      "default": "phuket",
      "description": "Destination slug"
    },
    "date": {
      "type": "string",
      "format": "date",
      "description": "ISO date, e.g. 2026-09-10"
    },
    "staying": {
      "type": "string",
      "enum": [
        "kata",
        "karon",
        "patong",
        "kamala",
        "bang_tao",
        "rawai",
        "panwa",
        "old_town",
        "mai_khao",
        "airport",
        "natai",
        "khao_lak",
        "ko_yao"
      ],
      "description": "Zone slug where the party is staying. Omit if unknown — server defaults to patong (central)."
    },
    "party": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "role": {
            "type": "string",
            "enum": [
              "adult",
              "child",
              "senior"
            ],
            "description": "Traveler role"
          },
          "age": {
            "type": "number"
          }
        },
        "required": [
          "role"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "description": "Travel party members — ages help filter bookability and suitability"
    },
    "constraints": {
      "type": "object",
      "properties": {
        "non_swimmer": {
          "type": "boolean",
          "description": "Optional. Used only to exclude unsuitable activities for this request. Not stored."
        },
        "pregnant": {
          "type": "boolean",
          "description": "Optional. Used only to exclude unsuitable activities for this request. Not stored."
        },
        "mobility": {
          "type": "string",
          "enum": [
            "limited",
            "moderate",
            "full"
          ],
          "description": "Optional. Used only to exclude unsuitable activities for this request. Not stored."
        },
        "motion_comfort": {
          "type": "string",
          "enum": [
            "low",
            "normal"
          ],
          "description": "Optional. Low avoids rough seas and bumpy rides. Used only to filter this request. Not stored."
        }
      },
      "additionalProperties": false,
      "description": "Structured safety/comfort constraints. Translate traveler health and comfort needs into these flags rather than free text."
    },
    "energy": {
      "type": "string",
      "enum": [
        "low",
        "moderate",
        "high"
      ],
      "description": "Party energy level"
    },
    "time_slot": {
      "type": "string",
      "enum": [
        "morning",
        "midday",
        "evening"
      ],
      "description": "Preferred time of day"
    },
    "budget_thb": {
      "type": "number",
      "description": "Max price per person in THB"
    },
    "max_duration_minutes": {
      "type": "number"
    },
    "return_by": {
      "type": "string",
      "description": "Time deadline e.g. \"13:00\" — filters activities that cannot finish and return by this time"
    },
    "max_results": {
      "type": "number",
      "minimum": 1,
      "maximum": 8,
      "default": 4,
      "description": "Portfolio size (default 4, max 8)"
    },
    "exclude": {
      "type": "object",
      "properties": {
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "activity_tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "e.g. [\"zipline\"] excludes combos too"
        },
        "exp_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false,
      "description": "Exclusions for follow-up turns"
    },
    "seen": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "IDs already shown — guarantees fresh results"
    }
  },
  "required": [
    "date",
    "party"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_experience(experience_id)

Get full details for a specific experience by ID — prefer this for follow-up questions about products returned by search_experiences (pass its experience_id). Returns all safety/suitability attributes, pricing in THB (check price_note for per-person vs per-booking), and a direct booking link (book_now_url) with live availability. Always include the booking link when presenting details.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "experience_id": {
      "type": "string",
      "description": "Experience ID (e.g. exp_170728P24)"
    }
  },
  "required": [
    "experience_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet2 Tools