ToolsUniverse

Agenter, assistenter og svarmotorer

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

Del A

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.

A1

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.

Claude (nett og desktop)

  1. 1
    Åpne Innstillinger → Koblinger (Connectors) og velg Legg til egendefinert kobling.
  2. 2
    Kall den «Tools Universe» og lim inn server-URL-en over.
  3. 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. 4
    Blir du spurt om en OAuth-klient, la Claude registrere seg selv. La forespørselshoder stå tomme.
  5. 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.
A2

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.

Demokunder

  • 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
A3

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.

InnloggetBer 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.
A4

Ting å prøve

Det går fint å være vag: søket foreslår hva du sannsynligvis mente.
  • Å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.”

Del B

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.

B1

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

Levende utdrag fra denne produktsiden (forkortet)

{
  "@type": "Product",
  "name": "Milwaukee M18 HB5 HIGH OUTPUT 5,0 Ah batteri",
  "sku": "4932499042",
  "brand": {
    "@type": "Brand",
    "@id": "https://tools-universe.superfast.shop/no/merker/milwaukee#brand",
    "name": "Milwaukee",
    "url": "https://tools-universe.superfast.shop/no/merker/milwaukee"
  },
  "category": [
    "Batterier og ladere > Batteri",
    {
      "@type": "CategoryCode",
      "codeValue": "EC001199",
      "name": "Batteri for elektroverktøy",
      "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": "Batterikapasitet",
      "propertyID": "EF001985",
      "value": 5,
      "unitText": "Ah",
      "unitCode": "AMH"
    },
    {
      "@type": "PropertyValue",
      "name": "Strømforsyning",
      "propertyID": "EF000145",
      "value": "Batteri",
      "valueReference": [
        {
          "@type": "DefinedTerm",
          "name": "Batteri",
          "termCode": "cordless",
          "identifier": {
            "@type": "PropertyValue",
            "propertyID": "ETIM",
            "value": "EV000449"
          }
        }
      ]
    },
    {
      "@type": "PropertyValue",
      "name": "Nominell spenning",
      "propertyID": "EF000002",
      "value": 18,
      "unitText": "V",
      "unitCode": "VLT"
    },
    {
      "@type": "PropertyValue",
      "name": "Batteriplattform",
      "value": "Milwaukee M18",
      "valueReference": {
        "@type": "DefinedTerm",
        "@id": "https://tools-universe.superfast.shop/no/batteriplattformer/milwaukee-m18#platform",
        "name": "Milwaukee M18",
        "url": "https://tools-universe.superfast.shop/no/batteriplattformer/milwaukee-m18",
        "inDefinedTermSet": {
          "@type": "DefinedTermSet",
          "name": "Batteriplattformer"
        }
      }
    }
  ],
  "isRelatedTo": [
    {
      "@type": "Product",
      "@id": "https://tools-universe.superfast.shop/no/batterier-og-ladere/milwaukee-m18-dfc-hurtiglader-med-to-plasser#product",
      "name": "Milwaukee M18 DFC hurtiglader med to plasser",
      "url": "https://tools-universe.superfast.shop/no/batterier-og-ladere/milwaukee-m18-dfc-hurtiglader-med-to-plasser"
    },
    "…"
  ],
  "offers": {
    "@type": "Offer",
    "sku": "4932499042",
    "price": 1799,
    "priceCurrency": "NOK",
    "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 år ved registrering"
      }
    ]
  }
}

/no/batterier-og-ladere/milwaukee-m18-hb5-high-output-50-ah-batteri .md

B2

Typede fakta, ikke tekst

Spesifikasjonene er typede komponenter i Crystallize, så de kommer som tall med enheter, sant/usant og valgnøkler. JSON-LD beholder dem slik.

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.

SpesifikasjonVerdiunitCodeETIM
Nominell spenning18 VVLTEF000002
Kapasitet5 AhAMHEF001985
Dreiemoment, hard skruing230 NmNUEF002842
Tomgangsturtall3 400 1/minRPMEF011125
Vekt uten batteri2,2 kgKGMEF011121
VerktøyfesteSDS-max–EF002843 · EV005657
B3

Ren tekst for språkmodeller

Agenter som ikke kjører JavaScript, eller foretrekker tekst, får samme katalog uten markup.

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./llms.txt /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"./no.md /no/batterier-og-ladere.md
B4

Crawlere, kart og språk

Det grunnleggende gjort skikkelig, så en crawler finner hver side én gang og på riktig språk.

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./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./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.

Slik er demoen bygget →← Tilbake til butikken