Skip to main content
Glama

Server Details

Read-only MBD Travel catalogue: tours, hotel prices, private transfers and the Dubai visa.

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 18 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4/5.0

Scored across 12 tools

Disambiguation4/5

Most tools have clearly distinct targets, but a few pairs can be confused: 'search' (free-text across tours/experiences/hotels/visa) vs 'search_tours' (tours-only with filters), and 'fetch' (generic by record id) vs 'get_tour' (one tour with fuller detail). The detailed descriptions mostly resolve these overlaps, keeping boundaries workable.

Naming Consistency4/5

The set is largely a consistent verb_noun pattern (browse_destinations, compare_tours, find_last_minute_tours, get_departures, get_tour, list_hotels, quote_hotel_stay, quote_transfer, search_tours, search_transfers). Two bare-verb outliers ('fetch', 'search') are the only deviations.

Tool Count5/5

12 tools is a well-scoped size for a travel catalogue that spans destinations, tours, hotels, transfers, experiences and visas. Each tool earns its place with a distinct query or pricing role.

Completeness4/5

Coverage is strong across discovery (browse/search), detail (get/fetch), and quoting (hotels, transfers, departures), with consistent domain scoping. The one notable gap is any booking/order/hold operation, though descriptions repeatedly frame the server as read-only and route users to pageUrl/contact.

Available Tools

12 tools
browse_destinationsDestinationsA
Read-onlyIdempotent
Inspect

Lists catalogue countries and cities with their published tour counts. scope: countries, cities (of one country) or featured (default: the cities MBD Travel highlights). There is no continent, region or theme grouping. Returns destinations only, not tours.

NameRequiredDescriptionDefault
scopeNofeatured = highlighted cities (default).
countryNoCountry (slug, Turkish or English name, or ISO code); returns that country’s cities.
currencyYesPrice currency.
languageYesCatalogue language.

Output Schema

NameRequiredDescription
citiesYes
deepLinkYes
countriesYes
disclaimerNo
generatedAtNo
catalogueRefreshedAtNo

TDQS

A4.3/5.0
Behavior4/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 safety is covered. The description adds capability-boundary context the annotations cannot: that no continent/region/theme grouping exists and that only destinations (not tours) are returned. It stops short of any note on pagination or result limits.

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?

Three short sentences, zero filler, with the core capability and the default scope front-loaded ahead of the exclusion clause.

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 an output schema present, return shape need not be described, and the description covers scope semantics, defaults, and the key negative constraint. Nothing an agent needs before calling this read-only listing tool is missing.

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 all four parameters are documented there, so the baseline is 3. The description only restates the scope enum and adds that 'cities' pertains to one country, which is useful but marginal over the schema.

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 and resource ('Lists catalogue countries and cities') plus the payload ('their published tour counts'). The closing line 'Returns destinations only, not tours' explicitly separates it from the tour-oriented siblings (search_tours, get_tour, compare_tours).

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?

Gives the three valid scopes with the condition that selects each ('cities (of one country)', 'featured (default)'), and rules out unsupported groupings. It never names a sibling tool to use instead for tour data, so the routing guidance is implicit rather than explicit.

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

compare_toursCompare toursA
Read-onlyIdempotent
Inspect

Puts two to four tours side by side with the same fields. It returns every field of each tour. It gives no winner, score or verdict; null fields stay null.

NameRequiredDescriptionDefault
slugsYes
currencyYesPrice currency.
languageYesCatalogue language.

Output Schema

NameRequiredDescription
toursYes
deepLinkYes
disclaimerNo
generatedAtNo
catalogueRefreshedAtNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower, and the description still adds real value: it discloses that every field of each tour is returned, that no winner/score/verdict is produced, and that nulls remain null. That last point is an important expectation-setter an agent could otherwise misread.

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?

Three short, front-loaded sentences with no filler, and the negative disclosure ('no winner, score or verdict') is placed prominently. Minor redundancy between 'with the same fields' and 'returns every field of each tour' keeps it just under 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?

For a read-only comparison tool with an output schema present and annotations covering safety, the description is nearly sufficient: return shape, scope, and the absence of a verdict are all addressed. Missing only usage/routing guidance and any note on invalid or duplicate slugs.

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 67%: currency and language carry their own descriptions and the slugs array documents minItems/maxItems/uniqueItems, so the schema does most of the work. The description's 'two to four tours' reinforces the slugs cardinality and adds the 'same fields' comparison semantics, but no new format or syntax detail.

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 ('compare') and resource ('tours'), and pins the scope at two to four tours, which the agent can immediately distinguish from single-tour tools like get_tour. It falls short of a 5 only because it never names a sibling to route against.

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

Usage Guidelines2/5

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

The description explains mechanics and output shape but gives no when-to-use context or alternative: no guidance on choosing this over get_tour for one tour or search_tours when merely browsing candidates. Nothing is misleading, but the agent gets no routing help.

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

fetchRecord detailA
Read-onlyIdempotent
Inspect

Returns the full text, price and site link for a record id. Id format: <tur|deneyim|otel|vize>:<tr|en>:<EUR|USD|AED>: (tour, experience, hotel, visa); change only the currency part to switch currency. A tour record carries itinerary, inclusions, exclusions, hotels and departures, and names what it lacks. An unpublished record returns NOT_FOUND.

NameRequiredDescriptionDefault
idYesRecord id, format as in the tool description.

Output Schema

NameRequiredDescription
idYes
urlYes
textYes
titleYes
metadataNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the bar is lower. The description adds real context beyond them: unpublished records return NOT_FOUND, currency is switched by editing the id rather than a parameter, and a tour record's shape (itinerary, inclusions, exclusions, hotels, departures) plus explicit disclosure of what it lacks.

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?

Front-loaded with the return value, then id format, then currency mechanics, then edge cases. Every sentence carries information; nothing is padding, even the compact 'names what it lacks' clause conveys missing-field disclosure.

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?

For a one-parameter read tool with an output schema and full annotation coverage, this is nearly complete: id syntax, currency behavior, record shape and the NOT_FOUND case are all covered. The remaining hole is sibling disambiguation against get_tour and search.

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 100% and there is only one parameter, but the description is where the id grammar actually lives: the <type>:<lang>:<currency>:<key> format and the note that changing the currency segment switches currency. That is genuine meaning beyond the schema's circular 'format as in the tool description' text.

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 gives a specific verb and resource: returns full text, price and site link for a record id. It is clear what the tool produces, but it never distinguishes itself from siblings like get_tour or search, so an agent must guess which fetch-style tool to reach for.

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: the required id parameter and the stated id format suggest 'call this when you already have a record id.' There is no explicit when-to-use guidance and no routing away from get_tour or search, which overlap heavily with this tool.

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

find_last_minute_toursLast-minute toursA
Read-onlyIdempotent
Inspect

Returns tours departing soon, soonest first, with dates. Covers last minute, near-term, urgent, right away, this week and tour at airfare price requests. Selection is by departure date only; it is not a discount. windowDays states the length of the window in days. It has no date range or destination filter.

NameRequiredDescriptionDefault
limitNoDefault 10.
currencyYesPrice currency.
languageYesCatalogue language.

Output Schema

NameRequiredDescription
totalYes
toursYes
deepLinkYes
disclaimerNo
windowDaysYes
emptyReasonYes
generatedAtNo
catalogueRefreshedAtNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower; the description still adds useful behavior beyond them: deterministic ordering (soonest first), the selection criterion (departure date, not price/discount), and the explicit absence of date/destination filters. Deduction: it references a 'windowDays' input that does not exist in the schema, which is stale/incorrect behavioral detail.

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 behavior (what it returns and ordering) before caveats, and no sentence is pure filler. The keyword enumeration ('last minute, near-term, urgent, right away...') is somewhat padded, but it plausibly serves query-intent matching.

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 an output schema present, return values need no explanation, and annotations carry the safety profile. The description supplies everything else an agent needs: scope, sort order, selection basis, and the lack of date/destination filters.

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%, so limit, currency, and language are already fully documented and the baseline is 3. The description adds nothing about those parameters, and its only parameter-related sentence refers to a nonexistent 'windowDays', which is mildly misleading rather than additive.

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 and resource (returns tours) plus a precise scope: departures soon, sorted soonest first, selected by departure date only. It also disambiguates from a discount-style listing ('it is not a discount') and from filtered searches ('no date range or destination filter'), so an agent can distinguish it from search_tours/search 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?

The intent list (last minute, near-term, urgent, right away, this week, airfare-price) tells the agent exactly which user phrasings should route here, and the 'not a discount' and 'no date range or destination filter' clauses set expectations for when NOT to use it. However, it never names a sibling tool as the alternative for filtered searches, leaving that routing to inference.

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

get_departuresTour departuresA
Read-onlyIdempotent
Inspect

Returns a tour's departures with the price of every occupancy slot for each (adult, single, extra bed, children, infant). Prices are not trimmed; every occupancy slot is listed. Past departures are excluded. Paged by date: default 12 per page; nextCursor is the cursor of the next page. The dates returned are the only departure dates the catalogue holds.

NameRequiredDescriptionDefault
toNoDepartures on or before this date (YYYY-MM-DD)
fromNoDepartures on or after this date (YYYY-MM-DD)
slugYes
limitNoDepartures per page. Default 12.
cursorNonextCursor from the previous response.
currencyYesPrice currency.
languageYesCatalogue language.

Output Schema

NameRequiredDescription
totalYes
deepLinkYes
departuresYes
disclaimerNo
nextCursorYesCursor of the next page; null on the last page.
emptyReasonYes
generatedAtNo
catalogueRefreshedAtNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior, and the description still adds real value: past departures are excluded, prices are untrimmed so every occupancy slot is present, and the returned dates are guaranteed to be the catalogue's complete set. Missing only operational details such as auth or rate limits.

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 what is returned, then constraints, then paging — a sensible order. One mild redundancy: 'with the price of every occupancy slot' and 'every occupancy slot is listed' restate the same guarantee.

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?

An output schema exists, so return shape needn't be explained, and the description covers the remaining gaps an agent would care about: exclusion of past departures, completeness of the date set, and the pagination contract. Only the date-range filter behavior is left entirely to the schema.

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 86%, so the schema already documents from/to, limit, cursor, currency and language. The description reinforces the default page size and the cursor-based paging contract but adds no syntax or constraint detail beyond what the schema already provides.

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 and resource ('Returns a tour's departures') and immediately scopes the payload to per-occupancy-slot pricing (adult, single, extra bed, children, infant). This clearly separates it from get_tour (catalogue detail) and search_tours (discovery) without needing any schema inspection.

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 content description and the 'past departures are excluded' constraint, but the description never says when to call this versus get_tour or search_tours, nor names any alternative. An agent can infer the intent but gets no explicit routing guidance.

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

get_tourTour recordA
Read-onlyIdempotent
Inspect

Returns one tour: description, airline, nights, day-by-day itinerary, included and excluded items, hotels, upcoming departure dates and the first departure's price per slot (adult, child). cancellation holds the fixed tour cancellation and refund policy. Fields without data are listed in missing. An unpublished tour returns PRODUCT_NOT_FOUND. Only the first departure is priced here.

NameRequiredDescriptionDefault
slugYesproduct.slug
currencyYesPrice currency.
languageYesCatalogue language.

Output Schema

NameRequiredDescription
tourYes
deepLinkYes
disclaimerNo
generatedAtNo
catalogueRefreshedAtNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds real behavior beyond that: unpublished tours fail with PRODUCT_NOT_FOUND, absent data is surfaced in a `missing` field rather than omitted silently, and pricing is deliberately limited to the first departure — all useful for interpreting results.

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 then a compact inventory of returned fields, with the edge cases (missing, PRODUCT_NOT_FOUND, first-departure-only pricing) at the end. It is dense but every clause carries information; a bulleted list of fields would read slightly better than the run-on sentence.

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?

An output schema exists, so the field inventory is somewhat redundant, but the description still covers the things the schema does not: the unpublished-tour error code, the `missing` fallback for empty fields, and the pricing scope. Nothing an agent needs to call it correctly appears to be absent.

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 100% with clear descriptions for slug (product.slug), currency and language, and both enums are spelled out. The description adds essentially nothing about parameter meaning beyond the fact that currency drives the quoted price, so the baseline 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?

Opens with a specific verb+resource ('Returns one tour') and enumerates exactly what the record contains: description, airline, nights, itinerary, inclusions, hotels, upcoming departures and first-departure pricing. The closing line 'Only the first departure is priced here' cleanly separates it from get_departures, so an agent can pick between the two without opening either schema.

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: the note that only the first departure is priced here hints that get_departures is the tool for full pricing, and PRODUCT_NOT_FOUND explains an unpublished-slug outcome. There is no explicit 'use this when…' statement or named alternative, so the agent must infer the routing.

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

list_hotelsList hotelsA
Read-onlyIdempotent
Inspect

Lists the curated hotel pool by country, area and stars, with facility tags. No supplier call and no price (a price needs dates and guests). city matches area words ("Antalya", "Business Bay"); the free-text argument matches name words. Each hotel carries a hotelId. When nothing matches, the reply lists nearby MBD hotels and a contact link.

NameRequiredDescriptionDefault
cityNoCity name in Turkish or English.
limitNo
starsNo
cursorNocursor from the previous response.
searchNoWords in the hotel name.
countryNoCountry: name in English or Turkish, or ISO 3166-1 alpha-2 code (example: "Turkey", "AE").
currencyYes
languageYes

Output Schema

NameRequiredDescription
totalNo
cursorYes
hotelsYes
contactNo
deepLinkYes
disclaimerNo
emptyReasonNo
generatedAtNo
alternativesNo
deepLinkNoteNo
alternativesBasisNo
catalogueRefreshedAtNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint/idempotentHint/no destruction, and the description adds genuinely new behavior: no supplier call (consistent with openWorldHint=false), no price returned, results carry a hotelId, and the no-match branch returns nearby MBD hotels plus a contact link. Disclosing fallback behavior on empty results is exactly the kind of trait annotations cannot express.

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?

Four tight sentences, front-loaded with what the tool is before the matching rules and the no-match behavior. The parentheticals are dense but each earns its place; there is no filler or restatement of the title.

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?

An output schema exists so return values need not be enumerated, yet the description still flags the hotelId field and the empty-result fallback. Combined with pagination via cursor and the price-scope exclusion, an agent has everything needed to call this 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?

Schema coverage is only 50%, so the description has to carry weight, and it does for the two most ambiguous parameters: city matches area words (e.g. "Antalya", "Business Bay") while search matches name words. Cursor is documented in the schema, and currency/language are self-explanatory enums, so the remaining gap is small but not zero.

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 and resource ("Lists the curated hotel pool") and immediately bounds the scope: by country, area, stars, with facility tags, no supplier call, no price. An agent can tell this apart from a pricing tool because the description says a price requires dates and guests, which points at the quote_hotel_stay sibling without opening either schema.

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?

Gives a clear selection condition in the negative: this tool returns the pool, and pricing is explicitly out of scope because "a price needs dates and guests." It also explains the two search axes so the agent picks the right argument. It stops short of naming the alternative tool explicitly, so routing is inferred rather than stated.

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

quote_hotel_stayPrice a hotel stayA
Read-only
Inspect

Gets a live supplier offer or MBD contract price (pricingSource) for hotels and dates. Books nothing and holds no room. An unverified price is not returned. PRICE_ON_REQUEST means no price is on file; the reply then carries pageUrl and contact. Supplier calls are limited daily. Needs check-in, check-out and guests. When nationality is omitted the price is for TR and the reply states nationalityUsed.

NameRequiredDescriptionDefault
adultsYesAdults; at most 6 people per room, 4 children.
checkInYesCheck-in date; at most 365 days from today (YYYY-MM-DD)
checkOutYesCheck-out date; the stay must be 1-30 nights (YYYY-MM-DD)
currencyYes
hotelIdsYeshotelId values (ids, not names).
languageYes
nationalityNoISO 3166-1 alpha-2 code (TR, AE, DE); optional, default TR. Changes the price.
childrenAgesNoAge of each child, one entry per child. No birth dates.

Output Schema

NameRequiredDescription
quotesYes
handoffNo
deepLinkYes
quotedAtYes
disclaimerNo
generatedAtNo
deepLinkNoteNo
liveQuoteLimitNo
nationalityNoteNo
nationalityUsedNo
catalogueRefreshedAtNo
nationalityDefaultedNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, destructiveHint=false), so the description correctly adds the traits they don't: a daily supplier-call limit, the 'unverified price is not returned' validation rule, and the PRICE_ON_REQUEST path that returns pageUrl and contact. These are concrete operational behaviors beyond structured fields, though the rate limit is left unquantified.

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 every sentence carries a distinct fact (scope, validation, PRICE_ON_REQUEST, rate limit, requirements, nationality default). It reads as a dense telegraphic cluster rather than flowing prose, which slightly hurts scanability.

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, return values needn't be explained, and the description covers the key edge cases (PRICE_ON_REQUEST, nationality default, call limits). It is nearly complete, missing only a quantified rate limit and any note on what the pricingSource distinction means for the caller.

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 75% and the schema already documents dates, guest caps, hotelIds and the nationality default. The description mostly restates requirements ('Needs check-in, check-out and guests') and the nationality default rather than adding syntax or format meaning, so the baseline 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?

States a specific verb and resource ('Gets a live supplier offer or MBD contract price ... for hotels and dates') and immediately scopes it as non-transactional ('Books nothing and holds no room'). This lets an agent distinguish it from booking tools and from siblings like quote_transfer or list_hotels without opening the schema.

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 explicit: 'Books nothing and holds no room' signals this is the pricing step, not a booking step, and 'Needs check-in, check-out and guests' gives prerequisites. However, no sibling is named and no when-not-to-use condition is stated, so routing among the quote_* tools is left to inference.

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

quote_transferQuote a transferA
Read-onlyIdempotent
Inspect

Prices one transfer for a party from the stored list price: vehicles needed (a 7th passenger needs a second), price per vehicle, total, cheapest option. Reads only: no basket, hold or order. Needs slug, direction and party size (Istanbul also needs district).

NameRequiredDescriptionDefault
slugYesTransfer slug.
currencyYesPrice currency.
districtNoIstanbul hotel district.
languageYesCatalogue language.
directionYesListed round-trip price is used, not two one-ways.
passengersYesPassengers.

Output Schema

NameRequiredDescription
nameYes
slugYes
optionsYes
cheapestYes
deepLinkYes
directionYes
passengersYes
validUntilNo

TDQS

A4.4/5.0
Behavior4/5

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

With readOnly/idempotent/destructive/openWorld annotations already covering the safety profile, the description still adds real value: the no-side-effect guarantee against basket/hold/order, and the pricing rule that a 7th passenger requires a second vehicle. It stops short of describing how the cheapest option is chosen or what happens when no list price exists.

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?

Three dense sentences, front-loaded with the core action and output contents, then constraints, then inputs. The parenthetical about the 7th passenger is slightly clunky but carries real business logic, so nothing is wasted; it is just packed tightly rather than elegantly.

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?

An output schema exists, so return values need no prose, and annotations cover safety. The description still supplies the two things structured data cannot: the read-only/no-side-effect scope and the conditional district requirement. An agent has everything needed to invoke this 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?

Schema coverage is 100%, so 3 is the baseline, but the description adds genuinely new information by stating which inputs are needed and, crucially, the conditional 'Istanbul also needs district' — a requirement the schema presents only as an optional string. That conditional dependency is not derivable from the structured fields alone.

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 and resource ('prices one transfer for a party from the stored list price') and even enumerates what the quote contains: vehicles needed, price per vehicle, total, cheapest option. The phrase 'Reads only: no basket, hold or order' separates it from booking/basket-oriented siblings, and the name parallels quote_hotel_stay without ambiguity.

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?

It gives an explicit exclusion — 'Reads only: no basket, hold or order' — which tells the agent this is a pricing check, not a purchase step, and it lists the minimum inputs needed to run it. It does not, however, name a sibling alternative (e.g. search_transfers) for the case where the agent only has a destination rather than a slug.

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

search_toursSearch toursA
Read-onlyIdempotent
Inspect

Lists and filters published tours by free text, destination, maximum from-price, departure date range and sort. Prices are "from" prices with their basis, not fixed prices. Returns an empty list with emptyReason when nothing matches. Tours only: no hotels, experiences or visas.

NameRequiredDescriptionDefault
cityNoCity: slug or name in Turkish or English.
sortNoDefault newest.
limitNoDefault 10.
queryNoFree text: country, city or tour name (example: "Japan").
offsetNo
countryNoCountry: slug, name in Turkish or English, or ISO 3166-1 alpha-2 code (example: "japonya", "Japan", "JP").
currencyYesPrice currency.
languageYesCatalogue language.
maxPriceNoMaximum from-price in the unit of priceFrom.amount (minor units: 15000 for EUR 150) and in the chosen currency.
departureToNoTours with a departure on or before this date (YYYY-MM-DD)
departureFromNoTours with a departure on or after this date (YYYY-MM-DD)

Output Schema

NameRequiredDescription
totalYes
toursYes
deepLinkYes
disclaimerNo
emptyReasonYes
generatedAtNo
catalogueRefreshedAtNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds genuinely useful behavior beyond that: prices are 'from' prices with a basis rather than fixed prices, and a no-match query returns an empty list plus an emptyReason instead of an error.

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?

Three tight sentences that front-load the core capability, then the price caveat, then the empty-result behavior and scope boundary. No filler or redundancy.

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 return shape need not be described, yet the description still flags emptyReason, and it covers price semantics and catalogue scope. Only pagination/sort-default behavior is left entirely to the schema, which is a minor omission for an 11-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 91%, so the schema documents nearly every parameter including enum values, defaults and the minor-units convention for maxPrice. The description mostly restates the filter fields; its only semantic addition is the 'from-price with basis' caveat that helps interpret maxPrice.

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 pair (lists/filters) plus an exact resource (published tours) and enumerates the filter dimensions. The closing clause 'Tours only: no hotels, experiences or visas' actively separates it from siblings like list_hotels and search_transfers.

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?

The 'Tours only' line draws a useful scope boundary against some siblings, and the filter list implies the search use case. However, it never says when to prefer this over compare_tours, find_last_minute_tours or get_tour, and gives no prerequisites or exclusions for those alternatives.

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

search_transfersSearch transfersA
Read-onlyIdempotent
Inspect

Private transfers, fixed price per vehicle. Dubai: DXB, SHJ, AUH to hotel, city transfer, full-day tour. Istanbul: IST, SAW to hotel, priced by hotel side (pass district or side). Filters: airport, serviceType, direction, side, district, passengers (a 7th passenger needs a second vehicle). Reads only: no booking.

NameRequiredDescriptionDefault
sideNoIstanbul hotel side.
airportNoPick-up airport.
currencyYesPrice currency.
districtNoIstanbul hotel district, e.g. Kadikoy; sets the side.
languageYesCatalogue language.
directionNoDirection filter.
passengersNoParty size.
serviceTypeNo

Output Schema

NameRequiredDescription
totalYes
deepLinkYes
transfersYes
emptyReasonYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered structurally. The description earns extra credit by adding domain behavior: fixed per-vehicle pricing, the rule that a 7th passenger requires a second vehicle, and the Istanbul side-pricing model, none of which the annotations 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?

Information-dense and front-loaded: market coverage first, then pricing model, then filters, then the read-only guarantee. It is telegraphic and slightly list-like, but essentially no sentence is 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 and rich annotations, the description only needs to carry domain semantics, and it does: markets, airports, pricing basis, and the side/district coupling. The one missing piece is an explicit hand-off to quote_transfer for price quoting or booking.

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 description coverage is already 88%, so the baseline is 3. The description goes beyond it by explaining the side/district relationship ('priced by hotel side (pass district or side)') and the passenger capacity constraint, both of which clarify how parameters interact rather than merely restating enum values.

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 domain and resource (private transfers, fixed price per vehicle) and enumerates the two markets it covers, Dubai and Istanbul, with their airports. It does not, however, contrast itself with the sibling quote_transfer, which is the closest alternative for transfer pricing, so the agent must infer the split.

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?

It lists the filterable dimensions (airport, serviceType, direction, side, district, passengers) and notes the read-only nature, which gives implied usage context. But it never states when to reach for this tool versus quote_transfer or search, so the routing decision is left to inference.

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. 1 tool update
    • Changedget_departures1 field changed
      • addedOutput schema / properties / departures / items / properties / seatsLeft
        Added value: +{
        +  "description": "Seats left according to the supplier. Present only when 10 or fewer remain and the figure is under 36 hours old; absent otherwise. Not a hold.",
        +  "minimum": 1,
        +  "type": "integer"
        +}
  2. 4 tool updates
    • Changedbrowse_destinations1 field changed
      • changedInput schema / properties / country / description
        Previous value: -"Country slug; returns that country’s cities."New value: +"Country (slug, Turkish or English name, or ISO code); returns that country’s cities."
    • Changedget_tour1 field changed
      • addedOutput schema / properties / tour / properties / visaNotes
        Added value: +{
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
    • Changedlist_hotels2 fields changed
      • changedInput schema / properties / city / description
        Previous value: -"City name."New value: +"City name in Turkish or English."
      • changedInput schema / properties / country / description
        Previous value: -"Country name, spelled as in the hotel records."New value: +"Country: name in English or Turkish, or ISO 3166-1 alpha-2 code (example: \"Turkey\", \"AE\")."
    • Changedsearch_tours2 fields changed
      • changedInput schema / properties / city / description
        Previous value: -"City slug."New value: +"City: slug or name in Turkish or English."
      • changedInput schema / properties / country / description
        Previous value: -"Country slug."New value: +"Country: slug, name in Turkish or English, or ISO 3166-1 alpha-2 code (example: \"japonya\", \"Japan\", \"JP\")."
  3. 12 tool updates
    • First observedbrowse_destinations
    • First observedcompare_tours
    • First observedfetch
    • First observedfind_last_minute_tours
    • First observedget_departures
    • First observedget_tour
    • First observedlist_hotels
    • First observedquote_hotel_stay
    • First observedquote_transfer
    • First observedsearch
    • First observedsearch_tours
    • First observedsearch_transfers

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP clients to access 21 read-only tools for local travel planning, including trip and itinerary validation, budget calculation, booking requirements, integration provider status, flight/train/accommodation/activity searches, route/weather/currency lookups, and travel source search.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to compare and find the cheapest domestic and international flights, hotels, villas, trains and buses in Iran, with exact Toman prices, fare and cancellation rules, baggage details, seats left and hotel reviews. Also covers CIP lounges, eSIM plans, visas and tours, and is read-only, so it never books, holds seats or pays.
    384 PyPI
    2
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Official MCP server for MAQAMI, a hotel and flight booking platform with 3M+ hotels. Search live hotel rates and flights, look up places, airports and hotel details, then prebook and book. Remote Streamable HTTP endpoint, no API key required.
    41
    86 npm
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Search VeryChic hotel deals from any MCP client; browse flash-sale offers, filter by destination or price, and read availability and prices by date. Read-only, anonymous, no account needed.
    2
    162 PyPI
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources