Corbah: open line for agents

Talk to cycling brand Corbah, get team kit quotes, commission designs, browse the catalog.

Should I use this

Quality & Safety

A
Description quality
95%
Schema completeness
77%
Naming quality
89%
Poisoning risk
100%
Permission match
90%
Protocol compliance
100%

Findings (2)

  • LOWTool 'list_collections' description lacks action verbin list_collections
  • LOWTool 'browse_catalog' suggests web access but openWorldHint=falsein browse_catalog

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,815Tokens (tool definitions)
~1.0 KBTypical response size
Moderate attention impact (1.42% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "open-line": {
      "url": "https://corbah-agents.corbah.workers.dev/mcp"
    }
  }
}

Remote endpoints

https://corbah-agents.corbah.workers.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (11)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢ask_corbah(question)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "question": {
      "type": "string",
      "description": "What you want to ask or discuss."
    }
  },
  "required": [
    "question"
  ]
}
🟢commission_design(brief, for_whom, items, deadline, budget, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "brief": {
      "type": "string",
      "description": "What it's for and what it should feel like: story, colors, motifs, references."
    },
    "for_whom": {
      "type": "string",
      "description": "Club, team, event, or person."
    },
    "items": {
      "type": "string",
      "description": "e.g. '12 jerseys and 12 bib shorts', or 'one jersey'."
    },
    "deadline": {
      "type": "string",
      "description": "When it's needed, if there's a date."
    },
    "budget": {
      "type": "string"
    },
    "image_urls": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional reference images or logos (links)."
    },
    "reply_to": {
      "type": "string",
      "description": "Email or URL where a person can be answered."
    },
    "callback_url": {
      "type": "string",
      "description": "Optional https URL. Corbah POSTs to it when Jon replies."
    }
  },
  "required": [
    "brief"
  ]
}
🟡quote_team_kit(team, riders, pieces, each_rider, sizes, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "team": {
      "type": "string",
      "description": "Team or club name"
    },
    "riders": {
      "type": "integer",
      "minimum": 1
    },
    "pieces": {
      "type": "object",
      "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).",
      "properties": {
        "ssj": {
          "type": "integer"
        },
        "lsj": {
          "type": "integer"
        },
        "bib": {
          "type": "integer"
        },
        "sui": {
          "type": "integer"
        },
        "ves": {
          "type": "integer"
        },
        "jac": {
          "type": "integer"
        },
        "arm": {
          "type": "integer"
        },
        "sho": {
          "type": "integer"
        }
      }
    },
    "each_rider": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Shortcut: give every rider one of these pieces, e.g. [\"ssj\",\"bib\"]"
    },
    "sizes": {
      "type": "object",
      "description": "Optional size split, e.g. {\"S\":3,\"M\":6,\"L\":3}. Sizes: XS, S, M, L, XL, 2XL, 3XL."
    },
    "needed_by": {
      "type": "string",
      "description": "Date the kit is needed, YYYY-MM-DD"
    },
    "design": {
      "type": "string",
      "enum": [
        "help",
        "kd",
        "have"
      ],
      "description": "help = needs design help, kd = designed in Corbah's Kit Designer, have = artwork ready"
    },
    "notes": {
      "type": "string",
      "description": "Colors, logos, event, budget, anything else"
    },
    "reply_to": {
      "type": "string",
      "description": "Email of the person Jon should reply to (needed if send=true)"
    },
    "callback_url": {
      "type": "string",
      "description": "Optional https URL; Corbah POSTs to it when Jon replies"
    },
    "send": {
      "type": "boolean",
      "description": "true = send this request to Corbah for a real quote. Default false (estimate only)."
    }
  }
}
🟡send_message(message, reply_to, from, callback_url)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "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."
    },
    "from": {
      "type": "string",
      "description": "Optional: who or what you are."
    },
    "callback_url": {
      "type": "string",
      "description": "Optional https URL. Corbah POSTs to it when Jon replies."
    }
  },
  "required": [
    "message"
  ]
}
🟢check_reply(reference, token)

Check whether Jon has answered a message or commission you sent. Use the reference and token you got back.

Input Schema

{
  "type": "object",
  "properties": {
    "reference": {
      "type": "integer"
    },
    "token": {
      "type": "string"
    }
  },
  "required": [
    "reference",
    "token"
  ]
}
🟢browse_catalog(q, type, collection, size, max_price, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Free-text search, e.g. 'women bib shorts', 'camo', 'skinsuit'"
    },
    "type": {
      "type": "string",
      "description": "Product type, e.g. 'Cycling Jersey', 'Bib Shorts', 'Skinsuit'"
    },
    "collection": {
      "type": "string",
      "description": "Collection handle (see list_collections)"
    },
    "size": {
      "type": "string",
      "description": "Only products available in this size, e.g. 'MD'"
    },
    "max_price": {
      "type": "number",
      "description": "Maximum price in USD"
    },
    "include_unavailable": {
      "type": "boolean"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "type": "integer",
      "minimum": 0
    }
  }
}
🟢get_product(handle)

Full details for one product by handle: description, every size and price, availability, images, collections and ordering notes.

Input Schema

{
  "type": "object",
  "properties": {
    "handle": {
      "type": "string"
    }
  },
  "required": [
    "handle"
  ]
}
🟢list_collections

Corbah's collections and design series (e.g. Weekend Warrior, Classics, World Lines) with descriptions and how many products are available in each.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢subscribe_updates(callback_url)

Get notified when Corbah releases new products. Give an https callback URL; Corbah POSTs a JSON event to it. Returns a token to unsubscribe.

Input Schema

{
  "type": "object",
  "properties": {
    "callback_url": {
      "type": "string"
    }
  },
  "required": [
    "callback_url"
  ]
}
🟡unsubscribe_updates(token)

Stop update notifications, using the token from subscribe_updates.

Input Schema

{
  "type": "object",
  "properties": {
    "token": {
      "type": "string"
    }
  },
  "required": [
    "token"
  ]
}
🟢about_corbah

Read what this line is, what Jon would like to hear about, and where Corbah's store data lives.

Input Schema

{
  "type": "object",
  "properties": {}
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools