Connect your AI agent (MCP)

Let AI agents search our parts and bikes database: filter by specs and price, find bikes with a similar geometry, and read our review summaries with links to the reviews behind them.

Server URL

https://mybike.parts/mcp

You need a mybike.parts account with a confirmed e-mail address.

Claude, ChatGPT and other apps

In Claude, ChatGPT and other apps that support custom MCP connectors, add a connector with the server URL above. You will be asked to sign in to mybike.parts and allow access.

Claude Code

claude mcp add --transport http mybikeparts https://mybike.parts/mcp

Personal access token

For clients without a sign-in flow, send a personal access token as a header. Create a token on your profile.

Authorization: Bearer <token>

Limits

Every account can make 10 tool calls per minute and 300 per day. A search returns at most 20 results.

Tools

list_categories
All part categories with their slug, segment and number of parts. Use the slug for search_bike_parts and get_category_filters.
get_category_filters
The spec filters a category supports (key, type, unit, allowed values) and its most common brands. Pass the keys and values as `filters` to search_bike_parts.
search_bike_parts
Search the catalogue of parts and complete bikes by text, category, brand, EUR price, weight and category spec filters. Returns compact entries; get_bike_part has the details. Example: gravel bikes under 1000 EUR = category 'gravel-bikes' (see list_categories), price_max 1000.
get_bike_part
Everything about one part or bike: specs, variants, shop links with prices, frame geometry, our review summary (pros, cons, key facts, FAQs) with links to the reviews it is based on, and the list of review sources.
find_similar_bikes
Frames and complete bikes whose geometry (stack, reach, angles, chainstay, wheelbase, ...) is closest to a given bike, optionally within a price range or category. The given bike may be one we only know as a reference (e.g. a Canyon Grail) and do not list for sale. Only bikes with known geometry take part. Score 100 is identical.
list_my_builds
The signed-in user's own bike builds (part lists), newest first.
get_build
One bike build with all its parts by slot, prices and weights. Works for the user's own builds and for published builds of others (token from the build URL /bike-builds/TOKEN). A build can hold several wheelsets (rotors, wheels, tyres, tubes, cassette), e.g. road and gravel; only the one in use counts towards the totals. Each part says whether it is counted.
create_build
Create a private bike build from a parts list, e.g. a bike's spec sheet. Each part is matched to our catalogue by its title (or taken by bike_part_id); unmatched parts are added as custom entries and reported under `unmatched` with candidates. Use set_build_part to fix a match. Rotors, wheels, tyres, tubes and cassette form a wheelset; to record two (e.g. road and gravel), give those parts a `wheelset` name. The first one named is the one in use.
set_build_part
Put a part into a slot of one of the user's builds, replacing what is in that slot (e.g. swap the frame). For rotors, wheels, tyres, tubes and cassette only the same slot of the same wheelset is replaced; name the wheelset when the build has several (get_build lists them). Set replace to false to add it next to the existing parts instead; a cassette is always replaced.
remove_build_part
Remove one part (by its id from get_build) from one of the user's builds.
propose_bike_part
Suggest a part or bike that is missing from our catalogue (e.g. one create_build could not match). It is reviewed by our team before it goes live; list_my_proposals shows the outcome. Check search_bike_parts first: a part we already have is refused (use propose_bike_part_change for it). To add to or correct a proposal that is still pending, use update_my_proposal instead of proposing again.
propose_bike_part_change
Suggest corrections or additions to a part we already have: weight, specs, configurations (variants), a shop link, an image, review videos, a geometry page. Only the fields given are changed; properties are merged, a variant is added or updated by its name. Reviewed by our team before it is applied. Say where a value comes from in `note`.
update_my_proposal
Add to or correct one of the user's proposals that is still pending (list_my_proposals), e.g. specs read from an image later. Given fields replace the proposed ones; properties are merged. Use this instead of proposing the same part twice.
withdraw_my_proposal
Withdraw one of the user's pending proposals, e.g. a duplicate or a part that turned out to exist.
list_my_proposals
The parts the user proposed with propose_bike_part and whether they were accepted.