Skip to main content
Glama

Search golf products

search_golf_products
Read-onlyIdempotent

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.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "context": "<context>"
    },
    "name": "search_golf_products"
  }
}

Input Schema

NameRequiredDescriptionDefault
brandNoExact brand filter, e.g. "Titleist"
limitNo
queryNoFree-text search, e.g. "taylormade qi10 driver"
offsetNo
contextYesExplain 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_saleNoOnly products currently below RRP
sort_byNo
conditionNo
max_priceNoMaximum price in GBP
min_priceNoMinimum price in GBP
product_typeNoExact type filter, e.g. "driver", "iron_set", "putter", "balls"

Output Schema

NameRequiredDescriptionDefault
totalYes
productsYes
returnedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / properties / offset / maximum
      Added value: +9007199254740991
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "properties": {
      +    "products": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "brand": {
      +            "type": "string"
      +          },
      +          "conditions": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "in_stock": {
      +            "type": "boolean"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "new_from": {
      +            "anyOf": [
      +              {
      +                "description": "Price in GBP",
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "price": {
      +            "anyOf": [
      +              {
      +                "description": "Price in GBP",
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "product_type": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "product_url": {
      +            "description": "Absolute URL",
      +            "type": "string"
      +          },
      +          "retailer_count": {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          "rrp": {
      +            "anyOf": [
      +              {
      +                "description": "Price in GBP",
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "rrp_discount_pct": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "slug": {
      +            "type": "string"
      +          },
      +          "used_from": {
      +            "anyOf": [
      +              {
      +                "description": "Price in GBP",
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "brand",
      +          "slug",
      +          "product_type",
      +          "price",
      +          "rrp",
      +          "rrp_discount_pct",
      +          "new_from",
      +          "used_from",
      +          "conditions",
      +          "retailer_count",
      +          "in_stock",
      +          "product_url"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "returned": {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "total": {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "total",
      +    "returned",
      +    "products"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so safety is covered. The description adds genuinely non-obvious behavior: GBP pricing refreshed daily, best current price plus retailer counts, and the key caveat that when in_stock is false the price is a last-seen price rather than a live offer. Rate limits and pagination behavior are still unmentioned.

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?

Four sentences, front-loaded with what is searched before the caveat and the follow-up routing. Each sentence carries distinct information (scope, staleness semantics, handoff, validation path) with no 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?

An output schema exists, so return values need not be explained, and the description adequately frames scope, currency, freshness, and staleness. With 11 parameters at 64% coverage, the gaps are around pagination/sorting/filter interplay, which the description does not close.

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 64%, so the baseline is 3. The description adds meaning for brand and product_type (pointing to get_catalog_stats for valid values) but says nothing about query syntax, sort_by ordering semantics, on_sale vs max_price interaction, or limit/offset pagination.

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?

States a specific verb and resource with domain scope: searching Caddence's UK golf price-comparison catalogue, enumerating covered categories (clubs, balls, bags, shoes, accessories) and currency. It also names the sibling it hands off to (get_product_offers) and the validation sibling (get_catalog_stats), so an agent can distinguish it from siblings without opening schemas.

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?

Explicit routing: use get_product_offers for retailer offers/purchase links, and get_catalog_stats when unsure of valid brand/product_type values. This is clear conditional guidance. It stops short of 5 because it never explains when-not to use this tool versus the other search-ish siblings (get_market_deals, get_deal_intelligence, get_price_history).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources