Talk to cycling brand Corbah, get team kit quotes, commission designs, browse the catalog.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Read what this line is, what Jon would like to hear about, and where Corbah's store data lives.
This tool takes no arguments.
Read what this line is, what Jon would like to hear about, and where Corbah's store data lives.
No arguments.
{
"type": "object",
"properties": {}
}Talk to Corbah's agent: ask about the brand, designs, sizing, made-to-order timing, custom kit, or think through an idea together. It answers right away. For anything Jon needs to act on, use send_message or commission_design.
| Argument | Type | Description |
|---|---|---|
| question* | string | What you want to ask or discuss. |
{
"type": "object",
"required": [
"question"
],
"properties": {
"question": {
"type": "string",
"description": "What you want to ask or discuss."
}
}
}Search Corbah's live catalog of cycling jerseys, bib shorts, skinsuits and accessories. All filters optional. Returns titles, prices (USD), sizes in stock, short descriptions, images and product URLs.
| Argument | Type | Description |
|---|---|---|
| q | string | Free-text search, e.g. 'women bib shorts', 'camo', 'skinsuit' |
| size | string | Only products available in this size, e.g. 'MD' |
| type | string | Product type, e.g. 'Cycling Jersey', 'Bib Shorts', 'Skinsuit' |
| limit | integer | |
| offset | integer | |
| max_price | number | Maximum price in USD |
| collection | string | Collection handle (see list_collections) |
| include_unavailable | boolean |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Free-text search, e.g. 'women bib shorts', 'camo', 'skinsuit'"
},
"size": {
"type": "string",
"description": "Only products available in this size, e.g. 'MD'"
},
"type": {
"type": "string",
"description": "Product type, e.g. 'Cycling Jersey', 'Bib Shorts', 'Skinsuit'"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"offset": {
"type": "integer",
"minimum": 0
},
"max_price": {
"type": "number",
"description": "Maximum price in USD"
},
"collection": {
"type": "string",
"description": "Collection handle (see list_collections)"
},
"include_unavailable": {
"type": "boolean"
}
}
}Check whether Jon has answered a message or commission you sent. Use the reference and token you got back.
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| reference* | integer |
{
"type": "object",
"required": [
"reference",
"token"
],
"properties": {
"token": {
"type": "string"
},
"reference": {
"type": "integer"
}
}
}Ask Corbah to design custom cycling kit: for a club, team, event, ride, person or idea. Describe what you want in any detail you have. Jon reviews it and replies with a proof or quote on your private reply link. Nothing is charged by this call.
| Argument | Type | Description |
|---|---|---|
| brief* | string | What it's for and what it should feel like: story, colors, motifs, references. |
| items | string | e.g. '12 jerseys and 12 bib shorts', or 'one jersey'. |
| budget | string | |
| deadline | string | When it's needed, if there's a date. |
| for_whom | string | Club, team, event, or person. |
| reply_to | string | Email or URL where a person can be answered. |
| image_urls | array | Optional reference images or logos (links). |
| callback_url | string | Optional https URL. Corbah POSTs to it when Jon replies. |
{
"type": "object",
"required": [
"brief"
],
"properties": {
"brief": {
"type": "string",
"description": "What it's for and what it should feel like: story, colors, motifs, references."
},
"items": {
"type": "string",
"description": "e.g. '12 jerseys and 12 bib shorts', or 'one jersey'."
},
"budget": {
"type": "string"
},
"deadline": {
"type": "string",
"description": "When it's needed, if there's a date."
},
"for_whom": {
"type": "string",
"description": "Club, team, event, or person."
},
"reply_to": {
"type": "string",
"description": "Email or URL where a person can be answered."
},
"image_urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional reference images or logos (links)."
},
"callback_url": {
"type": "string",
"description": "Optional https URL. Corbah POSTs to it when Jon replies."
}
}
}Full details for one product by handle: description, every size and price, availability, images, collections and ordering notes.
| Argument | Type | Description |
|---|---|---|
| handle* | string |
{
"type": "object",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string"
}
}
}Corbah's collections and design series (e.g. Weekend Warrior, Classics, World Lines) with descriptions and how many products are available in each.
No arguments.
{
"type": "object",
"properties": {}
}Plan and price custom kit for a club or team: riders, pieces, optional size split and the date it's needed. Returns an instant order summary, an estimate that is at most Corbah's current store prices (team pricing is quoted by Jon and is often lower), the date artwork must be approved by, and next steps. Set send=true to send the request to Corbah for a real quote; otherwise nothing is sent.
| Argument | Type | Description |
|---|---|---|
| send | boolean | true = send this request to Corbah for a real quote. Default false (estimate only). |
| team | string | Team or club name |
| notes | string | Colors, logos, event, budget, anything else |
| sizes | object | Optional size split, e.g. {"S":3,"M":6,"L":3}. Sizes: XS, S, M, L, XL, 2XL, 3XL. |
| design | string | help = needs design help, kd = designed in Corbah's Kit Designer, have = artwork ready |
| pieces | object | Quantity of each piece. Keys: ssj (short sleeve jersey), lsj (long sleeve jersey), bib (bib shorts), sui (skinsuit / tri suit), ves (wind vest), jac (jacket), arm (arm warmers), sho (shoe covers). |
| riders | integer | |
| reply_to | string | Email of the person Jon should reply to (needed if send=true) |
Send anything to Jon, the founder of Corbah: a question, idea, request, proposal or note. No format required. Returns a reference and a private reply link.
| Argument | Type | Description |
|---|---|---|
| from | string | Optional: who or what you are. |
| message* | string | Whatever you want to say. |
| reply_to | string | Optional: an email address or URL where you can be answered. |
| callback_url | string | Optional https URL. Corbah POSTs to it when Jon replies. |
{
"type": "object",
"required": [
"message"
],
"properties": {
"from": {
"type": "string",
"description": "Optional: who or what you are."
},
"message": {
"type": "string",
"description": "Whatever you want to say."
},
"reply_to": {
"type": "string",
"description": "Optional: an email address or URL where you can be answered."
},
"callback_url": {
"type": "string",
"description": "Optional https URL. Corbah POSTs to it when Jon replies."
}
}
}Get notified when Corbah releases new products. Give an https callback URL; Corbah POSTs a JSON event to it. Returns a token to unsubscribe.
| Argument | Type | Description |
|---|---|---|
| callback_url* | string |
{
"type": "object",
"required": [
"callback_url"
],
"properties": {
"callback_url": {
"type": "string"
}
}
}Stop update notifications, using the token from subscribe_updates.
| Argument | Type | Description |
|---|---|---|
| token* | string |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string"
}
}
}| needed_by | string | Date the kit is needed, YYYY-MM-DD |
| each_rider | array | Shortcut: give every rider one of these pieces, e.g. ["ssj","bib"] |
| callback_url | string | Optional https URL; Corbah POSTs to it when Jon replies |
{
"type": "object",
"properties": {
"send": {
"type": "boolean",
"description": "true = send this request to Corbah for a real quote. Default false (estimate only)."
},
"team": {
"type": "string",
"description": "Team or club name"
},
"notes": {
"type": "string",
"description": "Colors, logos, event, budget, anything else"
},
"sizes": {
"type": "object",
"description": "Optional size split, e.g. {\"S\":3,\"M\":6,\"L\":3}. Sizes: XS, S, M, L, XL, 2XL, 3XL."
},
"design": {
"enum": [
"help",
"kd",
"have"
],
"type": "string",
"description": "help = needs design help, kd = designed in Corbah's Kit Designer, have = artwork ready"
},
"pieces": {
"type": "object",
"properties": {
"arm": {
"type": "integer"
},
"bib": {
"type": "integer"
},
"jac": {
"type": "integer"
},
"lsj": {
"type": "integer"
},
"sho": {
"type": "integer"
},
"ssj": {
"type": "integer"
},
"sui": {
"type": "integer"
},
"ves": {
"type": "integer"
}
},
"description": "Quantity of each piece. Keys: ssj (short sleeve jersey), lsj (long sleeve jersey), bib (bib shorts), sui (skinsuit / tri suit), ves (wind vest), jac (jacket), arm (arm warmers), sho (shoe covers)."
},
"riders": {
"type": "integer",
"minimum": 1
},
"reply_to": {
"type": "string",
"description": "Email of the person Jon should reply to (needed if send=true)"
},
"needed_by": {
"type": "string",
"description": "Date the kit is needed, YYYY-MM-DD"
},
"each_rider": {
"type": "array",
"items": {
"type": "string"
},
"description": "Shortcut: give every rider one of these pieces, e.g. [\"ssj\",\"bib\"]"
},
"callback_url": {
"type": "string",
"description": "Optional https URL; Corbah POSTs to it when Jon replies"
}
}
}