Skip to main content
Glama

Server Details

Find exact, directly bookable hotel rooms and apartments with live availability and prices.

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

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct user intent: destination inspiration (list_destinations), event-based stays (list_events), themed packages (list_packages), and general accommodation search (search_stays). The descriptions explicitly delineate when to use each, leaving no overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (list_* and search_*). This makes them predictable and easy to reference in agent workflows.

Tool Count5/5

Four tools cover the core discovery and search workflows (inspiration, events, packages, stays) without redundancy. This fits the well-scoped 3-15 range and each tool earns its place.

Completeness4/5

The surface covers key entry points for accommodation search and inspiration, but lacks tools for retrieving specific unit or package details by ID and managing bookings (though booking links are provided). Minor gaps exist, but core workflows are supported.

Available Tools

4 tools
list_destinationsA
Read-onlyIdempotent
Inspect

List all destinations served by pickyourmatch with unit counts, dog-friendly counts and a photo — USE THIS to inspire a guest who has not decided where to travel yet. ALWAYS pass the party (adults/children/pets) and dates (check_in/check_out) already known from the conversation — they stay visible above the results and keep the search context.

NameRequiredDescriptionDefault
dogsNoAlias for pets.
langNo
petsNoPets/dogs already mentioned — always pass along; destinations are then ranked by dog-friendly units.
adultsNoAdults already mentioned in the conversation — always pass along.
check_inNoArrival YYYY-MM-DD if already known — always pass along.
childrenNoChildren already mentioned — always pass along.
check_outNoDeparture YYYY-MM-DD if already known — always pass along.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds beyond that: results carry a photo, and the passed context 'stays visible above the results' to preserve search context — a UI/state behavior an agent could not infer from the schema.

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 sentences, front-loaded with what the tool returns before the imperative usage guidance. The 'ALWAYS pass...' clause duplicates schema text, but the emphasis is arguably intentional and 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 7 optional parameters, no output schema and no required params, the description compensates by describing the returned content (counts, photo) and the calling convention for context params. Nothing critical is missing for correct invocation, though pagination/volume behavior is unaddressed.

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 86%, so the schema already explains adults/children/pets/check_in/check_out and their 'always pass along' requirement. The description mostly restates that instruction; its only added semantic is the rationale that the context remains visible above the results, which is marginal against an already well-documented schema.

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 all destinations served by pickyourmatch') and even discloses the payload shape (unit counts, dog-friendly counts, a photo). It signals its niche against siblings like search_stays via the 'guest who has not decided where to travel yet' framing, but never names the alternatives explicitly.

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 use condition — 'USE THIS to inspire a guest who has not decided where to travel yet' — and instructs the agent to always pass party and dates already known. There is no explicit when-not rule or named sibling to route to instead, so it stops short of a 5.

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

list_eventsA
Read-onlyIdempotent
Inspect

List upcoming events (concerts, festivals, trade fairs, sports, conferences) near pickyourmatch properties — each with a "where to stay" page whose booking links open the property’s own calendar with the event dates preselected. USE THIS whenever a guest asks for accommodation during/for a specific event or asks what is happening at a destination — e.g. "where should I stay for the Frankfurt Book Fair?", "hotel for Oktoberfest that allows my dog", "apartment for the ski race in Schladming". Combine with search_stays to add room features: event + exact room + direct booking in one answer.

NameRequiredDescriptionDefault
toNoOnly events starting on/before this date YYYY-MM-DD
cityNoFilter by destination city (umlaut-tolerant)
fromNoOnly events ending on/after this date YYYY-MM-DD
limitNoMax results (default 20, max 50)
queryNoMatch against the event name, e.g. "Oktoberfest"

Output Schema

NameRequiredDescription
cityNoEcho of the city filter, if given
langNoLanguage of the response
queryNoEcho of the name query, if given
totalYesNumber of events matching the filters (before limit)
eventsYesUpcoming events, soonest first
guidanceYesHow to present the results / what to do when empty

TDQS

A4.4/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 non-obvious behavior: results link to the property's own calendar with event dates preselected, and the tool is designed to be composed with search_stays. It stops short of return-format or pagination 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?

Three sentences, front-loaded with the core purpose before the usage triggers, and each sentence carries distinct information (purpose, triggers, composition). Slightly verbose with the quote-heavy examples, but nothing is truly wasted.

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, the description needn't explain return values, yet it still characterizes the landing page behavior and the cross-tool composition. Nothing an agent needs in order to select and invoke this correctly 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%, so all five parameters (query, city, from, to, limit) are already documented with format and semantics. The description adds no syntax or format detail beyond the schema, which is the expected baseline when the schema does the heavy lifting.

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 (List) and resource (upcoming events), enumerates the event categories covered, and even describes the shape of each result ('where to stay' page with booking links). An agent can immediately tell this apart from list_destinations, list_packages, and search_stays.

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 'USE THIS whenever...' trigger conditions, three concrete user-utterance examples, and an explicit orchestration instruction to combine with search_stays. This is close to ideal routing guidance.

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

list_packagesA
Read-onlyIdempotent
Inspect

Theme-driven, AFTER the units: when the brief carries a package theme (romantic, wellness, dog, culinary) or the guest asks for deals, call this AFTER search_stays in the same turn - the packages appear as their own section BELOW the unit results and enrich the selection. Never call it first, never instead of the unit search. List themed holiday packages (promotional bundles) across properties — dog holidays, romance, wellness, culinary — each with included extras (e.g. dinner, treatments) and a direct booking link. Use for emotional/experience queries like "romantic getaway package" or "dog holiday with meals included".

NameRequiredDescriptionDefault
cityNoFilter by destination city (umlaut-tolerant)
dogsNoAlias for pets.
langNo
petsNoPets/dogs known from the conversation — always pass along.
themeNoFilter by package theme
adultsNoAdults known from the conversation — always pass along (kept visible above results).
check_inNoArrival YYYY-MM-DD if known — always pass along.
childrenNoChildren known from the conversation — always pass along.
check_outNoDeparture YYYY-MM-DD if known — always pass along.

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, openWorldHint and destructiveHint=false, so safety and world scope are covered. The description adds genuine behavioral context beyond that: results render as their own section BELOW unit results and enrich the selection, and each package carries included extras and a direct booking link. It stops short of mentioning auth needs, rate limits, or result cardinality, hence a 4 rather than 5.

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?

The critical ordering constraint is front-loaded and capitalized, which is the right structure. However, the same ordering rule is restated three times ('AFTER the units', 'never call it first', 'never instead of the unit search'), which is somewhat redundant, and the theme list is repeated between the routing sentence and the resource 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?

For a 9-parameter, no-required, no-output-schema tool, the description supplies the essential missing context: the ordering relationship to search_stays, the thematic trigger conditions, and what a returned package contains. Since there is no output schema, it could say slightly more about the shape/volume of results, but nothing critical for correct invocation 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 89%, so the schema already documents the parameters well (including the 'always pass along' guidance on adults, children, pets, check_in/out). The description reinforces the theme concept by listing romance/wellness/dog/culinary, which maps to the theme enum, but adds no format or filtering detail beyond the schema. Baseline 3 is appropriate.

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 — 'List themed holiday packages (promotional bundles) across properties' — and enumerates the themes (dog, romance, wellness, culinary) plus what each contains. It explicitly distinguishes itself from the sibling search_stays ('never instead of the unit search'), so an agent can separate it from siblings 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?

Gives an explicit when ('when the brief carries a package theme... or the guest asks for deals'), an ordering rule ('call this AFTER search_stays in the same turn'), and hard exclusions ('never call it first, never instead of the unit search'). It also supplies trigger examples ('romantic getaway package', 'dog holiday with meals included'), leaving nothing to inference.

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

search_staysA
Read-onlyIdempotent
Inspect

Search accommodation at participating properties — hotel rooms, apartments and holiday homes. Search criteria: destination (a town, a landmark or venue, or coordinates, with a radius), travel dates, the party (adults, children and their ages, pets), a maximum nightly price, free cancellation, unit features (view, balcony, terrace, quiet location, floor, workspace, sauna, kitchen, accessibility), the name of a unit or property, the response language and the number of results. Each result is one specific unit, described with its floor, view and beds, and guaranteed at booking — what the product states is what the guest is assigned. Without dates the results carry from-prices; with check_in and check_out they are the units available for those dates, with the price for the stay and a link to the property's booking page. All parameters are optional; query may state the same criteria as free text. Each result carries match_score, matched_features and not_confirmed_features.

NameRequiredDescriptionDefault
latNoLatitude of the place to search around (a landmark or venue) — an alternative to near.
lngNoLongitude of the place to search around (a landmark or venue) — an alternative to near.
cityNoThe destination to search in — the town or city where the guest wants to stay, e.g. Schladming (umlaut-tolerant).
dogsNoAlias for pets.
langNoLanguage for names/features/links (default en)
nameNoA specific unit or property the guest named ("Villa Albatros No. 1", "Kaiser Karl", "City Hotel Meckenheim"). Use it when the guest asks for a unit or property by name — it matches unit and property names directly, so a named unit is found even when it is not free for the requested dates. A named unit is never filtered out by availability: it comes back with its status and a link to the property's own calendar.
nearNoA landmark, venue, trade fair, station or address to stay close to ("Messe Frankfurt", "Allianz Arena", "Frankfurt airport"). The server geocodes it and returns results nearest first, each with approx_km. Combine freely with dates, party, price and features.
petsNoNumber of pets/dogs. Filters to units that allow at least this many pets, and is passed to the booking link.
limitNoMax results (default 10, max 30)
queryNoOptional: the same search criteria as free text, in any language — for example "apartment in Schladming for 2 adults and a dog, 16–19 August, with sauna". Destination, dates (a month alone gets a proposed window), party, budget and features are read from it; explicit parameters override.
adultsNoNumber of adults. Combined with children it filters to units that actually fit the whole party (occupancy), and is passed to the booking link.
cursorNoDated searches live-check up to 20 properties per call. When the response carries next_cursor, repeat the SAME search with cursor=next_cursor to check the remaining properties — a page without next_cursor has covered everything. Never conclude "sold out" from a page whose coverage.complete is false.
sleepsNoMinimum total guests the unit must sleep (use adults+children instead when you know the split).
check_inNoArrival date YYYY-MM-DD. With check_in and check_out, results are the units available for those dates, with the nightly price for that stay and a booking link with the dates filled in.
childrenNoNumber of children. Filters to units whose child capacity fits, and is passed to the booking link.
featuresNoRequired features (matched against localized feature names), e.g. ["Sauna", "Balkon"]. Also what a property sells as a bookable extra: "Airport transfer", "Parking", "Baby cot", "Late check-out" — a card then carries the extra with its price in wish_note.
check_outNoDeparture date YYYY-MM-DD (must be after check_in, max 30 nights).
max_priceNoMaximum nightly price. Dated quotes above this appear only as labeled alternatives when exact matches are insufficient.
radius_kmNoMaximum straight-line distance for near (or lat/lng), default 30, max 200. If nothing lies within, the nearest options are returned with their distances.
radius_milesNoThe same radius in miles, for guests who think in miles; results then also carry approx_mi.
children_agesNoAges of the children (0-17), if known, e.g. [16]. Child prices and capacity depend on age.
free_cancellationNoThe guest wants to be able to cancel for free. With dates, each card quotes the refundable rate and its price; a unit with no refundable rate on those dates is shown only as a labelled alternative.

TDQS

A4/5.0
Behavior4/5

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

Annotations already carry readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: each result is a specific unit guaranteed at booking ("what the product states is what the guest is assigned"), and results carry match_score, matched_features and not_confirmed_features. No contradiction with annotations.

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

Conciseness3/5

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

Front-loaded with purpose and result semantics, which is good, but the long paragraph re-lists every search criterion that the 100%-covered schema already documents in full, so significant text is redundant rather than additive. It is dense but not wasteful to the point of confusion.

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 22 optional parameters and no output schema, the description does well to explain the return shape (one unit per result with floor, view, beds, from-price vs stay-price, booking link) and the naming/availability guarantee. The cursor/coverage pagination semantics live only in the schema, but the description is otherwise sufficient for correct invocation.

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 the baseline is 3. The prose enumerates the same criteria (destination, dates, party, price, features, name, language, limit) that the schema already documents, and adds no syntax, defaults or format detail beyond it; the return-field names (match_score, matched_features) are result metadata rather than parameter semantics.

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 resource (accommodation: hotel rooms, apartments, holiday homes) at participating properties, with the search-criteria scope enumerated. An agent can distinguish this from list_destinations, list_events and list_packages, which enumerate catalogue entities rather than search bookable units.

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 clear conditional behavior: without dates results carry from-prices, with check_in/check_out they are the units available for those dates with the stay price and booking link; all parameters are optional and query may restate criteria as free text. It does not explicitly route to the sibling tools (events, packages) or state when-not-to-use, so it stops short of a 5.

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
    • Changedsearch_stays4 fields changed
      • changedInput schema / properties / check_in / description
        Previous value: -"Arrival date YYYY-MM-DD. When check_in+check_out are given, results are filtered to units actually AVAILABLE for those exact dates, with the real total-window nightly price and a booking link that has the dates pre-filled."New value: +"Arrival date YYYY-MM-DD. With check_in and check_out, results are the units available for those dates, with the nightly price for that stay and a booking link with the dates filled in."
      • changedInput schema / properties / children_ages / description
        Previous value: -"Ages of the children (0-17), e.g. [16], when the guest states them. The price and the capacity check depend on each child's age, so a search without them can quote a wrong price."New value: +"Ages of the children (0-17), if known, e.g. [16]. Child prices and capacity depend on age."
      • changedInput schema / properties / query / description
        Previous value: -"The accommodation request as free text, in any language — for example \"apartment in Schladming for 2 adults and a dog, 16–19 August, with sauna\". The server reads destination, dates (exact ranges are kept; a month alone gets a proposed window), party, dogs, budget and feature wishes from it. Explicit parameters below override."New value: +"Optional: the same search criteria as free text, in any language — for example \"apartment in Schladming for 2 adults and a dog, 16–19 August, with sauna\". Destination, dates (a month alone gets a proposed window), party, budget and features are read from it; explicit parameters override."
      • changedInput schema / properties / radius_km / description
        Previous value: -"Maximum straight-line distance for near (or lat/lng), default 30, max 200. If nothing lies within, the nearest options are returned with honest distances instead of an empty answer."New value: +"Maximum straight-line distance for near (or lat/lng), default 30, max 200. If nothing lies within, the nearest options are returned with their distances."
  2. 1 tool update
    • Changedsearch_stays6 fields changed
      • changedInput schema / properties / children_ages / description
        Previous value: -"Ages of the children (0-17), e.g. [16] — ALWAYS pass them when the guest mentioned ages: the booking engine prices and checks capacity per age, a teen priced as a small child produces wrong offers."New value: +"Ages of the children (0-17), e.g. [16], when the guest states them. The price and the capacity check depend on each child's age, so a search without them can quote a wrong price."
      • changedInput schema / properties / city / description
        Previous value: -"Destination city, e.g. Schladming (umlaut-tolerant)"New value: +"The destination to search in — the town or city where the guest wants to stay, e.g. Schladming (umlaut-tolerant)."
      • changedInput schema / properties / lat / description
        Previous value: -"Latitude — coordinate alternative to near."New value: +"Latitude of the place to search around (a landmark or venue) — an alternative to near."
      • changedInput schema / properties / lng / description
        Previous value: -"Longitude — coordinate alternative to near."New value: +"Longitude of the place to search around (a landmark or venue) — an alternative to near."
      • changedInput schema / properties / name / description
        Previous value: -"A specific unit or property the guest named (\"Villa Albatros No. 1\", \"Kaiser Karl\", \"City Hotel Meckenheim\"). Use this WHENEVER the guest asks for something by name — it matches unit and property names directly, so a named unit is always findable even when it is not free for the requested dates. A named unit is never filtered out by availability: it comes back with its status and a link to the property's own calendar."New value: +"A specific unit or property the guest named (\"Villa Albatros No. 1\", \"Kaiser Karl\", \"City Hotel Meckenheim\"). Use it when the guest asks for a unit or property by name — it matches unit and property names directly, so a named unit is found even when it is not free for the requested dates. A named unit is never filtered out by availability: it comes back with its status and a link to the property's own calendar."
      • changedInput schema / properties / query / description
        Previous value: -"EASIEST correct call: the guest message VERBATIM, any language, typos fine — the server translates it into place, dates (preserves exact ranges; only month-only requests use a proposed window), party, dogs, budget and feature wishes. Explicit parameters below always override."New value: +"The accommodation request as free text, in any language — for example \"apartment in Schladming for 2 adults and a dog, 16–19 August, with sauna\". The server reads destination, dates (exact ranges are kept; a month alone gets a proposed window), party, dogs, budget and feature wishes from it. Explicit parameters below override."
  3. 1 tool update
    • Changedsearch_stays1 field changed
      • changedInput schema / properties / features / description
        Previous value: -"Required features (matched against localized feature names), e.g. [\"Sauna\", \"Balkon\"]"New value: +"Required features (matched against localized feature names), e.g. [\"Sauna\", \"Balkon\"]. Also what a property sells as a bookable extra: \"Airport transfer\", \"Parking\", \"Baby cot\", \"Late check-out\" — a card then carries the extra with its price in wish_note."
  4. 4 tool updates
    • First observedlist_destinations
    • First observedlist_events
    • First observedlist_packages
    • First observedsearch_stays

Related MCP Connectors

Related MCP Servers

  • 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
    A
    maintenance
    Vacation rental software. A signed stay offer on the host’s own domain. Use this when a vacation rental host wants booking software on the host’s own domain, or when a stay offer must be verified against that domain. Returns an Ed25519-signed offer (VRP) and the host’s direct booking URL. The guest books and pays the host. Do not use to compare hosts or prices.
    6
    999 npm
    4
    Apache 2.0
  • F
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to search hotel rooms by number of nights within a flexible date range, returning real prices and the cheapest deals with booking links. It also supports city resolution, hotel listing, and offer details for external booking completion.
    4
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources