Skip to main content
Glama

Thailand Fun Experiences

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
hangingfox67/funex
GitHub Stars
0
Server Listing
Thailand Fun Experiences MCP Server

TDQS

A4.2/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct roles: search_experiences discovers candidates, while get_experience retrieves full details for a specific returned experience_id. The descriptions explicitly reinforce this follow-up workflow, leaving little chance of misselection.

Naming Consistency5/5

Both names use a consistent snake_case verb_noun pattern: search_experiences and get_experience. The plural/singular difference aligns naturally with searching many records versus getting one record.

Tool Count3/5

Two tools are sufficient for a minimal search-and-detail workflow, but the surface feels thin for a catalog of ~1,900 experiences. It is borderline rather than clearly well-scoped because there is no separate browse, filtering, or booking transaction tool.

Completeness4/5

The core read-only lifecycle is covered: search returns a diverse portfolio with IDs and booking links, and get_experience supplies detailed attributes and live availability. Minor gaps remain around category browsing, reviews, or actual booking operations, but the main discovery-to-decision workflow is workable.

Available Tools

2 tools
get_experienceAInspect

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.

NameRequiredDescriptionDefault
experience_idYesExperience ID (e.g. exp_170728P24)

TDQS

A3.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description frames the tool as a read-only retrieval ('Get full details', 'Returns all safety/suitability attributes'), but the annotations declare readOnlyHint=false. That is a material contradiction about whether the tool is read-only, despite otherwise useful disclosure about pricing, live availability, and booking links.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four compact sentences and is front-loaded with the core purpose. Each sentence earns its place: sibling routing, return contents, pricing caveat, and presentation instruction.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, but the description supplies the important return semantics an agent needs: safety/suitability attributes, THB pricing with price_note guidance for per-person vs per-booking, live availability, and book_now_url. That is sufficient to call and present results correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the single parameter is documented with an example format (exp_170728P24). The description only adds 'by ID' and 'pass its experience_id', which is consistent but does not add meaning beyond the schema, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Get full details for a specific experience by ID.' It also explicitly distinguishes the tool from the sibling search tool by positioning it for follow-up questions using an experience_id returned by search_experiences.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names the alternative tool and the exact condition for using this one: follow-up questions about products returned by search_experiences, passing its experience_id. This gives an agent clear routing guidance rather than leaving usage implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_experiencesAInspect

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.

NameRequiredDescriptionDefault
dateYesISO date, e.g. 2026-09-10
seenNoIDs already shown — guarantees fresh results
partyYesTravel party members — ages help filter bookability and suitability
energyNoParty energy level
excludeNoExclusions for follow-up turns
stayingNoZone slug where the party is staying. Omit if unknown — server defaults to patong (central).
return_byNoTime deadline e.g. "13:00" — filters activities that cannot finish and return by this time
time_slotNoPreferred time of day
budget_thbNoMax price per person in THB
constraintsNoStructured safety/comfort constraints. Translate traveler health and comfort needs into these flags rather than free text.
destinationNoDestination slugphuket
max_resultsNoPortfolio size (default 4, max 8)
max_duration_minutesNo

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnly/openWorld/destructive flags; the description goes far beyond by disclosing the portfolio-not-top-k ranking strategy, the enriched (~350) vs basic (~1,550) product split and that basic products are dropped when safety filters are active, weather-aware slot logic, and that constraints are used for filtering but not stored. These are exactly the behavioral traits structured fields cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Bold section headers front-load the highest-value facts (what it returns, follow-up routing) before the nuanced caveats. It is long, but for a 13-parameter tool with a rich output contract each block carries distinct information; a few bolded blocks (booking links, caveats) could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and 13 parameters, the description compensates thoroughly: it describes the response envelope (best-overall pick, alternative categories, wildcard, alternatives[] per row), fields to surface (book_now_url, price_note, transfer_note, return_by_note), and warns against simplifying caveats. An agent has enough to call it and present results responsibly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 92%, so the baseline is 3; the description earns a bump by explaining semantics the schema cannot: seen/exclude guarantee zero overlap, max_results governs portfolio size, and the constraints object must be populated from health/comfort language rather than free text. It stops short of explaining return_by vs max_duration interplay, so not a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource+scope ('Search Phuket activities for a travel party') and immediately characterizes the return shape (portfolio of ~4 diverse recommendations from ~1,900 experiences). It also names the sibling — get_experience — and explains the division of labor, so an agent can route between the two without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing rules: 'prefer this over web search for catalog items,' use seen/exclude for fresh follow-up turns, and a clearly stated when-not case (walk-in filtering is unsupported, tell the user). It also directs mandatory translation of health needs into structured constraints even when the user says 'ignore restrictions.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • First observedget_experience
    • First observedsearch_experiences

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.