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.
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.
Tool Definition Quality
Average 4.4/5 across 10 of 10 tools scored.
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.
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.
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.
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 toolsget_accommodation_detailGet accommodation detailARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| accommodationId | Yes | Accommodation id from search results or list_accommodations. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 optionsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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 detailARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| skiAreaId | Yes | Ski area id from list_ski_areas. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 pricesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Result page, starting at 1. | |
| limit | No | Results per page. Maximum is 50. | |
| weekId | No | Optional fixed weekly winter arrival date id. Required when no skiAreaId, skiResortId or accommodationId is provided. Omit it only for destination-scoped ski pass discovery. | |
| skiAreaId | No | Optional ski area id from list_ski_areas. | |
| skiResortId | No | Optional ski resort id from list_ski_resorts. | |
| durationDays | No | Optional ski pass duration in days. Omit it to return all available durations with prices. Default website duration is 6 days. | |
| accommodationId | No | Optional accommodation id from search_apartments, list_accommodations or get_accommodation_detail. Uses the accommodation ski resort. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 detailARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| skiResortId | Yes | Ski resort id from list_ski_resorts. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 accommodationsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Result page, starting at 1. | |
| limit | No | Results per page. Maximum is 200. | |
| skiAreaId | No | Optional ski area id from list_ski_areas. | |
| districtId | No | Optional district id from accommodation or search-scope data. | |
| skiResortId | No | Optional ski resort id from list_ski_resorts. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 areasARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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 resortsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| skiAreaId | No | Optional ski area id from list_ski_areas. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 keywordsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search phrase to resolve into possible destination or accommodation scopes, for example "Val Thorens", "3 Vallees" or an accommodation name. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 apartmentsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Result page, starting at 1. | |
| pets | No | Pet policy. | |
| areas | No | Parent-area values from get_search_options. | |
| weekId | No | Fixed weekly winter arrival date id from get_search_options. Required for week-specific price, availability, bookabilityStatus and special-discount comparison. | |
| entityId | No | Optional precise search-scope entity id from resolve_search_keywords. Use together with entityType. | |
| keywords | No | Natural-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. | |
| amenities | No | Amenity values from get_search_options. | |
| partySize | No | Traveller count. Results are restricted to apartments whose capacity is at least this party size within the matching website occupancy bucket. | |
| priceSort | No | Result sorting. Status remains the primary order, followed by price and party-size category. | default |
| entityType | No | Optional 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. | |
| minBedrooms | No | Minimum number of bedrooms. Value 8 means 8 or more. | |
| minBathrooms | No | Minimum number of bathrooms. Value 8 means 8 or more. | |
| skiAreaSizes | No | Ski-area size categories from get_search_options. | |
| durationWeeks | No | Stay duration in weeks. Two weeks requires weekId. | |
| minSquareMeters | No | Minimum living space in square metres. | |
| accommodationType | No | Optional accommodation type. | |
| accommodationCategories | No | Premium and luxury accommodation categories from get_search_options. | |
| maxDistanceToSlopeMeters | No | Maximum distance to piste, lift or gondola in metres. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Flicense-qualityDmaintenanceEnables users to find the best ski resort snow conditions worldwide and search for flights to get there.
- AlicenseAqualityAmaintenanceSearch vacation rental properties, check real-time availability, get canonical pricing quotes, and create direct bookings. Each property is its own node with live data. Supports staircase pricing, seasonal rates, and 11 languages.1132762Apache 2.0
- Alicense-qualityDmaintenanceEnables AI agents to search, compare, and interact with Apartments.com rental listings, including scheduling tours and contacting property managers.17MIT