Ski resort snow and weather, Ski Club holidays, help and FAQs, and the club shop.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Fetch the full content of one document by the id returned from `search`.
Document id from a prior search result
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http ski-club https://mcp.skiclub.co.uk/mcp
Fetch the full content of one document by the id returned from `search`.
| Argument | Type | Description |
|---|---|---|
| id* | string | Document id from a prior search result |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Document id from a prior search result"
}
}
}Find a ski resort by name and return its numeric id (pass to get_resort_conditions and get_resort_cards) plus its page url.
| Argument | Type | Description |
|---|---|---|
| name* | string | Resort name, e.g. 'Chamonix' |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Resort name, e.g. 'Chamonix'"
}
}
}Get one shop collection and its products by handle.
| Argument | Type | Description |
|---|---|---|
| handle* | string | Shopify collection handle |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string",
"minLength": 1,
"description": "Shopify collection handle"
}
}
}One help FAQ by its slug: question, answer (Markdown), url, topic and related questions.
| Argument | Type | Description |
|---|---|---|
| slug* | string | FAQ slug, e.g. from search_help or a /help/q/{slug}/ url |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"description": "FAQ slug, e.g. from search_help or a /help/q/{slug}/ url"
}
}
}The questions and answers (Markdown) in one help topic, in the site's order, with each FAQ's url. Paged: pass `offset` from `next_offset` for more.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Topic slug from list_help_topics, e.g. 'digital-passes' |
| limit | integer | Max FAQs (default 25) |
| offset | integer | Start position (default 0) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"description": "Topic slug from list_help_topics, e.g. 'digital-passes'"
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Max FAQs (default 25)"
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Start position (default 0)"
}
}
}The FAQs shown on one site page, holiday, resort or ski test, in page order, with answers in Markdown. Give exactly one of `path`, `holiday`, `resort` or `ski_test`. For a holiday, add its resorts' slugs in `with_resorts` to include their FAQs too (as the holiday page does).
| Argument | Type | Description |
|---|---|---|
| path | string | Site path, e.g. '/travel/etias/' |
| resort | string | Resort slug, e.g. from find_resort |
| holiday | string | Holiday product key (attrs.product_key / `product_key` from search), e.g. 'alagna freeride' |
| ski_test | string | Ski test slug |
| with_resorts | array | Holiday only: resort slugs whose FAQs to include |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"path": {
"type": "string",
"description": "Site path, e.g. '/travel/etias/'"
},
"resort": {
"type": "string",
"description": "Resort slug, e.g. from find_resort"
},
"holiday": {
"type": "string",
"description": "Holiday product key (attrs.product_key / `product_key` from search), e.g. 'alagna freeride'"
},
"ski_test": {
"type": "string",
"description": "Ski test slug"
},
"with_resorts": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"description": "Holiday only: resort slugs whose FAQs to include"
}
}
}Get one shop product by its handle.
| Argument | Type | Description |
|---|---|---|
| handle* | string | Shopify product handle |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string",
"minLength": 1,
"description": "Shopify product handle"
}
}
}Resort card metadata (name, country + flag, slug, url, images) for one or more resort ids (max 50).
| Argument | Type | Description |
|---|---|---|
| ids* | array | List of SCGB resort ids |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 50,
"minItems": 1,
"description": "List of SCGB resort ids"
}
}
}Current snow/lift/weather conditions plus forecast for one resort. Anonymous callers receive current conditions in full and a 3-day forecast. Set include_forecast=false for just the current conditions (much smaller response).
| Argument | Type | Description |
|---|---|---|
| id* | integer | SCGB resort id (WordPress post id) |
| include_forecast | boolean | Include the multi-day forecast rows (default true). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "SCGB resort id (WordPress post id)",
"exclusiveMinimum": 0
},
"include_forecast": {
"type": "boolean",
"description": "Include the multi-day forecast rows (default true)."
}
}
}Current conditions + forecast for several resorts at once (max 50 ids).
| Argument | Type | Description |
|---|---|---|
| ids* | array | List of SCGB resort ids |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 50,
"minItems": 1,
"description": "List of SCGB resort ids"
}
}
}Detail for one holiday/tour by its Sugati/Salesforce tour id. Get the id from a holiday's `tour_ids` in a `search`/`fetch` result.
| Argument | Type | Description |
|---|---|---|
| id* | string | Sugati/Salesforce tour id (15-18 chars), from a holiday's tour_ids |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z0-9]{15,18}$",
"description": "Sugati/Salesforce tour id (15-18 chars), from a holiday's tour_ids"
}
}
}List shop collections (categories).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List the Ski Club help (FAQ) topics: slug, name, intro, number of FAQs and the topic's help page url. Pass a slug to get_help_topic.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List shop products (title, price range, availability, variants).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Search Ski Club of Great Britain website content (articles, holidays, ski tests, discounts, resorts, reps, shop products). Returns matching documents with title, url and excerpt. Use `type` to filter by content type (e.g. holiday, sc_resort, page, product).
| Argument | Type | Description |
|---|---|---|
| type | string | Optional post_type filter, e.g. 'holiday' or 'sc_resort' |
| limit | integer | Max results (default 10) |
| query* | string | Free-text search query |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"type": {
"type": "string",
"description": "Optional post_type filter, e.g. 'holiday' or 'sc_resort'"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Max results (default 10)"
},
"query": {
"type": "string",
"minLength": 1,
"description": "Free-text search query"
}
}
}Search the Ski Club help FAQs (membership, digital passes, holidays and more) for a question. Every word must match; returns answers in Markdown with urls. Prefer this over `search` for 'how do I…' / policy questions.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results (default 10) |
| query* | string | Words to look for, e.g. 'wallet pass android' |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Max results (default 10)"
},
"query": {
"type": "string",
"minLength": 1,
"description": "Words to look for, e.g. 'wallet pass android'"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 15, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.