mcpserver.lol
registry/cyclesite-mcp-server
Connection check verified live · 26h ago

cyclesite-mcp-server

Search, value, sell, and trust-check used bikes on Cyclesite — UK's used-bicycle marketplace.

Tools 34
GitHub stars
Installs / wk 65
Licence
Transport streamable-http, stdio
Last checked 26h ago

Tools & capabilities

34 tools

Read from the running server on 26h ago.

check_stolen read-only serial*
Check if a UK bicycle is reported stolen by serial number. Cyclesite aggregates lookups across UK stolen-bike databases — the unique data we own. Per-serial rate-limited (3/hour) t…
compare_bikes read-only bikes*
Side-by-side comparison of up to 3 bikes (each by brand+model[+year]). Returns spec sheets and valuations together so the user can pick. Reuses get_spec_sheet + get_valuation serve…
draft_listing read-only cityyearbrand*model*groupsetwillShip +3
Sell-side helper: turn a seller's raw facts into a polished Cyclesite listing draft (title, description, suggested price, photo plan). Does NOT publish — for actual publication use…
fetch read-only id*
OpenAI deep-research / company-knowledge compatibility. Fetch the full document for a Cyclesite listing id (returned by the search tool). Returns { id, title, text, url, metadata }…
find_similar_listings read-only slug*
Given a Cyclesite listing slug, return up to 5 similar active listings (same category, ±25% price, same brand or frame size weighted higher). Use when the user is interested in one…
get_buying_guide read-only limitquery*
Search Cyclesite's expert buying guides (24+ articles by cycling-journalism authors). Returns up to 3 matching guides with title, excerpt, difficulty, reading time, and URL. Use fo…
get_depreciation read-only sortlimit
Brands ranked by how well (or poorly) they hold their value, from Cyclesite's measured UK used-price data. Returns top N brands by % retained vs new RRP. Example: 'which bike brand…
get_listing_detail read-only slug*
Full details for a specific bike listing on Cyclesite — specs, condition, frame number presence, photos, delivery, seller's city. Provide the URL slug returned by search_bikes or g…
get_market_health read-only
Buyer's-vs-seller's market signal for the UK used-bike market — should the user buy or sell now? Composite indicator from days-to-sell, asking-vs-sold-price spread, and inventory l…
get_market_index read-only
Current UK used-bike market prices by category, from Cyclesite's nightly index. Returns median + range per category (road, mtb, gravel, e-bike, etc.). Example: 'how does the UK use…
get_model_info read-only brand*model*
Cyclesite catalogue entry for a brand+model: category, year range, AI-generated description, key specs, market summary. Reference data — refreshed when models are added or specs ch…
get_my_enquiries read-only limitlistingId
Show buyer enquiries on the authenticated user's Cyclesite listings. Requires OAuth scope `listings:read`. Example: 'any messages about my Trek?'.
get_my_messages read-only limitthreadId
Read the buyer's own Cyclesite message threads and any seller replies. Call with no args to list your conversations; pass a threadId to read one thread's messages. Pairs with make_…
get_price_trends read-only monthscategory
UK used-bike price trends over the last N months by category, from Cyclesite's index series. Example: 'how have road-bike prices changed in 2026?'. Monthly data, refreshed at month…
get_recent_listings read-only limitcategorymaxPrice
What's new on Cyclesite right now — up to 10 of the freshest active UK listings, refreshed every 15 minutes. Use when the user asks 'what's new today?' or 'any new road bikes this…
get_size_guide read-only categoryheightCm*
Frame-size recommendation for a rider's height and bike category, the same chart Cyclesite publishes at /bike-size-calculator (height to inside leg to seat tube), refined by real U…
get_spec_sheet read-only yearbrand*model*
Aggregated spec sheet for a brand+model[+year], derived from Cyclesite's live UK inventory plus the catalogue record. Returns the most-common frame material, wheel size, groupset,…
get_valuation read-only brand*model*
What a used UK bike is worth right now, Cyclesite's flagship tool. Returns median, range, a measured price-by-model-year curve, confidence level, and comparable active listings. So…
grade_listing_quality read-only slug*
Categorical quality grade for a Cyclesite listing (excellent / good / fair / weak) plus up to 2 wins and 2 flags. Helps a buyer assess trustworthiness; helps a seller self-audit. E…
list_brands read-only qlimitoffset
Paginated UK bike-brand catalogue from Cyclesite, ordered by stock level. Use to validate a brand name, surface options to a user, or paginate the catalogue. Stock counts are retur…
list_models_for_brand read-only limitoffsetcategorybrandSlug*
Models for a brand on Cyclesite (paginated). Returns model names, year ranges, in-stock flag. Example: "what Trek road bikes are available?" → list_brands(q:"Trek") → list_models_f…
list_my_listings read-only limitstatus
Show the authenticated user's Cyclesite listings (draft / active / sold). Requires OAuth scope `listings:read`. Example: 'how are my listings doing?'.
make_enquiry can modify data message*listingId*
Send an enquiry to a Cyclesite seller on the buyer's behalf. It's saved to the buyer's Cyclesite inbox and the seller is notified. Per-buyer-per-listing daily cap (2/day) prevents…
mark_as_sold can modify data listingId*salePriceGbp
Mark a Cyclesite listing as sold (optionally with the final sale price). Requires OAuth scope `listings:manage`. Example: 'mark my Trek Domane as sold for £1,750'.
publish_listing can modify data cityyearbrandmodeltitledraftId +9
Publish a Cyclesite listing on the user's behalf. Multi-step: first call (no draftId) returns a phone-friendly photo upload URL; once 3+ photos are uploaded, the next call returns…
recommend_bike_for_budget read-only citylimituseCasecategorybudgetGbp*
Curated picks from Cyclesite's live UK inventory for a budget and intent. Prefers higher-engagement listings. Returns up to 5 picks with a one-line rationale each. Example queries:…
report_stolen read-only brandmodelserial
Step-by-step guidance for reporting a stolen UK bike: police, insurance, listing alerts. Returns a 5-step checklist plus the official Cyclesite report URL. Example: 'my bike was ju…
reserve_listing listingId*depositGbp
Hold a Cyclesite listing for 24 hours so other buyers can't claim it while the user decides. The hold is free and advisory (the seller isn't obligated to honour it — message the se…
respond_to_enquiry can modify data answer*enquiryId*
Reply to a buyer enquiry on the authenticated user's listing. Requires OAuth scope `enquiries:respond`. Example: 'reply to that enquiry — say it's still available, collection only'…
save_search citynamebrandmodelcategorymaxPrice +3
Subscribe the user to alerts for new Cyclesite listings matching a filter — the AI assistant will then proactively notify them when a matching bike appears (price drop or fresh lis…
search read-only query*
OpenAI deep-research / company-knowledge compatibility. Search Cyclesite's active UK used-bike listings by free-text query (matches title, brand, model). Returns the canonical Open…
search_bikes read-only citybrandcategorymaxPriceminPricecondition
Search live UK used-bike listings on Cyclesite (the UK's used bicycle marketplace). Filter by brand, category, city, price range, and condition. Returns up to 5 active listings wit…
search_by_location read-only lat*lng*limitcategorymaxPriceradiusMiles
Find Cyclesite listings within a radius of a UK location (lat/lng). Radius capped at 50 miles. Returns up to 10 listings ordered by distance. Live UK marketplace data. Example: 'us…
suggest_listing_price read-only brand*model*condition
For a seller about to list: suggested ask, floor, and ceiling for their bike's brand+model[+condition] on the UK market. Same measured UK used-price data as get_valuation but frame…