Skip to main content
Glama

ski-france.com Agent Search

Server Details

Ski apartment search with one- or two-week prices, availability, destinations and ski passes.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 10 of 10 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: separate tools for different entity details (accommodation, ski area, resort), distinct search vs. list operations, and specialized tools for ski pass prices and search vocabulary. No overlapping functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., get_accommodation_detail, list_ski_areas, search_apartments). Verbs are appropriately chosen (get, list, search, resolve), and there are no mixed conventions.

Tool Count5/5

With 10 tools covering destination discovery, accommodation details, apartment search, pricing, and search utilities, the count is well-scoped for a ski accommodation search domain. No unnecessary tools or missing essentials.

Completeness5/5

The tool set covers the full user journey: vocabulary setup (get_search_options), keyword resolution (resolve_search_keywords), destination lists (list_ski_areas/resorts), accommodation lists (list_accommodations), detailed info (get_*_detail), apartment search with pricing (search_apartments), and ski pass pricing (get_ski_pass_prices). No obvious gaps for an information/query-focused server.

Available Tools

10 tools
get_accommodation_detailGet accommodation detailA
Read-onlyIdempotent
Inspect

Return accommodation-level context, apartment list, images, detail information and weekly availability for one public accommodation. Use this after search results to inspect all apartments belonging to one accommodation and to explain location, descriptions and detail notes. For price and bookability comparison for a specific week, prefer search_apartments with weekId.

ParametersJSON Schema
NameRequiredDescriptionDefault
accommodationIdYesAccommodation id from search results or list_accommodations.
Behavior4/5

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

Annotations already indicate readOnlyHint, idempotentHint, and non-destructive. The description adds useful content scope (apartment list, images, weekly availability) and notes the tool is for public accommodations. No contradictions. Lacks explicit mention of return format but the description carries reasonable transparency.

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

Conciseness5/5

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

The description is three sentences, each with a distinct purpose: what it returns, when to use it, and when to use an alternative. Every sentence earns its place with no redundancy or filler.

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 simple one-parameter, read-only tool with no output schema, the description adequately explains the return contents (apartment list, images, weekly availability) and usage context. Slightly more detail on 'weekly availability' or response structure could push it higher, but it is substantially complete.

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%, with the accommodationId parameter documented as 'Accommodation id from search results or list_accommodations.' The description itself adds no additional parameter semantics, so 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 clearly states it returns accommodation-level context, apartment list, images, detail information, and weekly availability for one public accommodation. It also distinguishes itself from siblings by explicitly positioning it after search results and contrasting with search_apartments.

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 usage guidance is provided: 'Use this after search results to inspect all apartments belonging to one accommodation' and 'For price and bookability comparison for a specific week, prefer search_apartments with weekId' clearly states when to use and when to prefer an alternative.

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

get_search_optionsGet search optionsA
Read-onlyIdempotent
Inspect

Return the current structured search vocabulary before building a search: arrival weeks, one- or two-week durations, amenities, advanced apartment filters, price sorting, entity types and supported language subdomains. Use this first when you need valid parameter values.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds that the vocabulary is 'current' (implying it may change over time) and lists what it contains, giving the agent a clear idea of the return content. It does not discuss limitations or side effects beyond this, but with annotations covering safety, this is adequate.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the action and content list. The second sentence gives a clear usage directive. Every word earns its place, with no redundancy or fluff.

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?

Given the tool's simplicity (no parameters, no output schema), the description is complete: it defines what the tool returns, the content categories, and when to use it. The annotations cover safety, and the description adequately bridges to using it with sibling search tools.

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?

There are 0 parameters, so the baseline is 4. The description does not need to explain parameter syntax, and the empty schema is fully consistent. No extra information is needed.

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 clearly states a specific action ('Return the current structured search vocabulary') and lists the content types (arrival weeks, durations, amenities, filters, price sorting, entity types, language subdomains). This distinguishes it from sibling tools like list_accommodations or search_apartments, which are about searching/listing rather than providing vocabulary.

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 description provides clear context for when to use the tool: 'Use this first when you need valid parameter values.' This implies a sequential workflow before building a search, but it does not explicitly name alternative tools or state when not to use it, so it misses the full marks.

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

get_ski_area_detailGet ski area detailA
Read-onlyIdempotent
Inspect

Return public ski area information, facts, images, ski maps and related ski resorts. Use this for destination context and recommendations, not for apartment prices or availability; use search_apartments for live week-specific accommodation results.

ParametersJSON Schema
NameRequiredDescriptionDefault
skiAreaIdYesSki area id from list_ski_areas.
Behavior4/5

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

The annotations already mark this as read-only, idempotent, and non-destructive. The description adds that the data is public and describes the content categories returned (facts, images, ski maps, related resorts), giving some behavioral context beyond the safety profile, though it does not discuss pagination, rate limits, or auth.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the main purpose, and includes a clear exclusion and alternative. No wasted words, and it efficiently conveys the tool's scope and usage.

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 simple detail tool with one parameter, no output schema, and strong annotations, the description provides sufficient information about what is returned and when to use it. It lacks explicit distinction from get_ski_resort_detail but is otherwise complete for a single-resource detail endpoint.

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?

The schema already provides full coverage for the single parameter, describing it as a ski area id from list_ski_areas. The description does not add any additional parameter semantics, so with 100% schema coverage the baseline of 3 applies.

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

Purpose5/5

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

The description explicitly states it returns public ski area information, facts, images, ski maps, and related ski resorts, with a clear verb and resource. It also differentiates from search_apartments by noting it is not for apartment prices or availability, helping distinguish from a sibling.

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?

The description provides explicit usage guidance: use for destination context and recommendations, not for apartment prices, and names search_apartments as the alternative for live week-specific accommodation results. This clearly indicates when to use the tool versus an alternative.

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

get_ski_pass_pricesGet ski pass pricesA
Read-onlyIdempotent
Inspect

Return ski pass weeks, durations and price tables with listPrice, discount and discountedPrice. Restrict by skiAreaId, skiResortId or accommodationId for destination-specific ski pass discovery. A global request without destination scope must provide weekId to avoid an overly broad price matrix. Omit durationDays to discover available durations with prices.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoResult page, starting at 1.
limitNoResults per page. Maximum is 50.
weekIdNoOptional fixed weekly winter arrival date id. Required when no skiAreaId, skiResortId or accommodationId is provided. Omit it only for destination-scoped ski pass discovery.
skiAreaIdNoOptional ski area id from list_ski_areas.
skiResortIdNoOptional ski resort id from list_ski_resorts.
durationDaysNoOptional ski pass duration in days. Omit it to return all available durations with prices. Default website duration is 6 days.
accommodationIdNoOptional accommodation id from search_apartments, list_accommodations or get_accommodation_detail. Uses the accommodation ski resort.
Behavior4/5

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

Annotations already declare read-only and idempotent, and the description adds meaningful constraints: global requests need weekId to avoid an overly broad price matrix, and omitting durationDays expands results. No contradiction.

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 sentences, front-loaded with the return payload. Each sentence adds a distinct usage rule with no 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?

For a read-only query tool with no output schema, the description covers core scenarios and result fields. It does not clarify interactions when multiple destination filters are provided, but that nuance is beyond the essential.

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 schema covers all 7 parameters with descriptions, so baseline is 3. The description adds strategic rationale (avoiding overly broad matrix) and clarifies the destination-scoping role of destination IDs, adding value beyond 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?

The description clearly states it returns ski pass weeks, durations, and price tables with listPrice, discount, and discountedPrice. It distinguishes itself from sibling tools by focusing on pricing data rather than area/resort details.

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 provides clear context: restrict by skiAreaId, skiResortId, or accommodationId for scoped discovery; require weekId for global requests; and omit durationDays to list durations. However, it does not explicitly compare to alternative tools or state when not to use it.

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

get_ski_resort_detailGet ski resort detailA
Read-onlyIdempotent
Inspect

Return public ski resort information, location, facts, images and ski maps. Use this for explaining and comparing destinations, not for apartment prices or availability; use search_apartments for live week-specific accommodation results.

ParametersJSON Schema
NameRequiredDescriptionDefault
skiResortIdYesSki resort id from list_ski_resorts.
Behavior4/5

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

Annotations (readOnlyHint, destructiveHint, idempotentHint) already declare safety profile. Description adds context that data is 'public' and what content is included (location, facts, images, ski maps), which helps the agent anticipate behavior. No contradictions.

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?

Two sentences, front-loaded with action and resource, then usage guidance. No wasted words.

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?

Simple tool with one parameter. Annotations cover safety and idempotency. Description explains content scope and use cases. Absence of output schema is acceptable because the description enumerates return content (information, location, facts, images, ski maps).

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 skiResortId described as 'Ski resort id from list_ski_resorts.' Description does not add further parameter detail; baseline 3 applies because the schema fully documents the parameter.

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?

Description uses specific verb 'Return' and resource 'public ski resort information, location, facts, images and ski maps', clearly distinguishing from sibling tools like get_ski_area_detail which targets ski areas. It states exactly what the tool provides.

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?

Explicitly says 'Use this for explaining and comparing destinations, not for apartment prices or availability; use search_apartments for live week-specific accommodation results.' This provides when-to-use, when-not-to-use, and names a specific alternative.

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

list_accommodationsList accommodationsA
Read-onlyIdempotent
Inspect

List public accommodations for catalogue discovery, optionally filtered by ski area, ski resort or district ids from the destination tools. This list intentionally has no prices, availability or bookability. Use search_apartments with weekId for price and availability comparison, and get_accommodation_detail after a result for accommodation context.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoResult page, starting at 1.
limitNoResults per page. Maximum is 200.
skiAreaIdNoOptional ski area id from list_ski_areas.
districtIdNoOptional district id from accommodation or search-scope data.
skiResortIdNoOptional ski resort id from list_ski_resorts.
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. Beyond that, the description adds key behavioral context by stating 'This list intentionally has no prices, availability or bookability,' preventing misuse. It doesn't delve into pagination mechanics, but schema covers page/limit, so this is sufficient.

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

Conciseness5/5

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

The description is three concise sentences: the first states the purpose and filters, the second clarifies a critical limitation, and the third directs to sibling tools. Every sentence adds value without redundancy or filler.

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?

Even without an output schema, the description fully covers what a user needs to know: what the list contains, what it intentionally omits, and how to obtain pricing/availability and detail. It contextualizes the tool among nine siblings and accounts for all 5 optional parameters via schema, making it complete for its scope.

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%, with each parameter (page, limit, skiAreaId, districtId, skiResortId) already documented, including source tool references like list_ski_areas. The description's mention of 'filtered by ski area, ski resort or district ids' adds minimal semantic value beyond what the schema provides, so 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 clearly states the tool's function: 'List public accommodations for catalogue discovery, optionally filtered by ski area, ski resort or district ids'. It distinguishes itself from siblings by explicitly noting the absence of prices, availability, and bookability, and by pointing to search_apartments and get_accommodation_detail for those needs.

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?

The description provides explicit guidance on when to use this tool versus alternatives: 'Use search_apartments with weekId for price and availability comparison, and get_accommodation_detail after a result for accommodation context.' It also mentions the optional filters derived from destination tools, giving clear usage context.

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

list_ski_areasList ski areasA
Read-onlyIdempotent
Inspect

List public ski areas in France for destination discovery and comparison. A ski area groups one or more ski resorts and can be used as a destination scope for apartment search. Parent regions only bundle ski areas and do not have a separate detail endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Annotations already convey read-only/idempotent behavior, and the description adds useful data-model context (ski areas group resorts; parent regions bundle but have no detail endpoint). It does not describe pagination or response format, but that is not required for a simple list endpoint.

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

Conciseness5/5

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

The description is three sentences with no redundancy. It front-loads the core action and resource, then adds the most relevant relationship and scope details.

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 parameterless list endpoint with no output schema, the description gives enough context about what is returned (public ski areas in France) and how the result relates to other resources (resorts, apartment search, parent regions). This is complete for selection and invocation.

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 has zero parameters, so the schema is fully covered by default. The description adds semantic context about what ski areas represent, which is more than sufficient given there are no parameters to document.

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 clearly states the tool lists public ski areas in France for discovery and comparison. It distinguishes ski areas from resorts and parent regions, which differentiates it from sibling tools like list_ski_resorts and get_ski_area_detail.

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 provides clear context: a ski area groups resorts and can be used as a destination scope for apartment search. It also clarifies that parent regions lack a detail endpoint, but it does not explicitly name alternatives or when-not-to-use cases.

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

list_ski_resortsList ski resortsA
Read-onlyIdempotent
Inspect

List public ski resorts in France for destination discovery, optionally filtered by ski area id. A ski resort is the local destination or village/resort used for accommodation search scopes and resort detail pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
skiAreaIdNoOptional ski area id from list_ski_areas.
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe read nature is disclosed. The description adds context about public resorts, the France scope, the optional filter, and the domain definition of a ski resort. It does not add details like pagination or response format, but with annotations covering safety, this is adequate.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the action ('List public ski resorts'), and the second sentence adds necessary domain context without redundancy. Every word earns its place.

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 simple list tool with one optional parameter and full schema coverage, the description provides sufficient context: scope, filter, and domain definition. Annotations handle the safety profile, and the absence of an output schema does not require return-value explanation. The description is complete for this tool's complexity.

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%: the only parameter, skiAreaId, is described as 'Optional ski area id from list_ski_areas.' The description also mentions 'optionally filtered by ski area id,' which aligns with the schema. The description adds no significant meaning beyond what the schema already provides, so 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 clearly states 'List public ski resorts in France for destination discovery, optionally filtered by ski area id.' It uses a specific verb (list) and resource (ski resorts), and the scope (France) plus filter distinguish it from siblings like list_ski_areas and get_ski_resort_detail.

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 description provides usage context: it is for 'destination discovery' and clarifies that a ski resort is the local destination used for accommodation search scopes and resort detail pages. However, it does not explicitly name alternatives or exclusions, such as using get_ski_resort_detail for a single resort.

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

resolve_search_keywordsResolve search keywordsA
Read-onlyIdempotent
Inspect

Resolve a user phrase into concrete search-scope candidates such as parent regions, ski areas, ski resorts, districts or accommodations. Use the returned entityType and entityId in search_apartments when you want to restrict a later apartment search to a precise destination or accommodation. Broad searches can skip this and use keywords directly. Parent-region scopes are only for restricting searches, not for destination detail lookup.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch phrase to resolve into possible destination or accommodation scopes, for example "Val Thorens", "3 Vallees" or an accommodation name.
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so safety is covered. The description adds valuable behavioral context beyond annotations: it clarifies that the output is a set of candidate scopes for restricting searches, not for destination detail lookup, and that parent-region scopes are restrictive only. This informs the agent about the tool's semantic role.

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 sentences, each carrying distinct value: purpose, usage linkage, and an exclusion. No redundancy, front-loaded with the core function. Perfectly concise and well-structured.

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 single-parameter tool with no output schema, the description is largely complete. It names the return fields (entityType and entityId) and explains their downstream use. However, it does not describe the exact shape of the response (e.g., array or single object), but this isn't essential given the tool's simplicity and the explicit usage guidance.

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?

The schema covers 100% of the parameter's meaning, including examples ('Val Thorens', '3 Vallees') and constraints. The description does not add further detail about the parameter itself but explains how the result is used. Since schema coverage is high, baseline 3 is appropriate; the description adds no additional parameter-specific 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?

The description clearly states the tool's function: 'Resolve a user phrase into concrete search-scope candidates' and lists the types of candidates (parent regions, ski areas, etc.). It distinguishes itself from sibling tools by explicitly linking its output to search_apartments, showing a specific verb+resource scope.

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 when-to-use guidance is provided: 'Use the returned entityType and entityId in search_apartments when you want to restrict a later apartment search.' It also states when to skip: 'Broad searches can skip this and use keywords directly.' The caveat about parent-region scopes adds clear exclusions.

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

search_apartmentsSearch ski apartmentsA
Read-onlyIdempotent
Inspect

Main apartment-level search for winter ski accommodation in French ski areas and ski resorts. Results are apartments, not whole accommodations. Put destination, ski area, ski resort or accommodation names into keywords. Use structured parameters for amenities, rooms, living space, slope distance, ski area size, parent areas, accommodation category, chalet type, pets and price sorting. Put the traveller count into partySize, not keywords. Use weekId and durationWeeks for one- or two-week price, availability, bookability and special-discount data.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoResult page, starting at 1.
petsNoPet policy.
areasNoParent-area values from get_search_options.
weekIdNoFixed weekly winter arrival date id from get_search_options. Required for week-specific price, availability, bookabilityStatus and special-discount comparison.
entityIdNoOptional precise search-scope entity id from resolve_search_keywords. Use together with entityType.
keywordsNoNatural-language destination or accommodation keywords, for example a ski resort, ski area, accommodation name or free text. Use the structured filter parameters for amenities and property requirements.
amenitiesNoAmenity values from get_search_options.
partySizeNoTraveller count. Results are restricted to apartments whose capacity is at least this party size within the matching website occupancy bucket.
priceSortNoResult sorting. Status remains the primary order, followed by price and party-size category.default
entityTypeNoOptional precise search-scope entity type from resolve_search_keywords. Use together with entityId to restrict results to a resolved parent region, ski area, ski resort, district or accommodation.
minBedroomsNoMinimum number of bedrooms. Value 8 means 8 or more.
minBathroomsNoMinimum number of bathrooms. Value 8 means 8 or more.
skiAreaSizesNoSki-area size categories from get_search_options.
durationWeeksNoStay duration in weeks. Two weeks requires weekId.
minSquareMetersNoMinimum living space in square metres.
accommodationTypeNoOptional accommodation type.
accommodationCategoriesNoPremium and luxury accommodation categories from get_search_options.
maxDistanceToSlopeMetersNoMaximum distance to piste, lift or gondola in metres.
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds useful behavioral context: results are apartments only, and weekId/durationWeeks are needed for week-specific data like price and bookability. This is beyond annotation data, though it does not detail response format or pagination.

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 description is dense but efficiently structured: three sentences cover purpose, scope, and key parameter guidance. Each sentence adds unique information. It is slightly long given the number of parameters, but remains focused and front-loaded.

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 an 18-parameter search tool with no output schema, the description covers essential usage patterns and distinguishes from sibling searches. However, it does not explain the response structure or pagination behavior, which would be helpful given no output schema. Overall, it is sufficiently complete for a complex tool.

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 all 18 parameters already have descriptions. The description adds value by clarifying usage patterns (e.g., 'Put the traveller count into partySize, not keywords') and grouping parameters by intent. It enriches the schema but does not fully compensate for the absence of an output 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?

The description clearly states it is the 'Main apartment-level search for winter ski accommodation in French ski areas and ski resorts.' It specifies the resource (apartments), the verb (search), and explicitly distinguishes from whole accommodations, which differentiates it from sibling tools like list_accommodations.

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?

Provides clear guidance on how to use parameters: put destinations in keywords, use structured filters for amenities/property requirements, put party size in partySize, and use weekId/durationWeeks for price/availability data. It implies when to use this search (for apartment-level results) but does not explicitly name alternative tools or list exclusion criteria.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources