Skip to main content
Glama

Server Details

Search curated Bangkok, Thailand tours, activities, hotels, restaurants, nightlife and services.

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
Uptime
100.0% over 27 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4/5.0

Scored across 5 tools

Disambiguation4/5

Tools are mostly distinct: get_listing retrieves a single item, list_categories and list_filters provide metadata, and search_tools search different domains. However, search_listings and search_tours both cover 'activities', which could cause minor confusion about which to use for activity-related queries.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: get_listing, list_categories, list_filters, search_listings, search_tours. The prefix get_, list_, and search_ clearly indicate the action, and there is no mixing of conventions.

Tool Count5/5

Five tools are well-scoped for a read-only Bangkok directory. The set covers discovery (categories, filters), search (listings, tours), and detail (listings) without redundancy or missing core functionality.

Completeness5/5

The surface fully covers the domain: discovery via list_categories and list_filters, search via search_listings and search_tours, and detail retrieval via get_listing. No critical gaps are apparent for a read-only directory, as tours are handled externally via booking_url.

Available Tools

5 tools
get_listingGet a BangkokVacay listingA
Read-onlyIdempotent
Inspect

Read-only. Full details for one BangkokVacay listing by id: complete plain-text description, FAQ, hours, up to 10 gallery photos with captions and credits (e.g. 'Photo via Expedia'), listing page URL, and booking links (the path to book with the named provider, not ads). Links marked affiliate:true are affiliate links; BangkokVacay may earn a commission at no extra cost to the user. Returns NOT_FOUND for an unknown id.

NameRequiredDescriptionDefault
idYesListing id from search_listings
adultsNo
check_inNo
check_outNo

Output Schema

NameRequiredDescription
statusYes
listingYes
affiliate_disclosureNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds real behavioral context: the exact return payload (description, FAQ, hours, photos with credits, booking links), the affiliate:true flag semantics, and the NOT_FOUND failure mode. It duplicates 'Read-only' from the annotations but goes well beyond them.

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?

A single dense sentence block front-loaded with the read-only and resource statement, then progressively narrower detail. Every clause carries information; only the restated 'Read-only' is redundant given the annotations.

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

Completeness4/5

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

With an output schema present the description need not enumerate return values, yet it usefully summarizes them, and annotations cover the safety profile. The notable gap is the three optional parameters, whose role in a by-id lookup is never explained.

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

Parameters2/5

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

Schema description coverage is only 25% – just the id field is documented. The description mentions 'by id' and the affiliate flag, but says nothing about adults, check_in, or check_out, leaving three query parameters (presumably for availability/pricing) unexplained in both the schema and the description.

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

Purpose4/5

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

States a specific verb and resource with scope: 'Full details for one BangkokVacay listing by id.' The 'by id' framing plus the id parameter's note that it comes 'from search_listings' distinguishes this from search_listings, though the description itself never names the sibling.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: fetch by id after searching, and the id source is given in the schema. There is no explicit when-to-use/when-not statement or named alternative for retrieving multiple or filtered listings.

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

list_categoriesList BangkokVacay categoriesA
Read-onlyIdempotent
Inspect

Read-only. List the BangkokVacay directory's top-level categories with listing counts.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
totalNo
statusYes
categoriesYes

TDQS

A3.6/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the leading 'Read-only.' mostly restates structured data. The description does add that the result is scoped to top-level (not nested) categories and includes counts, which is modest extra context but not deep behavioral disclosure.

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?

Two short, front-loaded sentences with no filler. The 'Read-only.' fragment is largely redundant with readOnlyHint=true, which is the only thing keeping it from a 5.

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

Completeness4/5

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

A zero-parameter, read-only list tool with an output schema is nearly self-describing; the description covers what is returned (categories plus counts) and annotations cover safety. Nothing essential is missing, though a note on result shape (e.g., flat list) would round it out.

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?

The tool takes no parameters, so per the rubric the baseline is 4. The description correctly signals a parameterless enumeration and adds nothing misleading about inputs.

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

Purpose4/5

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

States a specific verb and resource ('List ... top-level categories') plus the payload detail ('with listing counts'), which is enough to distinguish it from search_listings and get_listing. It does not explicitly contrast with list_filters, but the resource noun is unambiguous.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this is the discovery call for enumerating categories before drilling into listings. There is no statement of when to prefer it over list_filters or search_listings, and no exclusions.

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

list_filtersList search filtersA
Read-onlyIdempotent
Inspect

Read-only. Values usable in search_listings: areas/neighborhoods, price tiers, amenities and tags, each with listing counts, plus notes on how each is derived.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
tagsNo
areasNo
statusYes
amenitiesNo
price_tiersNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered and the leading 'Read-only.' is redundant. The description does add genuine value with 'each with listing counts, plus notes on how each is derived', disclosing the shape/nature of the returned data beyond the annotations.

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?

One compact sentence that front-loads the content categories and their consumers. The opening 'Read-only.' wastes a few words by repeating the annotation, but otherwise every clause earns its place.

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

Completeness4/5

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

With an output schema present, the description need not explain return values, and it does enough by naming the filter categories and the derived counts/notes. For a zero-parameter read-only reference tool, an agent has what it needs to invoke it correctly.

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?

The tool takes zero parameters, so the baseline is 4 and there is no parameter semantics for the description to compensate for. Schema coverage is 100% and the description correctly does not invent arguments.

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

Purpose4/5

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

The description states a concrete resource — filter values (areas/neighborhoods, price tiers, amenities, tags) with listing counts — and ties it to the sibling tool search_listings, so an agent can tell it is the metadata/reference lookup rather than a search. It never uses an explicit verb like 'list', but the enumeration of contents makes the purpose unambiguous.

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

Usage Guidelines3/5

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

'Values usable in search_listings' implies the usage context (discover valid filter values before searching), which is reasonable guidance. However, it never states when to call this versus list_categories or search_listings directly, and gives no prerequisites or ordering advice, so usage is only implied.

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

search_listingsSearch BangkokVacay listingsA
Read-onlyIdempotent
Inspect

Search BangkokVacay's curated directory of Bangkok, Thailand businesses (hotels, restaurants, bars, activities, attractions, shops and services). Read-only. Filters: keyword, category, area/neighborhood, price tier, amenities (e.g. pool, spa, river_view, rooftop, michelin), tag, and distance from a lat/lng or from another listing. Returns compact plain-text listings (description shortened; use get_listing for the full text, hours and FAQ) with the listing page URL, address, phone, website, up to 2 credited photos, and booking links. Booking links are the path to book with the named provider (Expedia for hotels, plus Viator/Klook where the listing has one), not ads; those marked affiliate:true are affiliate links, and BangkokVacay may earn a commission if the user books, at no extra cost to them. Results are not ranked by commission. Pass check_in/check_out to get date-specific Expedia hotel links (live rates are shown on Expedia, not in this result).

NameRequiredDescriptionDefault
qNoKeywords, e.g. 'rooftop bar', 'temple', 'tasting menu'
tagNoExact listing tag, see list_filters
areaNoArea/neighborhood, e.g. 'Pathum Wan', 'Sukhumvit', 'Riverside', 'Bang Rak'. See list_filters.
pageNo
sortNo
limitNo
adultsNo
categoryNoCategory name or id from list_categories, e.g. 'Hotels'
check_inNoYYYY-MM-DD (hotels)
near_latNo
near_lngNo
amenitiesNoAll must match
check_outNoYYYY-MM-DD
radius_kmNoMax distance (km) when near_* is set
price_tierNo
near_listing_idNoRank by distance from this listing
has_booking_linkNoOnly listings with a booking link

Output Schema

NameRequiredDescription
pageNo
totalYes
statusYes
has_moreNo
listingsYes
per_pageNo
returnedNo
data_fetched_atNo
affiliate_disclosureNo

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses genuinely useful behavior: booking links are provider paths, not ads; affiliate:true marks commission links; BangkokVacay may earn a commission at no extra cost; results are not commission-ranked; and live rates appear on Expedia, not in the result. This is exactly the kind of non-obvious context an agent needs.

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?

Front-loaded with purpose and filters before the return-format and booking-link disclosures. The affiliate/commission explanation runs a bit long, but each sentence carries decision-relevant information, so waste is minimal.

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?

For a 17-param search tool, the description covers purpose, filter surface, return shape, sibling routing, and the booking/affiliate caveats. With an output schema present it needn't detail return fields, yet it still summarizes them usefully, leaving no gap that would cause a mis-call.

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?

With 59% schema coverage across 17 params, the description compensates by naming the filter dimensions (keyword, category, area, price tier, amenities with examples, tag, distance from lat/lng or another listing) and the check_in/check_out date-link behavior. It leaves page/sort/limit/adults/has_booking_link semantics to the schema, which is acceptable but not exhaustive.

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?

States a specific verb (Search) and a well-scoped resource (BangkokVacay's curated Bangkok business directory), enumerating the covered verticals. It also names the sibling relationship, pointing to get_listing for full text, so an agent can distinguish it from adjacent tools without opening schemas.

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

Usage Guidelines4/5

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

Clearly frames when to use it (directory search across multiple filter dimensions) and when to escalate to get_listing for full text, hours and FAQ. It doesn't explicitly contrast with search_tours or explain when list_filters/list_categories should precede it, so it stops short of full when/when-not coverage.

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

search_toursSearch Bangkok, Thailand tours and activities (Viator)A
Read-onlyIdempotent
Inspect

Read-only. Live search of bookable tours and activities in Bangkok, Thailand from Viator's partner API. Returns title, live starting ('from') price and currency, rating, review count, duration, free-cancellation flag, image and a booking_url. Optional start_date/end_date return only products Viator lists as available on those dates. Default order: keyword relevance when q is given, otherwise traveler rating; 'featured' uses Viator's own default order. booking_url is the Viator booking page and a Viator affiliate link: BangkokVacay may earn a commission if the user books, at no extra cost to them. Viator confirms the final price, availability and cancellation terms before payment.

NameRequiredDescriptionDefault
qNoKeywords, e.g. 'floating market', 'food tour', 'Ayutthaya'
pageNo
sortNoDefault: relevance to q when q is given (Viator keyword match), otherwise rating (highest traveler rating first). featured = Viator's own default order.
limitNo
currencyNoUSD
end_dateNoYYYY-MM-DD
max_priceNo
min_ratingNo
start_dateNoYYYY-MM-DD
free_cancellationNo

Output Schema

NameRequiredDescription
totalNo
toursYes
statusYes
prices_checked_atNo
affiliate_disclosureNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent/open-world safety, but the description adds genuinely new behavioral context: the affiliate-link commission disclosure, that Viator confirms final price/availability/cancellation terms before payment, and that dates filter to Viator-listed availability. Minor redundancy in restating 'Read-only.'

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?

Front-loaded with the core purpose, and each sentence carries information (dates, sorting, affiliate disclosure, price confirmation). The middle return-field enumeration is a dense run-on and partially duplicates the output schema, but nothing is truly wasted.

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

Completeness4/5

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

With an output schema present, the field list is redundant yet harmless, and the description still covers the commercially important details (affiliate link, third-party price confirmation, date-based availability). It omits pagination/limit behavior, which is the main remaining gap for a 10-parameter search tool.

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 coverage is only 40% across 10 parameters, so the description must carry weight; it does add meaning for sort/date interactions and the 'featured' ordering, plus concrete q examples. However it says nothing about the other undocumented parameters (limit, page, currency, max_price, min_rating, free_cancellation), so it only partially compensates.

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

Purpose4/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 ('Live search of bookable tours and activities in Bangkok, Thailand from Viator's partner API'), and the data source plus geographic scope implicitly separate it from generic siblings like search_listings. It never names the sibling it differs from, so the differentiation is inferable rather than explicit.

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

Usage Guidelines3/5

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

Usage is implied by the Bangkok-tours scope, and it explains when start_date/end_date narrow results and how the default order behaves. There is no explicit 'use this instead of X' routing against search_listings or any when-not condition, leaving the agent to infer the boundary.

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. 5 tool updates
    • Addedget_listing
    • Changedlist_categories2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "categories": {
        +      "items": {
        +        "properties": {
        +          "description": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "description": "Category id; null for categories that exist only as listing group names (filter by name instead)",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "listing_count": {
        +            "type": "integer"
        +          },
        +          "name": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "categories"
        +  ],
        +  "type": "object"
        +}
    • Addedlist_filters
    • Changedsearch_listings22 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / adults
        Added value: +{
        +  "default": 2,
        +  "maximum": 14,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / amenities
        Added value: +{
        +  "description": "All must match",
        +  "items": {
        +    "enum": [
        +      "ski_in_ski_out",
        +      "walk_to_lifts",
        +      "pool",
        +      "hot_tub",
        +      "spa",
        +      "fitness_center",
        +      "pet_friendly",
        +      "parking",
        +      "shuttle",
        +      "family_friendly",
        +      "breakfast",
        +      "kitchen",
        +      "rooftop",
        +      "river_view",
        +      "outdoor_seating",
        +      "apres_ski",
        +      "live_music",
        +      "free_entry",
        +      "michelin",
        +      "wheelchair_accessible"
        +    ],
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / area
        Added value: +{
        +  "description": "Area/neighborhood, e.g. 'Pathum Wan', 'Sukhumvit', 'Riverside', 'Bang Rak'. See list_filters.",
        +  "type": "string"
        +}
      • changedInput schema / properties / category / description
        Previous value: -"Category name filter, e.g. 'Restaurants'"New value: +"Category name or id from list_categories, e.g. 'Hotels'"
      • addedInput schema / properties / check_in
        Added value: +{
        +  "description": "YYYY-MM-DD (hotels)",
        +  "type": "string"
        +}
      • addedInput schema / properties / check_out
        Added value: +{
        +  "description": "YYYY-MM-DD",
        +  "type": "string"
        +}
      • addedInput schema / properties / has_booking_link
        Added value: +{
        +  "description": "Only listings with a booking link",
        +  "type": "boolean"
        +}
      • removedInput schema / properties / limit / description
        Removed value: -"Max results (1-50)"
      • addedInput schema / properties / limit / maximum
        Added value: +50
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • addedInput schema / properties / near_lat
        Added value: +{
        +  "type": "number"
        +}
      • addedInput schema / properties / near_listing_id
        Added value: +{
        +  "description": "Rank by distance from this listing",
        +  "type": "string"
        +}
      • addedInput schema / properties / near_lng
        Added value: +{
        +  "type": "number"
        +}
      • removedInput schema / properties / page / description
        Removed value: -"Page number"
      • addedInput schema / properties / page / minimum
        Added value: +1
      • addedInput schema / properties / price_tier
        Added value: +{
        +  "enum": [
        +    "budget",
        +    "moderate",
        +    "upscale",
        +    "luxury"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / q / description
        Previous value: -"Keyword search, e.g. 'temple' or 'rooftop'"New value: +"Keywords, e.g. 'rooftop bar', 'temple', 'tasting menu'"
      • addedInput schema / properties / radius_km
        Added value: +{
        +  "description": "Max distance (km) when near_* is set",
        +  "type": "number"
        +}
      • addedInput schema / properties / sort
        Added value: +{
        +  "enum": [
        +    "relevance",
        +    "distance",
        +    "name"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / tag
        Added value: +{
        +  "description": "Exact listing tag, see list_filters",
        +  "type": "string"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "affiliate_disclosure": {
        +      "type": "string"
        +    },
        +    "data_fetched_at": {
        +      "type": "string"
        +    },
        +    "has_more": {
        +      "type": "boolean"
        +    },
        +    "listings": {
        +      "items": {
        +        "properties": {
        +          "address": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "amenities": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "area": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "booking": {
        +            "items": {
        +              "properties": {
        +                "affiliate": {
        +                  "type": "boolean"
        +                },
        +                "label": {
        +                  "type": "string"
        +                },
        +                "provider": {
        +                  "type": "string"
        +                },
        +                "url": {
        +                  "type": "string"
        +                }
        +              },
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "booking_link": {
        +            "description": "First affiliate booking link, if any",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "category": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "description": {
        +            "description": "Plain text",
        +            "type": "string"
        +          },
        +          "distance_km": {
        +            "type": "number"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "lat": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "lon": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "phone": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "photo_details": {
        +            "items": {
        +              "properties": {
        +                "caption": {
        +                  "type": [
        +                    "string",
        +                    "null"
        +                  ]
        +                },
        +                "credit": {
        +                  "type": "string"
        +                },
        +                "source": {
        +                  "type": "string"
        +                },
        +                "url": {
        +                  "type": "string"
        +                }
        +              },
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "photos": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "price_tier": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "tags": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "url": {
        +            "description": "Listing page on bangkokvacay.com",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "website": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "name"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "page": {
        +      "type": "integer"
        +    },
        +    "per_page": {
        +      "type": "integer"
        +    },
        +    "returned": {
        +      "type": "integer"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "total",
        +    "listings"
        +  ],
        +  "type": "object"
        +}
    • Addedsearch_tours
  2. 2 tool updates
    • First observedlist_categories
    • First observedsearch_listings

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources