---
title: "Blackthorn Cycles"
description: "A bicycle-workshop demo showing a website assistant grounded in the shop's own published work list and plan terms, booking a repair as a structured record through an in-chat form card rather than asking for one detail at a time, serving the work list and the job book over its own MCP server, registering its page actions over WebMCP, and reading back a signed-in customer's own jobs through the identity hand-off."
last_updated: 2026-09-19
---

# Blackthorn Cycles

> A bicycle-workshop demo showing a website assistant grounded in the shop's own published work list and plan terms, booking a repair as a structured record through an in-chat form card rather than asking for one detail at a time, serving the work list and the job book over its own MCP server, registering its page actions over WebMCP, and reading back a signed-in customer's own jobs through the identity hand-off.

This is a Busymate AI integration demo — a working example, not a real store.
Real orders, payments and customer accounts do not exist here.

## Pages
- [Blackthorn Cycles — A workshop that fixes the bike you own rather than selling you the next one](https://helpscout.demo.busymate.ai/)
- [The Help Scout integration](https://busymate.ai/integrations/helpscout)

## Talk to it
A live Busymate AI assistant is embedded on every page, grounded only in
this site's own content. It cites its sources and says when it does not
know something instead of guessing.

## Act on it (agents)
This site exposes an MCP server at `https://helpscout.demo.busymate.ai/mcp` (JSON-RPC 2.0 over
HTTPS). The connection itself needs no credential; a tool marked below for
identified visitors additionally needs a signed proof of who is asking, and
answers for that customer alone. The tools:
- `list_services` — The full Blackthorn Cycles catalogue — every service on offer, with its code, what it covers, which plan it belongs to and how long it takes.
- `list_plans` — Blackthorn Cycles's plans and what each one costs, including which services each tier covers and who it suits.
- `search_knowledge` — Search everything Blackthorn Cycles publishes — the services, the plan detail and the answers on its FAQ — by keyword. Use this before answering from memory.
- `get_ticket` — Look up one ticket at Blackthorn Cycles by its ticket number together with the email it was raised under. Both are needed — a ticket number alone never returns anything.
- `my_tickets` — Every ticket belonging to the SIGNED-IN visitor at Blackthorn Cycles, with its current state and what happens next. Only ever call this for the person actually signed in — never for an address somebody types. (identified visitors only)
- `open_ticket` — Do NOT ask the person for these fields one at a time — calling this with whatever is already known IS how the form opens. Open a ticket at Blackthorn Cycles, and report back what was recorded. (MCP server only, not registered on the page)
- `highlight_service` — Scroll Blackthorn Cycles's catalogue to one entry and highlight it on the page the visitor is reading. Runs in the page; it changes what is on screen, not any record. (WebMCP page tool only, not on the MCP server)
- `open_desk_form` — Open Blackthorn Cycles's open a ticket form already on this page, with any known details filled in. Runs in the page — it opens a form, it does not submit one. (WebMCP page tool only, not on the MCP server)

Every tool above that is not marked otherwise is ALSO registered in the page
itself over WebMCP (`document.modelContext`, see `/agents.json` and
`/webmcp-catalog.json`), for a browser agent that never leaves the page.

## Identity
Signed-in visitors get personalized answers through a short-lived launch
proof this site mints itself — see https://busymate.ai/docs/guides/identified-visitors. A demo customer is provided on the page, so the identified experience — a person's own tickets — can be tested without a real account.

## Learn more
- [Connect your MCP server as assistant tools](https://busymate.ai/docs/guides/connect-mcp-server)
- [Ground the assistant in your own content](https://busymate.ai/docs/guides/knowledge)
- [Identified visitors](https://busymate.ai/docs/guides/identified-visitors)
- [Publish your page's actions (WebMCP)](https://busymate.ai/docs/guides/page-tools)
- [Ask with a form card, not a paragraph](https://busymate.ai/docs/guides/form-cards)
- [Human hand-off](https://busymate.ai/docs/guides/human-handoff-setup)
- [Busymate AI and Help Scout](https://busymate.ai/docs/guides/connect-mcp-server)

## Optional
- [llms-full.txt](https://helpscout.demo.busymate.ai/llms-full.txt): every page above, in full, in one request
- [agents.json](https://helpscout.demo.busymate.ai/agents.json): the agents.json v0.1.0 tool-actions manifest (agentsjson.org)
- [.well-known/agents.json](https://helpscout.demo.busymate.ai/.well-known/agents.json): this site's own machine-readable card (name/url/tools/identity/human hand-off)
- [webmcp-catalog.json](https://helpscout.demo.busymate.ai/webmcp-catalog.json): the page tools, readable without running the page
- [openapi.json](https://helpscout.demo.busymate.ai/openapi.json): the same tools as a real OpenAPI document
- [sitemap.xml](https://helpscout.demo.busymate.ai/sitemap.xml): every page with an honest last-modified date
- [MCP endpoint](https://helpscout.demo.busymate.ai/mcp): JSON-RPC 2.0 over HTTPS, the catalogue and policies open to anyone

## Sitemap
Every page on this site, as Markdown headings and links, no HTML required: [sitemap.md](https://helpscout.demo.busymate.ai/sitemap.md)