# Handle i Tools Universe fra Claude

> Butikken er også en MCP-server: Claude kan søke i katalogen, sammenligne verktøy på en batteriplattform, booke en leiemaskin og fylle en handlekurv, med de samme Crystallize-dataene og den samme personlige rangeringen som nettsiden. Og hver side er skrevet for maskiner: strukturerte data, typede spesifikasjoner med enhets- og ETIM-koder, og tekstversjoner for språkmodeller.

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

## Sett opp MCP-serveren

Fem minutter i Claude, én linje i Claude Code. De åpne verktøyene virker uten konto; logg inn som demokunde for egne priser, historikk og anbefalinger.

### Legg butikken til i Claude

claude.ai, Claude Desktop og mobilappene deler koblinger. Interaktive produktkort krever en vert med støtte for MCP Apps; selve verktøyene virker overalt.

1. Åpne **Innstillinger → Koblinger** (Connectors) og velg **Legg til egendefinert kobling**.
2. Kall den «Tools Universe» og lim inn server-URL-en over.
3. La autentisering stå på **Logg inn ved behov**: serveren svarer bevisst uten token, og bare de personlige verktøyene ber deg logge inn.
4. Blir du spurt om en OAuth-klient, la Claude registrere seg selv. La forespørselshoder stå tomme.
5. Start en ny chat, åpne **+ → Koblinger** og slå på Tools Universe.

**Claude Code:**

```
claude mcp add --transport http tools-universe https://tools-universe.superfast.shop/api/mcp
claude "Jeg bruker Milwaukee M18. Hvilke SDS-plus-borhammere går på batteriene jeg allerede har?"
```

Kjør `/mcp` i en økt for å logge inn når et personlig verktøy ber om det.

**Andre MCP-verter:** Streamable HTTP, tilstandsløs, OAuth 2.1 med PKCE og oppdagelse på `/.well-known/oauth-protected-resource`. VS Code, Cursor, ChatGPT og MCP Inspector kobler til på samme måte.

### Logg inn som demokunde

Det finnes ingen passord. Spør om noe personlig, så viser Claude en Koble til-knapp; butikken åpner en side der du velger en av demokundene, de samme som kontovelgeren i toppen.

Hver kunde har en ekte ordrehistorikk i Shop API, et firma med fag- eller kontraktspriser, og et marked. Sindre, møbelsnekkeren som bare bruker Festool, har den tydeligste smaken; Martin sager betong med Hilti Nuron; Lotte er helgesnekker på DeWalt XR.

- **Priser og marked:** Prisene følger kundens marked (EUR, NOK eller SEK) og prisliste: fagkunder ser firmaets fag- eller kontraktspris, eks. mva.
- **Personlig rangering:** Hver liste rangeres med smaksvektoren fra ordrene deres: batteriplattformen de eier, faget deres, utstyret de kjøper.
- **Egne data:** Ordrer, leiebookinger og tilbud leses fra Shop API. Handlekurver og bookinger lages for den kunden.

### Hva Claude kan gjøre

Verktøyene speiler nettbutikken. Søk og produktverktøy gir kort med produktbilde, pris og lager; hvert svar lenker til samme side i butikken.

**Katalog**

- `search_products`: Fritekst pluss filtre: kategori, merke, plattform, fag, typede spesifikasjoner (`concrete.impactEnergy ≥ 8`), pris og lager.
- `get_product`: Alt om ett verktøy: spesifikasjoner med enheter og ETIM-koder, utgaver og sett med innhold, pris, lager.
- `similar_products`: Alternativer etter produkttype, plattform og spesifikasjoner.
- `show_products`: Kort for en liste Claude har valgt selv.
- `list_categories`: Avdelingene og produkttypene.
- `list_brands`: De seks produsentene.

**Batteriplattformer**

- `battery_platforms`: Alle plattformer med spenning og merke; med en plattform, verktøyene på den og batteriene og laderne som passer; med et varenummer, det som passer det verktøyet.

**Utleie**

- `search_rentals`: Maskiner til leie, med pris per dag, helg, uke og 4 uker.
- `rental_availability`: Ledige enheter per depot og periode.

**Handlekurv og kasse**

- `add_to_cart`: Legg til en utgave med varenummer; gir en handlekurv du kan bygge videre på.
- `view_cart`: Linjer og totaler inkl. og eks. mva.
- `update_cart_line`: Endre antall eller fjern en linje.
- `suggest_add_ons`: Tilbehør, batterier og oppbevaring som passer det som ligger i handlekurven.
- `checkout`: En lenke som åpner handlekurven i butikkens kasse.

**Innlogget** (Ber deg logge inn)

- `book_rental`: Reserver en maskin i handlekurven; bekreftes i kassen.
- `whoami`: Hvem du er for butikken: firma, marked, prisliste og smak.
- `my_orders`: Ordrer, leie og tilbud, med status.
- `recommendations`: Forslag rangert med smaksvektoren din.

### Ting å prøve

- (Åpen) “Jeg bruker Milwaukee M18. Hvilke SDS-plus-borhammere går på batteriene jeg allerede har?”
- (Åpen) “Sammenlign 18V slagtrekkere med minst 200 Nm, billigste først, bare det som er på lager.”
- (Åpen) “Hvilket batteri og hvilken lader trenger jeg til en Makita LXT sirkelsag? Legg dem i en handlekurv.”
- (Åpen) “Jeg skal pigge opp et betonggulv i Oslo neste helg. Hva kan jeg leie, og hva koster det?”
- (Åpen) “What is the difference between Hilti Nuron and Milwaukee MX FUEL for demolition?”
- (Åpen) “Kjernebor for 150 mm hull: kjøpe, eller leie for en uke?”
- (Innlogget) “Hva vil du anbefale for meg, og hvorfor?”
- (Innlogget) “Hva har jeg bestilt før? Hvilke batterier passer verktøyene jeg har?”
- (Innlogget) “Book meiselhammeren fra nærmeste depot fra fredag til mandag.”
- (Innlogget) “Vis mine åpne tilbud og leieforhold.”

## Laget for å bli funnet av søkemotorer og språkmodeller

Å kunne kobles til er halve jobben. Den andre halvdelen er å bli lest riktig når noen spør en AI-assistent om en batteridrevet meiselhammer eller et 5 Ah-batteri. Alt under lages fra de samme Crystallize-dataene som sidene, på fire språk.

### En JSON-LD-graf på hver side

schema.org i `<script type="application/ld+json">`, koblet med `@id`, slik at produktet, merkesiden og batteriplattformsiden beskriver én graf.

Organisasjonen og nettstedet (med søkehandling) på forsiden; Product eller ProductGroup med et Product per utgave på produktsider; utleide Products på leiesider; CollectionPage med ItemList på kategorier, merker og plattformer; BreadcrumbList overalt.

- `ProductGroup / Product`: utgaver (uten batteri, sett) med varenummer, GTIN og eget Offer
- `Offer`: pris inkl. og eks. mva., mengderabatt, lager som availability og inventoryLevel, innhold i esken, garanti
- `category`: produkttypesti og ETIM-klassen som CategoryCode
- `isAccessoryOrSparePartFor · isConsumableFor`: maskinene et batteri, en lader, et blad eller et bor er laget for
- `DefinedTerm`: batteriplattformen, definert på sin egen side og referert fra hvert produkt på den
- `Offer på leie`: LeaseOut, leietid i timer, depotene som steder med adresse og koordinater

### Typede fakta, ikke tekst

Hver spesifikasjon er en PropertyValue med ETIM-egenskapen som `propertyID`, en numerisk `value`, `unitText` og UN/CEFACT-koden `unitCode`, og `maxValue` eller `minValue` når feltet er en grense. Valg har valgnøkkelen og ETIM-verdikoden. De samme kodene står i Markdown-sidene og i llms-full.txt.

| Spesifikasjon | Verdi | unitCode | ETIM |
|---|---|---|---|
| Nominell spenning | 18 V | VLT | EF000002 |
| Kapasitet | 5 Ah | AMH | EF001985 |
| Dreiemoment, hard skruing | 230 Nm | NU | EF002842 |
| Tomgangsturtall | 3 400 1/min | RPM | EF011125 |
| Vekt uten batteri | 2,2 kg | KGM | EF011121 |
| Verktøyfeste | SDS-max | – | EF002843 · EV005657 |

### Ren tekst for språkmodeller

- **llms.txt og llms-full.txt:** Et Markdown-kart over butikken (markeder, kategorier, plattformer, merker, leie) etter llmstxt.org, og hele katalogen i én fil med priser i tre valutaer, lager, produkttype, ETIM-klasse og hver typede spesifikasjon med koder. https://tools-universe.superfast.shop/llms.txt, https://tools-universe.superfast.shop/llms-full.txt
- **En Markdown-versjon av hver side:** Legg `.md` til en URL, eller send `Accept: text/markdown`. Produktsider lister spesifikasjoner med enhets- og ETIM-koder, utgaver, innhold, passer til og kjøpes med; hver side lenker til de andre. Annonseres i `<head>` med `rel="alternate" type="text/markdown"`. https://tools-universe.superfast.shop/no.md, https://tools-universe.superfast.shop/no/batterier-og-ladere.md
- **robots.txt med navngitte AI-crawlere:** GPTBot, ClaudeBot, Claude-SearchBot, PerplexityBot, Google-Extended og flere er tillatt ved navn, med `Content-Signal: search=yes, ai-input=yes`. Handlekurv, konto, API og OAuth holdes utenfor. https://tools-universe.superfast.shop/robots.txt
- **Sitemap med hreflang:** Hver kategori-, produkt-, leie-, merke-, plattform- og teknologiside på fire språk, med oversatte alternativer og siste endring fra Crystallize. https://tools-universe.superfast.shop/sitemap.xml
- **Canonical og hreflang:** Stiene er oversatt per språk, så alternativene slås opp på item-id. Filtrerte kategorivisninger peker canonical til den rene kategorien; søkeresultater er noindex.
- **Metadata i HTML for roboter:** Next.js strømmer metadata etter første byte. For crawlere som leser HTML uten å kjøre JavaScript (søkemotorer og AI-agenter) legger `htmlLimitedBots` tittel, beskrivelse, canonical og hreflang i `<head>`.

Sjekk selv: lim inn en produkt-URL i Claude med nettilgang og spør om spenning, vekt og pris inkl. mva., eller åpne sidens `.md`-versjon.

---

Nettside: https://tools-universe.superfast.shop/no/mcp
Markdown-versjon av siden, for språkmodeller. Prisene er netto (eks. mva.) med mindre de er merket inkl. mva.
