Agents, assistants and answer engines
Shop Tools Universe from Claude
The store is also an MCP server: Claude can search the catalogue, compare tools on a battery platform, book a rental machine and fill a basket, with the same Crystallize data and the same personal ranking as the website. And every page is written to be read by machines: structured data, typed specs with unit and ETIM codes, and plain-text versions for language models.
MCP server (Streamable HTTP)
https://tools-universe.superfast.shop/api/mcp
Part A
Set up the MCP server
Five minutes in Claude, one line in Claude Code. The public tools work without an account; sign in as a demo customer for prices, history and recommendations of your own.
Add the store to Claude
Claude (web and desktop)
- 1Open Settings → Connectors and choose Add custom connector.
- 2Name it “Tools Universe” and paste the server URL above.
- 3Leave authentication on Sign in when needed: the server answers without a token on purpose, and only the personal tools ask you to sign in.
- 4If asked for an OAuth client, let Claude register itself. Leave request headers empty.
- 5Start a new chat, open + → Connectors and switch Tools Universe on.
Claude Code
claude mcp add --transport http tools-universe https://tools-universe.superfast.shop/api/mcp claude "I’m on Milwaukee M18. Which SDS-plus hammers can I run on the batteries I already have?"
Run /mcp in a session to sign in when a personal tool asks for it.
Any other MCP host
/.well-known/oauth-protected-resource. VS Code, Cursor, ChatGPT and the MCP Inspector connect the same way.Sign in as a demo customer
Each customer has a real order history in the Shop API, a company with trade or contract prices, and a market. Sindre, the Festool-only cabinetmaker, has the clearest taste; Martin cuts concrete on Hilti Nuron; Lotte is a weekend woodworker on DeWalt XR.
Prices and market
Personal ranking
Their own records
Demo customers
- Sindre AasCabinetmaker, Festool only · Aas Møbelsnekkeri ASb2b · no
- Kari NilsenCarpentry contractor, Makita LXT · Fjordbygg ASb2b · no
- Ola BergCarpenter, Makita LXT · Fjordbygg ASb2b · no
- Ingrid HaugenElectricians, Milwaukee M12/M18 · Nordlys Elektro ASb2b · no
- Martin SolbergConcrete cutting and demolition, Hilti Nuron · Betongteknikk Øst ASb2b · no
- Johan LindqvistPlumbing and heating, Milwaukee M18 · Stockholm Rör & VVS ABb2b · se
- Daan MulderInterior fit-out, Festool · Mulder Interieurbouw B.V.b2b · nl
- Erik JohansenRenovating a 1950s house, Bosch 18Vb2c · no
- Emma SvenssonGarden and summer house, Makita LXTb2c · se
- Lotte JansenWeekend woodworker, DeWalt XRb2c · nl
What Claude can do
Catalogue
- search_products
- Free text plus filters: category, brand, platform, trade, typed specs (
concrete.impactEnergy ≥ 8), price and stock. - get_product
- Everything about one tool: specs with units and ETIM codes, versions and kits with what is in the box, price, stock.
- similar_products
- Alternatives by product type, platform and specs.
- show_products
- Cards for a shortlist Claude picked itself.
- list_categories
- The departments and product types.
- list_brands
- The six manufacturers.
Battery platforms
- battery_platforms
- Every platform with voltage and brand; with a platform, the tools on it and the batteries and chargers that fit; with a SKU, what fits that tool.
Rental
- search_rentals
- Machines for rent, with day, weekend, week and 4-week prices.
- rental_availability
- Free units per depot and period.
Basket and checkout
- add_to_cart
- Add a version by SKU; returns a basket you keep adding to.
- view_cart
- Lines, totals incl. and excl. VAT.
- update_cart_line
- Change a quantity or remove a line.
- suggest_add_ons
- Accessories, batteries and storage that go with what is in the basket.
- checkout
- A link that opens the basket in the store’s checkout.
Signed inAsk you to sign in
- book_rental
- Reserve a machine into the basket; confirmed at checkout.
- whoami
- Who you are to the store: company, market, price list and taste.
- my_orders
- Orders, rentals and quotes, with their stage.
- recommendations
- Picks ranked with your taste vector.
Things to try
- Open“I’m on Milwaukee M18. Which SDS-plus hammers can I run on the batteries I already have?”
- Open“Compare the 18V impact drivers with at least 200 Nm, cheapest first, only what is in stock.”
- Open“Which battery and charger should I buy for a Makita LXT circular saw? Put them in a basket.”
- Open“I need to break up a concrete floor next weekend in Oslo. What can I rent, and what does it cost?”
- Open“Hva er forskjellen på Hilti Nuron og Milwaukee MX FUEL for riving?”
- Open“A diamond core drill for 150 mm holes: buy or rent for a week?”
- Signed in“What would you recommend for me, and why?”
- Signed in“What have I ordered before? Which batteries fit the tools I own?”
- Signed in“Book the jackhammer from my nearest depot for Friday to Monday.”
- Signed in“Show my open quotes and rentals.”
Part B
Built to be found by search engines and language models
Being connectable is half of it. The other half is being read correctly when someone asks an AI assistant for a cordless breaker or a 5 Ah battery. Everything below is generated from the same Crystallize data as the pages, in four languages.
A JSON-LD graph on every page
<script type="application/ld+json">, linked by @id so the product, its brand page and its battery platform page describe one graph.The organisation and website (with a search action) on the front page; Product or ProductGroup with a Product per version on product pages; leased Products on rental pages; CollectionPage with an ItemList on categories, brands and platforms; BreadcrumbList everywhere.
- ProductGroup / Product
- versions (bare tool, kits) with SKU, GTIN and their own Offer
- Offer
- price incl. and excl. VAT, volume prices, stock as availability and inventoryLevel, what is in the box, warranty
- category
- product type path and the ETIM class as a CategoryCode
- isAccessoryOrSparePartFor · isConsumableFor
- the machines a battery, charger, blade or bit is made for
- DefinedTerm
- the battery platform, defined on its own page and referenced from every product on it
- Offer on rentals
- LeaseOut, lease length in hours, the depots as places with address and coordinates
Live excerpt from this product’s page (trimmed)
{
"@type": "Product",
"name": "Milwaukee M18 HB5 HIGH OUTPUT 5.0 Ah Battery",
"sku": "4932499042",
"brand": {
"@type": "Brand",
"@id": "https://tools-universe.superfast.shop/en/brands/milwaukee#brand",
"name": "Milwaukee",
"url": "https://tools-universe.superfast.shop/en/brands/milwaukee"
},
"category": [
"Batteries & chargers > Battery",
{
"@type": "CategoryCode",
"codeValue": "EC001199",
"name": "Battery for electric tools",
"inCodeSet": {
"@type": "CategoryCodeSet",
"name": "ETIM International classification",
"url": "https://www.etim-international.com/"
}
}
],
"weight": {
"@type": "QuantitativeValue",
"value": 0.78,
"unitText": "kg",
"unitCode": "KGM"
},
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "Capacity",
"propertyID": "EF001985",
"value": 5,
"unitText": "Ah",
"unitCode": "AMH"
},
{
"@type": "PropertyValue",
"name": "Power source",
"propertyID": "EF000145",
"value": "Cordless (battery)",
"valueReference": [
{
"@type": "DefinedTerm",
"name": "Cordless (battery)",
"termCode": "cordless",
"identifier": {
"@type": "PropertyValue",
"propertyID": "ETIM",
"value": "EV000449"
}
}
]
},
{
"@type": "PropertyValue",
"name": "Voltage",
"propertyID": "EF000002",
"value": 18,
"unitText": "V",
"unitCode": "VLT"
},
{
"@type": "PropertyValue",
"name": "Battery platform",
"value": "Milwaukee M18",
"valueReference": {
"@type": "DefinedTerm",
"@id": "https://tools-universe.superfast.shop/en/battery-platforms/milwaukee-m18#platform",
"name": "Milwaukee M18",
"url": "https://tools-universe.superfast.shop/en/battery-platforms/milwaukee-m18",
"inDefinedTermSet": {
"@type": "DefinedTermSet",
"name": "Battery platforms"
}
}
}
],
"isRelatedTo": [
{
"@type": "Product",
"@id": "https://tools-universe.superfast.shop/en/batteries-and-chargers/milwaukee-m18-dfc-dual-bay-rapid-charger#product",
"name": "Milwaukee M18 DFC Dual Bay Rapid Charger",
"url": "https://tools-universe.superfast.shop/en/batteries-and-chargers/milwaukee-m18-dfc-dual-bay-rapid-charger"
},
"…"
],
"offers": {
"@type": "Offer",
"sku": "4932499042",
"price": 149,
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"inventoryLevel": {
"@type": "QuantitativeValue",
"value": 20,
"unitCode": "C62"
},
"itemCondition": "https://schema.org/NewCondition",
"warranty": [
{
"@type": "WarrantyPromise",
"durationOfWarranty": {
"@type": "QuantitativeValue",
"value": 1,
"unitCode": "ANN",
"unitText": "years"
}
},
{
"@type": "WarrantyPromise",
"durationOfWarranty": {
"@type": "QuantitativeValue",
"value": 3,
"unitCode": "ANN",
"unitText": "years"
},
"description": "3 years when you register"
}
]
}
}/en/batteries-and-chargers/milwaukee-m18-hb5-high-output-50-ah-battery .md
Typed facts, not text
Each spec is a PropertyValue with the ETIM feature as propertyID, a numeric value, unitText and the UN/CEFACT unitCode, and maxValue or minValue when the field is a bound. Selections carry the option key and the ETIM value code. The same codes are in the Markdown pages and in llms-full.txt.
| Spec | Value | unitCode | ETIM |
|---|---|---|---|
| Voltage | 18 V | VLT | EF000002 |
| Capacity | 5 Ah | AMH | EF001985 |
| Torque, hard joint | 230 Nm | NU | EF002842 |
| No-load speed | 3,400 1/min | RPM | EF011125 |
| Weight without battery | 2.2 kg | KGM | EF011121 |
| Tool holder | SDS-max | – | EF002843 · EV005657 |
Plain text for language models
llms.txt and llms-full.txt
A Markdown version of every page
.md to any URL, or send Accept: text/markdown. Product pages list specs with unit and ETIM codes, versions, what is in the box, fits and pairings; each page links to the others. Announced in <head> with rel="alternate" type="text/markdown"./en.md /en/batteries-and-chargers.md Crawlers, maps and languages
robots.txt with named AI crawlers
Content-Signal: search=yes, ai-input=yes. Basket, account, API and OAuth routes are kept out./robots.txt Sitemap with hreflang
Canonicals and hreflang
Metadata in the HTML for bots
htmlLimitedBots puts title, description, canonical and hreflang in <head>.Check it yourself: paste a product URL into Claude with web access and ask for its voltage, weight and price incl. VAT, or open the page’s .md version.






























