# Winkel bij Tools Universe vanuit Claude

> De winkel is ook een MCP-server: Claude kan de catalogus doorzoeken, gereedschap op een accuplatform vergelijken, een huurmachine boeken en een winkelwagen vullen, met dezelfde Crystallize-data en dezelfde persoonlijke ranking als de website. En elke pagina is geschreven voor machines: gestructureerde data, getypeerde specificaties met eenheids- en ETIM-codes, en tekstversies voor taalmodellen.

- **MCP-server (Streamable HTTP):** https://tools-universe.superfast.shop/api/mcp

## De MCP-server instellen

Vijf minuten in Claude, één regel in Claude Code. De open tools werken zonder account; log in als democlient voor eigen prijzen, historie en aanbevelingen.

### De winkel toevoegen aan Claude

claude.ai, Claude Desktop en de mobiele apps delen connectors. Interactieve productkaarten vragen een host met MCP Apps; de tools zelf werken overal.

1. Open **Instellingen → Connectors** en kies **Aangepaste connector toevoegen**.
2. Noem hem “Tools Universe” en plak de server-URL hierboven.
3. Laat authenticatie op **Inloggen wanneer nodig** staan: de server antwoordt bewust zonder token, en alleen de persoonlijke tools vragen om in te loggen.
4. Wordt er om een OAuth-client gevraagd, laat Claude zichzelf registreren. Laat request headers leeg.
5. Begin een nieuwe chat, open **+ → Connectors** en zet Tools Universe aan.

**Claude Code:**

```
claude mcp add --transport http tools-universe https://tools-universe.superfast.shop/api/mcp
claude "Ik werk met Milwaukee M18. Welke SDS-plus boorhamers werken op de accu’s die ik al heb?"
```

Voer `/mcp` uit in een sessie om in te loggen wanneer een persoonlijke tool daarom vraagt.

**Andere MCP-hosts:** Streamable HTTP, stateless, OAuth 2.1 met PKCE en discovery op `/.well-known/oauth-protected-resource`. VS Code, Cursor, ChatGPT en de MCP Inspector verbinden op dezelfde manier.

### Inloggen als democlient

Er zijn geen wachtwoorden. Vraag iets persoonlijks en Claude toont een Verbinden-knop; de winkel opent een pagina waar je een van de democlients kiest, dezelfde mensen als de accountkiezer in de header.

Elke klant heeft een echte bestelhistorie in de Shop API, een bedrijf met vak- of contractprijzen, en een markt. Sindre, de meubelmaker die alleen Festool gebruikt, heeft de duidelijkste smaak; Martin zaagt beton met Hilti Nuron; Lotte is weekendhoutbewerker op DeWalt XR.

- **Prijzen en markt:** Prijzen volgen de markt van de klant (EUR, NOK of SEK) en de prijslijst: zakelijke klanten zien de vak- of contractprijs van hun bedrijf, excl. btw.
- **Persoonlijke ranking:** Elke lijst wordt gerankt met de smaakvector uit hun bestellingen: het accuplatform dat ze hebben, hun vak, het gereedschap dat ze kopen.
- **Eigen gegevens:** Bestellingen, huurboekingen en offertes komen uit de Shop API. Winkelwagens en boekingen worden voor die klant gemaakt.

### Wat Claude kan doen

De tools volgen de webwinkel. Zoek- en producttools geven kaarten met productfoto, prijs en voorraad; elk antwoord linkt naar dezelfde pagina in de winkel.

**Catalogus**

- `search_products`: Vrije tekst plus filters: categorie, merk, platform, vak, getypeerde specificaties (`concrete.impactEnergy ≥ 8`), prijs en voorraad.
- `get_product`: Alles over één machine: specificaties met eenheden en ETIM-codes, uitvoeringen en sets met inhoud, prijs, voorraad.
- `similar_products`: Alternatieven op producttype, platform en specificaties.
- `show_products`: Kaarten voor een selectie die Claude zelf maakte.
- `list_categories`: De afdelingen en producttypes.
- `list_brands`: De zes fabrikanten.

**Accuplatformen**

- `battery_platforms`: Alle platformen met spanning en merk; met een platform, de machines erop en de accu’s en laders die passen; met een artikelnummer, wat op die machine past.

**Verhuur**

- `search_rentals`: Machines te huur, met prijs per dag, weekend, week en 4 weken.
- `rental_availability`: Vrije eenheden per depot en periode.

**Winkelwagen en afrekenen**

- `add_to_cart`: Voeg een uitvoering toe op artikelnummer; geeft een winkelwagen om op door te bouwen.
- `view_cart`: Regels en totalen incl. en excl. btw.
- `update_cart_line`: Aantal wijzigen of een regel verwijderen.
- `suggest_add_ons`: Accessoires, accu’s en opslag die passen bij wat in de winkelwagen ligt.
- `checkout`: Een link die de winkelwagen opent in de kassa van de winkel.

**Ingelogd** (Vragen om in te loggen)

- `book_rental`: Reserveer een machine in de winkelwagen; bevestigd bij het afrekenen.
- `whoami`: Wie je bent voor de winkel: bedrijf, markt, prijslijst en smaak.
- `my_orders`: Bestellingen, huur en offertes, met hun status.
- `recommendations`: Suggesties gerankt met jouw smaakvector.

### Om te proberen

- (Open) “Ik werk met Milwaukee M18. Welke SDS-plus boorhamers werken op de accu’s die ik al heb?”
- (Open) “Vergelijk 18V slagschroevendraaiers met minstens 200 Nm, goedkoopste eerst, alleen wat op voorraad is.”
- (Open) “Welke accu en lader heb ik nodig voor een Makita LXT cirkelzaag? Zet ze in een winkelwagen.”
- (Open) “Ik moet volgend weekend in Rotterdam een betonvloer opbreken. Wat kan ik huren en wat kost het?”
- (Open) “What is the difference between Hilti Nuron and Milwaukee MX FUEL for demolition?”
- (Open) “Een diamantkernboor voor gaten van 150 mm: kopen of een week huren?”
- (Ingelogd) “Wat zou je mij aanraden, en waarom?”
- (Ingelogd) “Wat heb ik eerder besteld? Welke accu’s passen op mijn machines?”
- (Ingelogd) “Boek de breekhamer bij het dichtstbijzijnde depot van vrijdag tot maandag.”
- (Ingelogd) “Toon mijn openstaande offertes en huur.”

## Gemaakt om gevonden te worden door zoekmachines en taalmodellen

Verbinding kunnen maken is de helft. De andere helft is goed gelezen worden als iemand een AI-assistent vraagt naar een accubreekhamer of een 5 Ah-accu. Alles hieronder komt uit dezelfde Crystallize-data als de pagina’s, in vier talen.

### Een JSON-LD-graaf op elke pagina

schema.org in `<script type="application/ld+json">`, gekoppeld met `@id`, zodat het product, de merkpagina en de accuplatformpagina één graaf beschrijven.

De organisatie en website (met zoekactie) op de voorpagina; Product of ProductGroup met een Product per uitvoering op productpagina’s; verhuurde Products op huurpagina’s; CollectionPage met ItemList op categorieën, merken en platformen; BreadcrumbList overal.

- `ProductGroup / Product`: uitvoeringen (zonder accu, sets) met artikelnummer, GTIN en eigen Offer
- `Offer`: prijs incl. en excl. btw, staffelprijzen, voorraad als availability en inventoryLevel, inhoud, garantie
- `category`: producttypepad en de ETIM-klasse als CategoryCode
- `isAccessoryOrSparePartFor · isConsumableFor`: de machines waarvoor een accu, lader, zaagblad of boor gemaakt is
- `DefinedTerm`: het accuplatform, gedefinieerd op zijn eigen pagina en gerefereerd vanuit elk product erop
- `Offer bij verhuur`: LeaseOut, huurduur in uren, de depots als plaatsen met adres en coördinaten

### Getypeerde feiten, geen tekst

Elke specificatie is een PropertyValue met het ETIM-kenmerk als `propertyID`, een numerieke `value`, `unitText` en de UN/CEFACT-code `unitCode`, en `maxValue` of `minValue` als het veld een grens is. Keuzes hebben de optiesleutel en de ETIM-waardecode. Dezelfde codes staan in de Markdown-pagina’s en in llms-full.txt.

| Specificatie | Waarde | unitCode | ETIM |
|---|---|---|---|
| Nominale spanning | 18 V | VLT | EF000002 |
| Capaciteit | 5 Ah | AMH | EF001985 |
| Draaimoment, harde schroefverbinding | 230 Nm | NU | EF002842 |
| Nullasttoerental | 3.400 1/min | RPM | EF011125 |
| Gewicht zonder accu | 2,2 kg | KGM | EF011121 |
| Gereedschapsopname | SDS-max | – | EF002843 · EV005657 |

### Platte tekst voor taalmodellen

- **llms.txt en llms-full.txt:** Een Markdown-kaart van de winkel (markten, categorieën, platformen, merken, verhuur) volgens llmstxt.org, en de hele catalogus in één bestand met prijzen in drie valuta, voorraad, producttype, ETIM-klasse en elke getypeerde specificatie met codes. https://tools-universe.superfast.shop/llms.txt, https://tools-universe.superfast.shop/llms-full.txt
- **Een Markdown-versie van elke pagina:** Zet `.md` achter een URL, of stuur `Accept: text/markdown`. Productpagina’s geven specificaties met eenheids- en ETIM-codes, uitvoeringen, inhoud, past op en vaak samen gekocht; elke pagina linkt naar de andere. Aangekondigd in `<head>` met `rel="alternate" type="text/markdown"`. https://tools-universe.superfast.shop/nl.md
- **robots.txt met AI-crawlers bij naam:** GPTBot, ClaudeBot, Claude-SearchBot, PerplexityBot, Google-Extended en andere zijn bij naam toegestaan, met `Content-Signal: search=yes, ai-input=yes`. Winkelwagen, account, API en OAuth blijven buiten. https://tools-universe.superfast.shop/robots.txt
- **Sitemap met hreflang:** Elke categorie-, product-, huur-, merk-, platform- en technologiepagina in vier talen, met vertaalde alternatieven en de laatste wijziging uit Crystallize. https://tools-universe.superfast.shop/sitemap.xml
- **Canonicals en hreflang:** Paden zijn per taal vertaald, dus alternatieven worden opgezocht op item-id. Gefilterde categorieweergaven wijzen met canonical naar de schone categorie; zoekresultaten zijn noindex.
- **Metadata in de HTML voor bots:** Next.js streamt metadata na de eerste byte. Voor crawlers die HTML lezen zonder JavaScript (zoekmachines en AI-agents) zet `htmlLimitedBots` titel, beschrijving, canonical en hreflang in `<head>`.

Controleer het zelf: plak een product-URL in Claude met webtoegang en vraag naar spanning, gewicht en prijs incl. btw, of open de `.md`-versie van de pagina.

---

Webpagina: https://tools-universe.superfast.shop/nl/mcp
Markdown-versie van deze pagina, voor taalmodellen. Prijzen zijn netto (excl. btw) tenzij incl. btw vermeld.
