Live UK golf equipment prices: retailer offers, price history and deal ratings in GBP.
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.
Live catalogue totals plus the valid values for search filters (brands, product types, conditions, flexes, hands, price range). Call this before filtered searches if unsure which brand or product_type spellings the catalogue uses.
Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization."
Live catalogue totals plus the valid values for search filters (brands, product types, conditions, flexes, hands, price range). Call this before filtered searches if unsure which brand or product_type spellings the catalogue uses.
| Argument | Type | Description |
|---|---|---|
| context* | string | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"context": {
"type": "string",
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
}
}
}Deal-quality assessment for one product: CaddenceScore (0-100 rating of the current best DEAL, not the club), price trajectory vs typical/low/high, used market stats, and per-build availability (condition/flex/loft/hand) with the cheapest retailer and a buy_url purchase link per build. Use this to answer "is this a good price right now?".
| Argument | Type | Description |
|---|---|---|
| slug | string | Alias for product — pass either |
| context* | string | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
| product | string | Product slug (preferred, from search results) or numeric product id |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"description": "Alias for product — pass either"
},
"context": {
"type": "string",
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
},
"product": {
"type": "string",
"minLength": 1,
"description": "Product slug (preferred, from search results) or numeric product id"
}
}
}Current best-value products across the UK market: largest verified price spreads between retailers (3+ retailers, false-positive filters applied). Good for "what are the best golf deals right now?". Follow up with get_product_offers for purchase links.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| context* | string | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
| category | string | Product type filter, e.g. "driver", "iron_set", "putter" |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1
},
"context": {
"type": "string",
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
},
"category": {
"type": "string",
"description": "Product type filter, e.g. \"driver\", \"iron_set\", \"putter\""
}
}
}Daily lowest/average UK price for one product over a trailing window, plus summary stats (historical low with date, high, trend direction). Optionally scoped to a variant configuration; if the variant series is too thin the backend falls back to product-level history (see scope field).
| Argument | Type | Description |
|---|---|---|
| days | integer | Trailing window in days |
| flex | string | |
| hand | string | e.g. "RH" or "LH" |
| loft | string | |
| slug | string | Alias for product — pass either |
| context* | string | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
| product | string | Product slug (preferred, from search results) or numeric product id |
Current UK retailer offers for one product, in-stock first then cheapest, with variant details (shaft, flex, hand, loft, condition). The summary object always gives the cheapest in-stock new offer and the cheapest in-stock used offer, with counts, whatever condition is requested. Used means every second-hand condition (used, refurbished, ex-display); each offer still states its own condition. Set condition to "new" when the shopper wants a new club and "used" for second-hand; the default "all" mixes both. Each offer and each cheapest entry includes buy_url, a Caddence redirect link. Always present buy_url as the purchase link when the user wants to buy; never reconstruct or substitute retailer URLs.
| Argument | Type | Description |
|---|---|---|
| slug | string | Alias for product — pass either |
| context* | string | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
| product | string | Product slug (preferred, from search results) or numeric product id |
| condition | string | Which offers to list: "new", "used" (any second-hand condition) or "all" (default; reserves room for both so used stock cannot hide new). Applied before the 30-offer cap. |
Search Caddence's UK golf equipment price-comparison catalogue (clubs, balls, bags, shoes, accessories across all major UK golf retailers; prices in GBP, refreshed daily). Returns best current prices with retailer counts. When in_stock is false, price is the last seen price, not a live offer. For retailer offers and purchase links, follow up with get_product_offers using the returned slug. If unsure of valid brand or product_type values, call get_catalog_stats first.
| Argument | Type | Description |
|---|---|---|
| brand | string | Exact brand filter, e.g. "Titleist" |
| limit | integer | |
| query | string | Free-text search, e.g. "taylormade qi10 driver" |
| offset | integer | |
| context* | string | Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization." |
| on_sale | boolean | Only products currently below RRP |
| condition | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"days": {
"type": "integer",
"default": 90,
"maximum": 365,
"minimum": 7,
"description": "Trailing window in days"
},
"flex": {
"type": "string"
},
"hand": {
"type": "string",
"description": "e.g. \"RH\" or \"LH\""
},
"loft": {
"type": "string"
},
"slug": {
"type": "string",
"minLength": 1,
"description": "Alias for product — pass either"
},
"context": {
"type": "string",
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
},
"product": {
"type": "string",
"minLength": 1,
"description": "Product slug (preferred, from search results) or numeric product id"
},
"condition": {
"enum": [
"new",
"used"
],
"type": "string"
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"description": "Alias for product — pass either"
},
"context": {
"type": "string",
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
},
"product": {
"type": "string",
"minLength": 1,
"description": "Product slug (preferred, from search results) or numeric product id"
},
"condition": {
"enum": [
"new",
"used",
"all"
],
"type": "string",
"description": "Which offers to list: \"new\", \"used\" (any second-hand condition) or \"all\" (default; reserves room for both so used stock cannot hide new). Applied before the 30-offer cap."
}
}
}| sort_by | string |
| condition | string |
| max_price | number | Maximum price in GBP |
| min_price | number | Minimum price in GBP |
| product_type | string | Exact type filter, e.g. "driver", "iron_set", "putter", "balls" |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"context"
],
"properties": {
"brand": {
"type": "string",
"description": "Exact brand filter, e.g. \"Titleist\""
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1
},
"query": {
"type": "string",
"description": "Free-text search, e.g. \"taylormade qi10 driver\""
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"context": {
"type": "string",
"description": "Explain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): \"Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization.\""
},
"on_sale": {
"type": "boolean",
"description": "Only products currently below RRP"
},
"sort_by": {
"enum": [
"price_low",
"price_high",
"savings",
"rrp_discount"
],
"type": "string"
},
"condition": {
"enum": [
"new",
"used"
],
"type": "string"
},
"max_price": {
"type": "number",
"description": "Maximum price in GBP",
"exclusiveMinimum": 0
},
"min_price": {
"type": "number",
"minimum": 0,
"description": "Minimum price in GBP"
},
"product_type": {
"type": "string",
"description": "Exact type filter, e.g. \"driver\", \"iron_set\", \"putter\", \"balls\""
}
}
}