caddence
Live UK golf club prices across 40 retailers: offers, price history and deal ratings in GBP.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"caddence": {
"url": "https://caddence.golf/mcp"
}
}
}원격 엔드포인트
https://caddence.golf/mcpstreamable-http할 수 있는 일
도구 목록
도구 (6)
🟢search_golf_products(query, brand, product_type, condition, min_price, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free-text search, e.g. \"taylormade qi10 driver\""
},
"brand": {
"type": "string",
"description": "Exact brand filter, e.g. \"Titleist\""
},
"product_type": {
"type": "string",
"description": "Exact type filter, e.g. \"driver\", \"iron_set\", \"putter\", \"balls\""
},
"condition": {
"type": "string",
"enum": [
"new",
"used"
]
},
"min_price": {
"type": "number",
"minimum": 0,
"description": "Minimum price in GBP"
},
"max_price": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Maximum price in GBP"
},
"on_sale": {
"type": "boolean",
"description": "Only products currently below RRP"
},
"sort_by": {
"type": "string",
"enum": [
"price_low",
"price_high",
"savings",
"rrp_discount"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
},
"offset": {
"type": "integer",
"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.\""
}
},
"required": [
"context"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_product_offers(product, slug, context)
All current UK retailer offers for one product, cheapest first, with variant details (shaft, flex, hand, loft, condition). Each offer 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.
입력 스키마
{
"type": "object",
"properties": {
"product": {
"type": "string",
"minLength": 1,
"description": "Product slug (preferred, from search results) or numeric product id"
},
"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.\""
}
},
"required": [
"context"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_deal_intelligence(product, slug, context)
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?".
입력 스키마
{
"type": "object",
"properties": {
"product": {
"type": "string",
"minLength": 1,
"description": "Product slug (preferred, from search results) or numeric product id"
},
"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.\""
}
},
"required": [
"context"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_price_history(product, slug, days, condition, hand, ...)
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).
입력 스키마
{
"type": "object",
"properties": {
"product": {
"type": "string",
"minLength": 1,
"description": "Product slug (preferred, from search results) or numeric product id"
},
"slug": {
"type": "string",
"minLength": 1,
"description": "Alias for product — pass either"
},
"days": {
"type": "integer",
"minimum": 7,
"maximum": 365,
"default": 90,
"description": "Trailing window in days"
},
"condition": {
"type": "string",
"enum": [
"new",
"used"
]
},
"hand": {
"type": "string",
"description": "e.g. \"RH\" or \"LH\""
},
"loft": {
"type": "string"
},
"flex": {
"type": "string"
},
"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.\""
}
},
"required": [
"context"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_market_deals(category, limit, context)
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.
입력 스키마
{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Product type filter, e.g. \"driver\", \"iron_set\", \"putter\""
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10
},
"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.\""
}
},
"required": [
"context"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_catalog_stats(context)
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.
입력 스키마
{
"type": "object",
"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.\""
}
},
"required": [
"context"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거