Golf Club Index
Server Details
Used golf club prices from real eBay sold listings, updated daily by golfclubindex.com.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 3 tools
Each tool has a distinct job: live deal listings (find_used_deals), ranked budget lists (golf_best_used_under), and fair-value lookup (golf_used_value). The only real overlap is between find_used_deals and golf_used_value, both of which surface pricing, but the descriptions explicitly cross-reference each other ('For what a club is worth, use golf_used_value'), which resolves most confusion.
All names are snake_case, but the conventions are mixed: one is a bare verb_noun (find_used_deals) while the others use a golf_ prefix with inconsistent internal ordering (golf_best_used_under reads awkwardly, golf_used_value is noun-style). Readable, but not a predictable pattern an agent could infer a fourth tool from.
Three tools cover the narrow purpose (used-club pricing and deals) without redundancy or filler. It is on the thin side — a small, focused surface — but each tool earns its place and no scope is padded.
The domain of used-golf-club pricing is well covered: valuation, deal discovery, and budget-based rankings, with seller-side 'what's it worth' handled by golf_used_value. Minor gaps exist (no condition-segmented pricing, which the description admits, and no price-history/chart tool), but these are workaround-able rather than dead ends.
Available Tools
3 toolsfind_used_dealsUsed golf club deals below the usual priceARead-onlyIdempotentInspect
Use when someone wants to buy a used golf club and asks for deals, bargains or listings for sale, for one club (e.g. "deals on a used TaylorMade P790 iron set", "cheap Vokey SM9") or a club type (e.g. "used driver deals under $200"). Takes a club as the person said it or a club type, and an optional budget in US dollars. Returns up to 5 live eBay listings priced below what that club usually sells for (its median completed-sale price), with title, condition, price before shipping, the usual price and the gap, whether it is a great or good deal, the date it was last checked, and a link for each. Give each link exactly as returned (it counts the click and goes on to the eBay listing) and never build eBay links yourself; include the disclosure that Golf Club Index may earn a commission. For what a club is worth, use golf_used_value instead.
| Name | Required | Description | Default |
|---|---|---|---|
| club | No | The club as the user said it, e.g. 'taylormade p790 irons'. Give this or category. | |
| category | No | Club type when no club is named: driver, fairway wood, hybrid, iron, wedge or putter | |
| max_price | No | Optional budget in US dollars, e.g. 200 |
Output Schema
| Name | Required | Description |
|---|---|---|
| club | No | |
| as_of | No | |
| count | No | |
| deals | No | |
| found | Yes | |
| query | No | |
| reason | No | |
| nearest | No | |
| accepted | No | |
| category | No | |
| page_url | No | |
| max_price | No | |
| disclosure | Yes | |
| data_source | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, and the description adds substantial context beyond that: results are capped at 5 live listings from eBay, benchmarked against median completed-sale price, and carry per-listing fields including last-checked date. It also discloses operational obligations the annotations cannot convey — links must be passed through verbatim because they track clicks, agents must never construct eBay URLs, and a commission disclosure must accompany results.
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?
Front-loaded with the 'Use when' trigger and organized from trigger to inputs to output shape to link handling to the sibling pointer. It is dense and nearly every clause earns its place, though the enumeration of returned fields overlaps with the existing output schema and makes the passage longer than strictly needed.
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 three-parameter read tool with an output schema, the description covers everything an agent needs: trigger conditions, input forms, result cap, price benchmark, and the non-obvious link and disclosure requirements. Nothing material is left to inference.
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 the baseline is 3, but the description adds meaning by framing club and category as alternatives ('one club ... or a club type') and by stating the budget is in US dollars. It does not add syntax guidance beyond the schema's own examples, so it stops short of 5.
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?
States a specific verb and resource: surfaces live eBay listings priced below a club's median completed-sale price. It also distinguishes itself from the sibling golf_used_value by routing valuation questions there, so an agent can tell the two apart without opening either schema.
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 names the trigger ('someone wants to buy a used golf club and asks for deals, bargains or listings for sale') and supplies two concrete example phrasings covering both a named club and a club type. It also states the exclusion — for what a club is worth, use golf_used_value instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
golf_best_used_underBest used golf clubs under a budgetARead-onlyIdempotentInspect
Use when someone asks for the best used drivers, fairway woods, hybrids, irons, wedges or putters under a budget in US dollars, optionally for one brand (e.g. "best used drivers under $200", "best used Ping irons under $500"). Returns the ranked list from golfclubindex.com for the nearest published budget at or below the one asked (model, average sale price, number of sales) and a link to the full page with live listings.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Optional brand to limit to, e.g. 'Ping' or 'TaylorMade' | |
| category | Yes | Club type: driver, fairway wood, hybrid, iron, wedge or putter | |
| max_price | Yes | Budget in US dollars, e.g. 200 |
Output Schema
| Name | Required | Description |
|---|---|---|
| rung | No | |
| as_of | No | |
| brand | No | |
| clubs | No | |
| count | No | |
| found | Yes | |
| brands | No | |
| reason | No | |
| accepted | No | |
| category | No | |
| page_url | No | |
| max_price | No | |
| disclosure | Yes | |
| data_source | Yes | |
| lowest_rung | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive and closed-world behavior. The description adds one genuinely useful behavioral fact: results come from the nearest published budget at or below the requested one, plus the fields returned and a link to live listings. It does not cover rate limits, empty-result cases, or what happens with an unpublished brand.
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?
Front-loaded with the usage trigger, then the return behavior and the nearest-budget caveat in one dense sentence. Slightly long but every clause carries information, so nothing reads as 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?
With annotations and an output schema present, the description needn't explain return shape, and it still names the ranked fields and the source. The main gap is edge-case behavior, such as what is returned when no published budget exists below the requested price.
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 the baseline is 3. The description still adds meaning: it enumerates the accepted club types, marks brand as optional with real examples, and pins currency to USD, which sharpens how category and max_price should be populated.
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?
Specific verb and resource: returns a ranked list of best used clubs by category and budget, with concrete query examples. It does not explicitly distinguish itself from siblings find_used_deals or golf_used_value, which keeps it off the top mark.
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 'Use when someone asks for...' framing plus two example phrasings gives a clear triggering context. It offers no when-not guidance or named alternatives among the sibling tools, so routing between overlapping deal/value tools is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
golf_used_valueUsed golf club valueARead-onlyIdempotentInspect
Use when someone asks what a used golf club is worth, sells for, or should cost, including sellers asking "what's my X worth" or "what should I list it for". Takes a club as the person said it (brand and model, e.g. "TaylorMade P790 irons", "Vokey SM9 56", "sim2 max driver"). Returns the fair used price range (25th percentile to median of completed eBay sales), the average sale, the number of sales, the 30-day trend, live asking prices where available, the data date, and a link to the club's page on golfclubindex.com. When no club matches confidently it returns the nearest tracked clubs by name. Prices are not split by condition.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The club as the user said it, e.g. 'taylormade p790 irons' or 'what's my vokey sm9 56 worth' | |
| condition | No | The club's condition if the user gave one (e.g. 'good', 'like new'). Optional; prices are not split by condition. |
Output Schema
| Name | Required | Description |
|---|---|---|
| club | No | |
| sold | No | |
| as_of | No | |
| found | Yes | |
| query | No | |
| asking | No | |
| reason | No | |
| nearest | No | |
| disclosure | Yes | |
| data_source | Yes | |
| condition_note | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe read-only, idempotent profile, and the description adds real substance on top: the data source (completed eBay sales), the exact statistic returned (25th percentile to median), the no-match fallback to nearest tracked clubs, and the caveat that prices are not split by condition. It stops short of mentioning freshness guarantees beyond 'the data date' or any rate/coverage limits.
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?
Front-loaded with the trigger condition, then moves to input format and return contents in a logical order with no filler sentences. It is dense — a long single block covering trigger, input, output, fallback, and a caveat — but each clause carries information.
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 two-parameter read tool with an output schema, this covers everything an agent needs: when to call it, how to format the query, what fields come back, what happens on a failed match, and the condition caveat. No ambiguity remains about whether the tool is the right choice for a 'what's it worth' question.
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 both parameters are already documented, and the description largely restates them: pass the club as the person said it, and condition does not affect pricing. The worked examples ('TaylorMade P790 irons', 'Vokey SM9 56', 'sim2 max driver') add some practical signal about accepted input formats, but the baseline 3 applies when the schema carries the load.
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 names a specific resource and outcome — fair used price range derived from completed eBay sales — which is far more precise than a restatement of the name. It never explicitly contrasts itself with the sibling tools find_used_deals and golf_best_used_under, so the agent must infer that this is a valuation tool rather than a deal-hunting tool.
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?
Opens with an explicit trigger ('Use when someone asks what a used golf club is worth, sells for, or should cost') and even covers the seller-side phrasing ('what should I list it for'). It gives no when-not conditions and does not name the sibling deal-finding tools as alternatives, which leaves routing between valuation and deal search to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
find_used_deals
2 tool updates
- First observed
golf_best_used_under - First observed
golf_used_value
Related MCP Connectors
Golf equipment catalog, live retailer prices and daily price history. Keyless search, free key.
Search premium second-hand golf clubs, estimate instant trade-in values, and create 1-click carts.
Live UK golf prices, genuine price drops, handicap maths and golf society tools.
Live UK golf equipment prices: retailer offers, price history and deal ratings in GBP.
Related MCP Servers
- AlicenseAqualityDmaintenanceSearch eBay and get real price data, straight from an AI agent.31MIT
- AlicenseAqualityDmaintenanceLEGO minifigure price lookup and identification. Search 18,000+ minifigs by name, theme, or description. Prices for used and new condition. Powered by brick'em (brickem.io).48 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to search live musical-instrument marketplace listings — guitars, amps, pedals, synths, drums and pro audio — filtering by make, model, category, condition, price band, year and region, and to pull full listing detail, seller profiles and the category tree. It returns current asking prices only, with no realized sold-transaction data.292 npmMIT
- FlicenseNot gradedqualityBmaintenanceSourced product prices, dated price history, specs and independent-test coverage across 4,764 hardware products and 2,064 software vendors — every figure returned with its source URL and the date it was captured. Unknown values come back as null rather than a guess, so an agent can cite what it surfaces.-
Glama MCP Gateway
Add one secure layer between your agents and this server.