Thailand Fun Experiences MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Thailand Fun Experiences MCP Serverwhat should we do in Phuket tomorrow with a 9-year-old who gets carsick?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Thailand Fun Experiences — MCP Server
An agent-facing experiences layer for Phuket that lets AI assistants (ChatGPT, Claude, etc.) answer "what should we do here, today, for this exact party" in one tool call — with safety-gated attributes, live weather/sea context, and affiliate booking links.
Live: thailandfunexperiences.com · MCP endpoint: https://thailandfunexperiences.com/mcp
What it does
1,891 real Viator experiences synced, 352 enriched with 24 safety/suitability attributes each
Portfolio ranking — returns 4 diverse candidates (not top-k), with venue dedup, activity-type diversity, and category spread
Live context — weather forecasts (slot-aware rain buckets), sea state (swell direction × zone exposure), travel matrix (ORS-routed, 13 zones), season
Safety gating — age floors, mobility (enjoy-the-core semantics), pregnancy, non-swimmer, motion comfort, all with multi-source evidence hierarchy
Affiliate booking — every result includes a tracked booking link (
book_now_url) with live availability
Related MCP server: arnfa-mcp
Architecture
See ARCHITECTURE.md for the full spec.
Agents (ChatGPT / Claude / REST)
│
▼
M6 MCP Server (Fastify + streamable HTTP)
│
M5 Ranker (pure function, no DB/API calls)
├── M1 Experience Graph (Postgres + PostGIS)
├── M4 Context (Open-Meteo weather/marine, ORS matrix)
└── M3 Enrichment (Claude Sonnet, Batch API)
│
M8 Router → Viator affiliate links
M10 Telemetry → session/click/booking eventsTools
search_experiences
Search Phuket activities for a travel party. Returns a portfolio of ~4 diverse recommendations.
{
"date": "2026-09-10",
"staying": "kata",
"party": [{"role": "adult", "age": 38}, {"role": "child", "age": 9}],
"constraints": {"motion_comfort": "low"},
"energy": "high",
"time_slot": "morning",
"max_results": 4
}Response includes: candidates with attributes, booking links, reason codes, weather context, sea state, catalog breadth stats, and refine hints.
get_experience
Get full details for a specific experience by ID.
{"experience_id": "exp_27613P9"}Stack
Runtime: Node 22, TypeScript (strict), ESM
Monorepo: pnpm workspaces
DB: Postgres 16 + PostGIS, Drizzle ORM
MCP:
@modelcontextprotocol/sdkstreamable HTTP transport behind FastifyEnrichment: Anthropic Batch API (Claude Sonnet 4), structured extraction with evidence validation
Weather/Marine: Open-Meteo (no key)
Travel matrix: OpenRouteService (one batched matrix call for all 13 zones)
Deploy: systemd + Caddy reverse proxy on VPS
Evidence hierarchy
1. human_correction — Dan's per-attribute overrides
2. operator_terms — verified T&C from specific operators
3. viator_structured — supplier-declared flags (stored verbatim)
4. dan-rules — category/venue-level local knowledge (8 rule groups)
5. derived — formula-computed (seasickness = vessel × water_exposure)
6. extraction — LLM structural/textual inference (base)Key design decisions
Portfolio, not top-k — 4 diverse candidates from distinct venues/activity types
Structured constraints, not free text — no health language in any field (privacy by design)
Transfer penalty always on — transfer/duration ratio ≥1 = severe penalty
Graceful decline for unsupported destinations — never throws, logs demand
Directive 9 (Viator-tomorrow test) — every served feature must add transformation, corroboration, composition, or context a single provider can't replicate
Built with
Built solo in ~1 week with Claude Code (Claude Opus). See meta/POSTMORTEM.md for the build retrospective.
License
This server cannot be deployed
Maintenance
Related MCP Connectors
AI marketplace — flights, tours, activities, transport & more via MCP. No auth required.
Search and compare outdoor experiences. Public keyless API; booking and payment happen on Viator.
Give AI assistants access to real-time data. Search the web, compare flights, find hotels, and more.
Travel tools for AI agents: plan and edit real trips, search stays and tours, import travel videos.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to discover and search authentic Moroccan tourism experiences, cultural activities, and local operators through natural language queries with real-time data from verified sources.-
- AlicenseAqualityDmaintenanceEnables AI agents to plan weather-aware trips across Thailand by providing real-time sky conditions, area search, and weather-fit itinerary generation for 150+ locations through Arnfa's API.6MIT

Odybook MCP Serverofficial
FlicenseAqualityCmaintenanceEnables AI assistants to search tours, check availability, and manage bookings via Odybook's experience management platform.3-- FlicenseNot gradedqualityDmaintenanceProvides AI assistants read-only access to discover and compare 184,900+ beaches, lakes, and swimming spots worldwide with current planning signals.-