ShopFlare Get in touch
For developers

An API, a widget, and an MCP server.

ShopFlare is a self-contained Worker. Three surfaces are exposed publicly: a REST-ish search API for any frontend, a vanilla-JS embeddable widget, and an MCP server so AI assistants can query your catalogue directly.

Embeddable widget

~22KB IIFE bundle. Drop it on any page, replace the default search input.

<!-- In your WooCommerce theme -->
<script src="https://your-store-search.workers.dev/widget.js"></script>
<script>
  FlareSearch.init({
    apiBaseUrl: 'https://your-store-search.workers.dev',
    mode: 'dropdown', // or 'fullscreen'
    theme: { primaryColor: '#F38020' },
    placeholder: 'Search for parts, brands, bike models...',
  });
</script>

Search API

CORS-enabled, anonymous, rate-limited. The widget talks to this; you can too.

# Autocomplete + faceted results
POST https://your-store-search.workers.dev/api/search/autocomplete
Content-Type: application/json

{ "query": "1971 norton commando", "limit": 20 }
# Track a click event
POST https://your-store-search.workers.dev/api/search/event
{ "type": "click", "query": "norton", "productId": 1234, "position": 3 }
# Get a fitment and its parts
GET https://your-store-search.workers.dev/api/search/fitment/:id

MCP server

Streamable HTTP transport, bearer-token auth. Add to Claude Desktop, Cursor, or any MCP client to make your catalogue a tool.

# claude_desktop_config.json
{
  "mcpServers": {
    "your-store": {
      "url": "https://your-store-search.workers.dev/mcp",
      "headers": { "Authorization": "Bearer YOUR_MCP_TOKEN" }
    }
  }
}
Tool Signature Description
search (query, type?, limit?) Multi-type sectioned search across products, posts, pages, categories, brands, fitments
get_product (id) Full product with aliases, parsed categories, brands, manuals, and known-as names
find_parts_for_bike (year, make, model) Resolve year + make + model to a fitment, return all matching parts joined to products
nearest_fitment (year, make, fuzzy_model) Fuzzy-match a fitment using British-bike synonyms (e.g. Bonneville โ†’ T120/T140)
check_fitment_availability (fitment_id) Stock-aware feasibility check across all parts in a fitment
find_similar_products (product_id) Adjacent products via the product_similarity index
find_manuals (query?, make?, sku?) Filter the PDF manuals library by query, make, or SKU
list_models (make?, search?) List motorcycle models, filterable by make or partial name
list_brands () All brands with product counts
list_categories () Full category tree with product counts
get_fitment (fitment_id) Fitment with featured image, plate code, and feasibility data
track_event (event_type, payload) Log a search or click event to the analytics store
get_store_info () Store-level metadata: counts, last sync, available data types

Tool list reflects the standard ShopFlare install for stores with motorcycle fitments. Stores without fitments get the relevant subset. Custom installs can expose additional tools for custom data types.

What people build with this

๐Ÿ’ฌ

A site chat widget

Hook ShopFlare's MCP server up to an L2Chat agent and customers can ask "I have a 1971 Norton Commando, what oil filter do I need?" and get a real answer with a buy link.

๐Ÿ“ž

A phone agent

Connect ShopFlare to an ElevenLabs voice agent and your phone-orders staff get the catalogue read out to them as they take the call.

๐Ÿ› ๏ธ

Internal tools

Your warehouse team can ask Claude Desktop "show me everything we have in stock for a Triumph Bonneville T120 1969" and get a sortable table.

๐Ÿง 

Customer's own assistant

Power users can add your store to their own AI assistant. They search your catalogue from inside the tools they already use.