cyclesite-mcp-server
What this MCP does
Supports searching, comparing, valuing, buying, selling, reserving, and messaging about used bicycles on a UK marketplace.
Tools
Input schema
{'type': 'object', 'required': ['serial'], 'properties': {'serial': {'type': 'string', 'description': 'Frame/serial number (4-50 chars).'}}}
Output schema
{'type': 'object', 'required': ['status', 'attribution'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'action': {'type': 'string'}, 'status': {'enum': ['CLEAR', 'STOLEN', 'POSSIBLE_MATCH', 'UNKNOWN'], 'type': 'string'}, 'message': {'type': 'string'}, 'checkedAt': {'type': 'string', 'format': 'date-time'}, 'confidence': {'type': 'number'}, 'attribution': {'type': 'string', 'description': 'Citation string â\x80\x94 include verbatim when surfacing data.'}, 'sourcesChecked': {'type': 'integer'}, 'confidenceLabel': {'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['bikes'], 'properties': {'bikes': {'type': 'array', 'items': {'type': 'object', 'required': ['brand', 'model'], 'properties': {'year': {'type': 'number'}, 'brand': {'type': 'string'}, 'model': {'type': 'string'}}}}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'required': ['brand', 'model'], 'properties': {'city': {'type': 'string'}, 'year': {'type': 'number'}, 'brand': {'type': 'string'}, 'model': {'type': 'string'}, 'groupset': {'type': 'string'}, 'willShip': {'type': 'boolean'}, 'condition': {'enum': ['Excellent', 'Very_Good', 'Good', 'Fair', 'Poor', 'For_Parts'], 'type': 'string'}, 'frameSize': {'type': 'string'}, 'knownIssues': {'type': 'string', 'description': 'Honest declaration of any issues.'}, 'itemCondition': {'enum': ['new', 'used'], 'type': 'string', 'description': 'Whether the bike is new (never ridden) or used. Defaults to used. A new bike gets no used-market price suggestion.'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Document id from search results.'}}}
Output schema
{'type': 'object', 'required': ['id', 'title', 'text', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'format': 'uri'}, 'text': {'type': 'string'}, 'title': {'type': 'string'}, 'metadata': {'type': 'object'}}}
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Source listing URL slug.'}}}
Output schema
{'type': 'object', 'required': ['attribution', 'resultsCount', 'listings'], 'properties': {'listings': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': ['string', 'null'], 'format': 'uri'}, 'city': {'type': ['string', 'null']}, 'slug': {'type': ['string', 'null']}, 'year': {'type': ['number', 'null']}, 'brand': {'type': ['string', 'null']}, 'model': {'type': ['string', 'null']}, 'offer': {'type': 'object', 'properties': {'price': {'type': 'number'}, 'availability': {'type': 'string'}, 'itemCondition': {'type': 'string'}, 'priceCurrency': {'type': 'string'}}, 'description': 'UCP/ACP-shaped commerce signal for this listing.'}, 'title': {'type': 'string'}, 'isEbike': {'type': 'boolean'}, 'delivery': {'type': ['string', 'null']}, 'groupset': {'type': ['string', 'null']}, 'imageUrl': {'type': ['string', 'null'], 'format': 'uri'}, 'priceGbp': {'type': 'number', 'description': 'Price in GBP.'}, 'condition': {'type': 'string'}, 'frameSize': {'type': ['string', 'null']}, 'listingId': {'type': ['string', 'null']}, 'wheelSize': {'type': ['string', 'null']}, 'ebikeMotor': {'type': ['string', 'null']}, 'negotiable': {'type': 'boolean'}, 'distanceMiles': {'type': ['number', 'null']}, 'frameMaterial': {'type': ['string', 'null']}, 'ebikeBatteryWh': {'type': ['number', 'null']}}}}, 'attribution': {'type': 'string', 'description': 'Citation string â\x80\x94 include verbatim when surfacing data.'}, 'resultsCount': {'type': 'number'}}}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'description': '1-5, default 3.'}, 'query': {'type': 'string', 'description': 'What to search for (e.g. "first road bike", "bike sizing").'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'properties': {'sort': {'enum': ['best', 'worst'], 'type': 'string'}, 'limit': {'type': 'number', 'description': '1-20, default 10.'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Listing URL slug (e.g. "used-trek-domane-sl-6-2022").'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'required': ['brand', 'model'], 'properties': {'brand': {'type': 'string'}, 'model': {'type': 'string'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': '1-20.'}, 'listingId': {'type': 'string'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': '1-50.'}, 'threadId': {'type': 'string', 'description': 'Thread id from a prior get_my_messages list or make_enquiry. Omit to list all your threads.'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'properties': {'months': {'type': 'number', 'description': '1-24.'}, 'category': {'type': 'string'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'How many listings to return (1-10, default 10).'}, 'category': {'enum': ['road', 'mtb', 'gravel', 'hybrid', 'ebike', 'kids', 'bmx', 'folding', 'city', 'touring', 'triathlon', 'track', 'cyclocross', 'cargo', 'adaptive', 'other'], 'type': 'string'}, 'maxPrice': {'type': 'number', 'description': 'Maximum price in GBP.'}}}
Output schema
{'type': 'object', 'required': ['attribution', 'resultsCount', 'listings'], 'properties': {'listings': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': ['string', 'null'], 'format': 'uri'}, 'city': {'type': ['string', 'null']}, 'slug': {'type': ['string', 'null']}, 'year': {'type': ['number', 'null']}, 'brand': {'type': ['string', 'null']}, 'model': {'type': ['string', 'null']}, 'offer': {'type': 'object', 'properties': {'price': {'type': 'number'}, 'availability': {'type': 'string'}, 'itemCondition': {'type': 'string'}, 'priceCurrency': {'type': 'string'}}, 'description': 'UCP/ACP-shaped commerce signal for this listing.'}, 'title': {'type': 'string'}, 'isEbike': {'type': 'boolean'}, 'delivery': {'type': ['string', 'null']}, 'groupset': {'type': ['string', 'null']}, 'imageUrl': {'type': ['string', 'null'], 'format': 'uri'}, 'priceGbp': {'type': 'number', 'description': 'Price in GBP.'}, 'condition': {'type': 'string'}, 'frameSize': {'type': ['string', 'null']}, 'listingId': {'type': ['string', 'null']}, 'wheelSize': {'type': ['string', 'null']}, 'ebikeMotor': {'type': ['string', 'null']}, 'negotiable': {'type': 'boolean'}, 'distanceMiles': {'type': ['number', 'null']}, 'frameMaterial': {'type': ['string', 'null']}, 'ebikeBatteryWh': {'type': ['number', 'null']}}}}, 'attribution': {'type': 'string', 'description': 'Citation string â\x80\x94 include verbatim when surfacing data.'}, 'resultsCount': {'type': 'number'}}}
Input schema
{'type': 'object', 'required': ['heightCm'], 'properties': {'category': {'enum': ['road', 'mtb', 'gravel', 'hybrid', 'ebike', 'kids', 'bmx', 'folding', 'city', 'touring', 'triathlon', 'track', 'cyclocross', 'cargo', 'adaptive', 'other'], 'type': 'string'}, 'heightCm': {'type': 'number', 'description': 'Rider height in centimetres (120-220).'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'required': ['brand', 'model'], 'properties': {'year': {'type': 'number'}, 'brand': {'type': 'string'}, 'model': {'type': 'string'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'required': ['brand', 'model'], 'properties': {'year': {'type': 'number', 'description': 'Model year, e.g. 2022. Optional. When given, the response carries a `forYear` block resolving the valuation to that year, or saying in words why it could not be.'}, 'brand': {'type': 'string'}, 'model': {'type': 'string'}}}
Output schema
{'type': 'object', 'required': ['attribution', 'summary'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'basis': {'enum': ['uk_listings_asking', 'cyclesite_sold'], 'type': 'string'}, 'forYear': {'type': ['object', 'null'], 'properties': {'hi': {'type': ['number', 'null']}, 'lo': {'type': ['number', 'null']}, 'note': {'type': 'string'}, 'year': {'type': 'number'}, 'available': {'type': 'boolean'}, 'sampleSize': {'type': ['number', 'null']}, 'yearsCovered': {'type': 'array', 'items': {'type': 'number'}}, 'medianPriceGbp': {'type': ['number', 'null']}}}, 'summary': {'type': 'string', 'description': 'One-sentence summary safe to quote verbatim.'}, 'retention': {'type': ['object', 'null'], 'properties': {'after3y': {'type': 'number'}, 'after5y': {'type': 'number'}, 'anchorYear': {'type': 'number'}}}, 'confidence': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'priceTrend': {'enum': ['rising', 'stable', 'falling'], 'type': 'string'}, 'sampleSize': {'type': 'number'}, 'attribution': {'type': 'string', 'description': 'Citation string â\x80\x94 include verbatim when surfacing data.'}, 'maxPriceGbp': {'type': 'number', 'description': 'Price in GBP.'}, 'minPriceGbp': {'type': 'number', 'description': 'Price in GBP.'}, 'citationUrls': {'type': 'object', 'additionalProperties': {'type': 'string', 'format': 'uri'}}, 'avgDaysToSell': {'type': 'number'}, 'activeListings': {'type': 'number'}, 'medianPriceGbp': {'type': 'number', 'description': 'Price in GBP.'}, 'priceByModelYear': {'type': 'array', 'items': {'type': 'object', 'properties': {'n': {'type': 'number'}, 'hi': {'type': 'number'}, 'lo': {'type': 'number'}, 'year': {'type': 'number'}, 'median': {'type': 'number'}}}}, 'conditionBreakdown': {'type': 'object', 'additionalProperties': {'type': 'object', 'properties': {'median': {'type': 'number', 'description': 'Price in GBP.'}}}}}}
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Optional search filter (case-insensitive contains).'}, 'limit': {'type': 'number', 'description': '1-50, default 25.'}, 'offset': {'type': 'number', 'description': '0-500.'}}}
Output schema
{'type': 'object', 'properties': {'limit': {'type': 'number'}, 'total': {'type': 'number'}, 'brands': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}, 'slug': {'type': 'string'}, 'country': {'type': ['string', 'null']}, 'verified': {'type': 'boolean'}, 'stockBand': {'enum': ['none', '1-5', '6-25', '26-100', '100+'], 'type': 'string'}}}}, 'offset': {'type': 'number'}, 'hasMore': {'type': 'boolean'}, 'attribution': {'type': 'string', 'description': 'Citation string â\x80\x94 include verbatim when surfacing data.'}}}
Input schema
{'type': 'object', 'required': ['brandSlug'], 'properties': {'limit': {'type': 'number', 'description': '1-50, default 25.'}, 'offset': {'type': 'number', 'description': '0-500.'}, 'category': {'enum': ['road', 'mtb', 'gravel', 'hybrid', 'ebike', 'kids', 'bmx', 'folding', 'city', 'touring', 'triathlon', 'track', 'cyclocross', 'cargo', 'adaptive', 'other'], 'type': 'string'}, 'brandSlug': {'type': 'string', 'description': 'Brand slug from list_brands (lowercase, hyphenated).'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': '1-20.'}, 'status': {'enum': ['active', 'draft', 'sold', 'all'], 'type': 'string'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'required': ['listingId', 'message'], 'properties': {'message': {'type': 'string', 'description': "The buyer's question to the seller (10-2000 chars)."}, 'listingId': {'type': 'string', 'description': 'Bike ID from search_bikes / get_listing_detail.'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'required': ['listingId'], 'properties': {'soldOn': {'type': 'string', 'description': 'The day it sold, YYYY-MM-DD. Leave out for today. Ignored if in the future or before the listing went up.'}, 'listingId': {'type': 'string'}, 'saleVenue': {'enum': ['cyclesite', 'facebook', 'ebay', 'gumtree', 'elsewhere'], 'type': 'string', 'description': 'Where the sale was agreed.'}, 'salePriceGbp': {'type': 'number', 'description': 'What it actually sold for. Leave out if the seller did not say.'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'properties': {'city': {'type': 'string', 'description': 'UK city.'}, 'year': {'type': 'number'}, 'brand': {'type': 'string'}, 'model': {'type': 'string'}, 'title': {'type': 'string', 'description': 'Listing title (10-160 chars).'}, 'draftId': {'type': 'string', 'description': 'Returned by a previous call. Omit on first call.'}, 'isEbike': {'type': 'boolean', 'description': 'True for an electric bike.'}, 'category': {'enum': ['road', 'mtb', 'gravel', 'hybrid', 'ebike', 'kids', 'bmx', 'folding', 'city', 'touring', 'triathlon', 'track', 'cyclocross', 'cargo', 'adaptive', 'other'], 'type': 'string'}, 'groupset': {'type': 'string'}, 'priceGbp': {'type': 'number'}, 'willShip': {'type': 'boolean'}, 'condition': {'enum': ['Excellent', 'Very_Good', 'Good', 'Fair', 'Poor', 'For_Parts'], 'type': 'string'}, 'frameSize': {'type': 'string'}, 'motorBrand': {'type': 'string', 'description': 'E-bike motor make, e.g. "Bosch", "Shimano", "Bafang".'}, 'motorModel': {'type': 'string', 'description': 'E-bike motor model, e.g. "Performance Line CX".'}, 'description': {'type': 'string', 'description': 'Listing description (30-5000 chars).'}, 'frameSerial': {'type': 'string', 'description': 'Frame/serial number â\x80\x94 runs a stolen-bike check before publish.'}, 'knownIssues': {'type': 'string'}, 'batteryCycles': {'type': 'number', 'description': 'Charge cycles as the seller reports them.'}, 'itemCondition': {'enum': ['new', 'used'], 'type': 'string', 'description': 'Whether the bike is new (never ridden) or used. Defaults to used.'}, 'motorPosition': {'enum': ['Mid-drive', 'Rear hub', 'Front hub'], 'type': 'string'}, 'ebikeBatteryWh': {'type': 'number', 'description': 'Battery capacity in watt-hours (100-3000).'}, 'rangeEstimateMiles': {'type': 'number', 'description': 'Range the seller claims on one charge, in miles.'}, 'batteryHealthPercent': {'type': 'number', 'description': 'Battery health as the seller reports it, 0-100.'}}}
Output schema
{'type': 'object', 'required': ['step', 'message'], 'properties': {'step': {'enum': ['photos_required', 'payment_required', 'live'], 'type': 'string'}, 'draftId': {'type': 'string', 'format': 'uuid'}, 'message': {'type': 'string'}, 'listingUrl': {'type': 'string', 'format': 'uri'}, 'paymentUrl': {'type': 'string', 'format': 'uri'}, 'photosNeeded': {'type': 'number'}, 'listingFeeGbp': {'type': 'number', 'description': 'Price in GBP.'}, 'photoUploadUrl': {'type': 'string', 'format': 'uri'}}}
Input schema
{'type': 'object', 'required': ['budgetGbp'], 'properties': {'city': {'type': 'string', 'description': 'UK city to focus on (optional).'}, 'limit': {'type': 'number', 'description': '1-10, default 5.'}, 'useCase': {'type': 'string', 'description': 'Free-text intent (e.g. "commuting", "weekend trail", "first road bike").'}, 'category': {'enum': ['road', 'mtb', 'gravel', 'hybrid', 'ebike', 'kids', 'bmx', 'folding', 'city', 'touring', 'triathlon', 'track', 'cyclocross', 'cargo', 'adaptive', 'other'], 'type': 'string'}, 'budgetGbp': {'type': 'number', 'description': 'Maximum budget in GBP.'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'properties': {'brand': {'type': 'string'}, 'model': {'type': 'string'}, 'serial': {'type': 'string'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'required': ['listingId'], 'properties': {'listingId': {'type': 'string'}, 'depositGbp': {'type': 'number', 'description': 'COMING SOON â\x80\x94 deposits are not yet available; omit this field (the server refuses it with payments_unavailable). When live: optional refundable deposit (£10-£500) via Stripe Checkout.'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'required': ['enquiryId', 'answer'], 'properties': {'answer': {'type': 'string', 'description': 'Reply text (1-2000 chars).'}, 'enquiryId': {'type': 'string'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'properties': {'city': {'type': 'string', 'description': 'UK city to focus on.'}, 'name': {'type': 'string', 'description': 'Optional human-readable name (e.g. "Trek Domane in Manchester").'}, 'brand': {'type': 'string'}, 'model': {'type': 'string'}, 'category': {'enum': ['road', 'mtb', 'gravel', 'hybrid', 'ebike', 'kids', 'bmx', 'folding', 'city', 'touring', 'triathlon', 'track', 'cyclocross', 'cargo', 'adaptive', 'other'], 'type': 'string'}, 'maxPrice': {'type': 'number'}, 'minPrice': {'type': 'number'}, 'condition': {'enum': ['Excellent', 'Very_Good', 'Good', 'Fair', 'Poor', 'For_Parts'], 'type': 'string'}, 'alertFrequency': {'enum': ['instant', 'daily', 'weekly'], 'type': 'string', 'description': 'How often to send digest. Default: instant.'}}}
Output schema
{'type': 'object'}
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Free-text query.'}}}
Output schema
{'type': 'object', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'format': 'uri'}, 'title': {'type': 'string'}}}}}}
Input schema
{'type': 'object', 'properties': {'city': {'type': 'string', 'description': 'UK city.'}, 'brand': {'type': 'string', 'description': 'Bike brand (e.g. Trek, Specialized, Canyon).'}, 'category': {'enum': ['road', 'mtb', 'gravel', 'hybrid', 'ebike', 'kids', 'bmx', 'folding', 'city', 'touring', 'triathlon', 'track', 'cyclocross', 'cargo', 'adaptive', 'other'], 'type': 'string', 'description': 'Bike category.'}, 'maxPrice': {'type': 'number', 'description': 'Maximum price in GBP.'}, 'minPrice': {'type': 'number', 'description': 'Minimum price in GBP.'}, 'condition': {'enum': ['Excellent', 'Very_Good', 'Good', 'Fair', 'Poor', 'For_Parts'], 'type': 'string', 'description': 'Condition rating.'}}}
Output schema
{'type': 'object', 'required': ['attribution', 'resultsCount', 'listings'], 'properties': {'listings': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': ['string', 'null'], 'format': 'uri'}, 'city': {'type': ['string', 'null']}, 'slug': {'type': ['string', 'null']}, 'year': {'type': ['number', 'null']}, 'brand': {'type': ['string', 'null']}, 'model': {'type': ['string', 'null']}, 'offer': {'type': 'object', 'properties': {'price': {'type': 'number'}, 'availability': {'type': 'string'}, 'itemCondition': {'type': 'string'}, 'priceCurrency': {'type': 'string'}}, 'description': 'UCP/ACP-shaped commerce signal for this listing.'}, 'title': {'type': 'string'}, 'isEbike': {'type': 'boolean'}, 'delivery': {'type': ['string', 'null']}, 'groupset': {'type': ['string', 'null']}, 'imageUrl': {'type': ['string', 'null'], 'format': 'uri'}, 'priceGbp': {'type': 'number', 'description': 'Price in GBP.'}, 'condition': {'type': 'string'}, 'frameSize': {'type': ['string', 'null']}, 'listingId': {'type': ['string', 'null']}, 'wheelSize': {'type': ['string', 'null']}, 'ebikeMotor': {'type': ['string', 'null']}, 'negotiable': {'type': 'boolean'}, 'distanceMiles': {'type': ['number', 'null']}, 'frameMaterial': {'type': ['string', 'null']}, 'ebikeBatteryWh': {'type': ['number', 'null']}}}}, 'attribution': {'type': 'string', 'description': 'Citation string â\x80\x94 include verbatim when surfacing data.'}, 'resultsCount': {'type': 'number'}}}
Input schema
{'type': 'object', 'required': ['lat', 'lng'], 'properties': {'lat': {'type': 'number', 'description': 'Latitude (UK only, 49.5â\x80\x9361.0).'}, 'lng': {'type': 'number', 'description': 'Longitude (UK only, -8.5â\x80\x932.0).'}, 'limit': {'type': 'number', 'description': '1-10, default 5.'}, 'category': {'enum': ['road', 'mtb', 'gravel', 'hybrid', 'ebike', 'kids', 'bmx', 'folding', 'city', 'touring', 'triathlon', 'track', 'cyclocross', 'cargo', 'adaptive', 'other'], 'type': 'string'}, 'maxPrice': {'type': 'number'}, 'radiusMiles': {'type': 'number', 'description': 'Search radius in miles (1-50, default 25).'}}}
Output schema
{'type': 'object', 'required': ['attribution', 'resultsCount', 'listings'], 'properties': {'listings': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': ['string', 'null'], 'format': 'uri'}, 'city': {'type': ['string', 'null']}, 'slug': {'type': ['string', 'null']}, 'year': {'type': ['number', 'null']}, 'brand': {'type': ['string', 'null']}, 'model': {'type': ['string', 'null']}, 'offer': {'type': 'object', 'properties': {'price': {'type': 'number'}, 'availability': {'type': 'string'}, 'itemCondition': {'type': 'string'}, 'priceCurrency': {'type': 'string'}}, 'description': 'UCP/ACP-shaped commerce signal for this listing.'}, 'title': {'type': 'string'}, 'isEbike': {'type': 'boolean'}, 'delivery': {'type': ['string', 'null']}, 'groupset': {'type': ['string', 'null']}, 'imageUrl': {'type': ['string', 'null'], 'format': 'uri'}, 'priceGbp': {'type': 'number', 'description': 'Price in GBP.'}, 'condition': {'type': 'string'}, 'frameSize': {'type': ['string', 'null']}, 'listingId': {'type': ['string', 'null']}, 'wheelSize': {'type': ['string', 'null']}, 'ebikeMotor': {'type': ['string', 'null']}, 'negotiable': {'type': 'boolean'}, 'distanceMiles': {'type': ['number', 'null']}, 'frameMaterial': {'type': ['string', 'null']}, 'ebikeBatteryWh': {'type': ['number', 'null']}}}}, 'attribution': {'type': 'string', 'description': 'Citation string â\x80\x94 include verbatim when surfacing data.'}, 'resultsCount': {'type': 'number'}}}
Input schema
{'type': 'object', 'required': ['brand', 'model'], 'properties': {'year': {'type': 'number', 'description': 'Model year, e.g. 2021. Optional. Anchors the ask on that year when the curve covers it; `basis` in the response always names what the ask was actually derived from.'}, 'brand': {'type': 'string'}, 'model': {'type': 'string'}, 'condition': {'enum': ['Excellent', 'Very_Good', 'Good', 'Fair', 'Poor', 'For_Parts'], 'type': 'string'}}}
Output schema
{'type': 'object'}
Recent tool changes
Similar MCP servers
API Direct
Searches and retrieves data from social networks, news and Google services, while also providing Amazon product, seller, ranking,…
Bonanza
Searches active Bonanza marketplace listings and retrieves individual item details.
MONO Social
Provides directory search for local places, events, listings, services, offers, bookings, reservations, tickets, and products.
Campo Belo
Provides Campo Belo local discovery for places, events, menus, offers, services, bookings, reservations, tickets, and purchases.
Bom Retiro
Provides Bom Retiro local place, event, menu, offer, service, booking, reservation, ticketing, and checkout capabilities.
Bogeyland
Provides directory search for places, events, services, offers, bookings, reservations, tickets, menus, and purchases.
Genesis Social
Provides directory search and transactions for local places, events, restaurants, services, offers, bookings, and tickets.
Filipe Coffee
Provides local directory search for places, events, menus, offers, services, bookings, reservations, tickets, and checkout.