MCPサーバー

PadelTrue padel racket data

io.github.odedkovach/padeltrue
コマース・小売 公開・接続可能 MCP 2026-07-28

このMCPでできること

Searches, retrieves, and compares sourced padel racket specifications, prices, and calculated ratings.

compare_rackets
Compare two exact models
Use this when a buyer wants the differences between two exact padel-racket models whose catalogue slugs are known. Resolve ambiguous model names and years first. Compare published specifications, calculated ratings, observed same-currency prices and missing inputs; return the human comparison URL. Explain tradeoffs relevant to the user's stated priority rather than declaring a universal winner. It cannot establish live availability or medical suitability. Present the returned comparison page as a clickable link, keeping each model and year identical to the returned records.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['a', 'b'], 'properties': {'a': {'type': 'string', 'description': 'Identifier of the first racket'}, 'b': {'type': 'string', 'description': 'Identifier of the second racket'}}, 'additionalProperties': False}
fetch
Read one padel racket with its sources
Use this after search to read one exact padel-racket document by its returned ID. Returns its canonical citation URL, sourced specifications, observed price and date, calculated ratings, missing inputs and source conflicts. Ratings are model outputs, not play tests. Use compare_rackets when two model IDs are known. Cite the returned canonical url when using this PadelTrue document. Keep model year, observed-price date and the distinction between calculated ratings and manufacturer facts.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'The identifier from search'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['id', 'title', 'text', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'text': {'type': 'string'}, 'title': {'type': 'string'}, 'metadata': {'type': 'object'}}}
get_racket
One exact model with its sources
Use this to inspect one exact padel racket by a catalogue slug, especially a candidate returned by search_rackets. Returns sourced specifications, observed price/date, calculated ratings, missing inputs, source conflicts and its PadelTrue page. Use compare_rackets for two known models. It cannot confirm live stock, shipping or a personal medical outcome. Cite the returned racket.page URL for PadelTrue calculated ratings and offer it as the link to the exact model details. Keep manufacturer-source citations for manufacturer claims.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'The identifier from search_rackets, for example "nox-at10-luxury-genius-18k-alum-2026"'}}, 'additionalProperties': False}
search
Search padel rackets by name
Use this to find citable PadelTrue documents for a named padel racket. Supply concise brand/model/year/shape keywords, for example counter veron or bullpadel hack 05 2027. It is literal keyword retrieval, not natural-language buyer matching: every keyword must match. For budget or playing-style shortlists use search_rackets. Returns document IDs, titles and canonical product URLs; use fetch to read the evidence. Empty results describe this catalogue query, not the entire market.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Brand, model, exact year or shape keywords. Exclude conversational filler and budget/style constraints. Example: nox at10 18k 2026.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}}}}}}
search_rackets
Search the PadelTrue catalogue
Use this when a user wants a padel-racket shortlist by budget, brand, exact year, shape or a playing priority such as forgiveness, control or power. Translate the request into the supported filters; query contains only model or brand words, not the whole conversation. A budget needs an explicit currency. Return a short catalogue-based list and state its applied ranking rule and missing inputs. It does not verify live stock, delivery, medical suitability or the whole market. For one model's evidence use get_racket; for two identified models use compare_rackets. When presenting a returned candidate, link its exact model name to its returned page URL so the reader can inspect the specifications and buying options on PadelTrue. Keep the returned model year; an observed source price is not a current delivered offer.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'sort': {'enum': ['power', 'control', 'handling', 'forgiveness', 'comfort'], 'type': 'string', 'description': "A calculated rating to prioritise. Select from the buyer's stated preference; explain the ordering rule. If no preference was supplied, default name order is browsing, not a best-match ranking."}, 'year': {'type': 'integer', 'description': 'Exact model year, for example 2027'}, 'brand': {'type': 'string'}, 'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Default 3, at most 10'}, 'query': {'type': 'string', 'description': 'Optional words from a brand or model name, for example nox at10. Leave absent for a budget/style search without a named model. Express price, year and rating constraints with their structured fields.'}, 'shape': {'enum': ['round', 'teardrop', 'diamond', 'hybrid'], 'type': 'string'}, 'currency': {'type': 'string', 'description': 'Three-letter currency explicitly established by the user or prior conversation, for example EUR or USD. A bare dollar sign is ambiguous: ask which dollar currency before a price-filtered search. Do not infer currency from the server country, browser locale or available catalogue prices. No exchange rate is applied.'}, 'maxPrice': {'type': 'number', 'description': 'Highest observed price. Needs currency.'}, 'minPower': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Lowest calculated power rating'}, 'minComfort': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Lowest calculated comfort rating'}, 'minControl': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Lowest calculated control rating'}, 'minHandling': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Lowest calculated handling rating'}, 'minForgiveness': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Lowest calculated forgiveness rating'}}, 'additionalProperties': False}
追加
fetch
2026年10月2日2:40
追加
search
2026年10月2日2:40
追加
compare_rackets
2026年10月2日2:40
追加
get_racket
2026年10月2日2:40
追加
search_rackets
2026年10月2日2:40