/
Handleiding

Lego API: de ChatGPT-plugin en MCP-server van Brickfact

🗓 Bijgewerkt: 
👤 Moritz

Lego biedt geen openbare API aan voor zijn catalogus of de prijzen in zijn eigen winkel. Voor het kopen vult Brickfact dat gat: met de Brickfact-plugin voor ChatGPT en onze openbare MCP-server zoekt een AI-assistent Lego-sets en vergelijkt hij actuele winkelaanbiedingen met verzendkosten in negen landen. Voor geen van beide heb je een Brickfact-account of een sleutel nodig.

Deze handleiding laat zien hoe je de plugin aan ChatGPT toevoegt, hoe je de MCP-server aan andere assistenten koppelt en wat de tools teruggeven. De voorbeelden gaan uit van Nederland en rekenen in euro. Brickfact beheert deze dienst zelf, dus we beschrijven de beperkingen even eerlijk als de functies.

De Brickfact-plugin toevoegen aan ChatGPT

Het snelst gaat het via de Brickfact-plugin in de plugin-directory van ChatGPT. Je hoeft niets te downloaden: de plugin wordt in ChatGPT zelf geïnstalleerd en werkt op het web, in de desktop-app en op mobiel.

  1. Open de pluginpagina van Brickfact terwijl je bent ingelogd bij ChatGPT. Je kunt ook in de zijbalk van ChatGPT Plugins kiezen en zoeken op Brickfact.
  2. Bekijk wat de plugin bevat en installeer hem.
  3. Begin een gesprek en stel een koopvraag met een land erbij, bijvoorbeeld "Vergelijk aanbiedingen voor Lego 75192 met levering in Nederland". ChatGPT gebruikt geïnstalleerde plugins wanneer ze bij je vraag passen. Wil je Brickfact rechtstreeks aanroepen, typ dan @Brickfact, of kies + en vul de naam in.

De directory toont alleen plugins die je abonnement en je werkruimte toestaan. In een bedrijfswerkruimte bepaalt de beheerder welke plugins leden mogen installeren. Inloggen bij Brickfact is niet nodig, want de plugin leest alleen de openbare catalogus.

Wat Brickfact dekt

Brickfact volgt de aanbiedingen van winkels: artikelprijs, opgegeven verzendkosten en totaal in de valuta van het gekozen bestemmingsland. De plugin en de MCP-server gebruiken dezelfde dienst op https://mcp.brickfact.com/mcp: zoeken naar sets, specificaties, aanbiedingen, vergelijkingen, de vastgelegde prijsgeschiedenis bij winkels, een beoordeling van een aanbieding en vergelijkbare sets. De dienst is alleen-lezen. De JSON-routes erachter zijn niet openbaar: daarvoor is een sleutel nodig die Brickfact niet openbaar uitgeeft.

Geen sleutel betekent niet dat het gebruik onbeperkt is of dat de dienst altijd gratis blijft. Het is een gedeelde dienst, dus het aantal verzoeken is per client en in totaal begrensd. Is een limiet bereikt, dan antwoordt de server met HTTP 429 en een Retry-After-header, en hoort de client die tijd af te wachten voordat hij het opnieuw probeert.

MarktCodeValuta
NederlandNLEUR
DuitslandDEEUR
OostenrijkATEUR
ZwitserlandCHCHF
Verenigd KoninkrijkGBGBP
Verenigde StatenUSUSD
FrankrijkFREUR
SpanjeESEUR
ItaliëITEUR

Elke toolaanroep heeft een van deze markten nodig. Die bepaalt welke winkels meetellen en in welke valuta je prijzen krijgt. Andere landen, België bijvoorbeeld, worden geweigerd en niet stilletjes vervangen door een buurland. De optionele parameter language verandert alleen namen en labels. Een Engelstalig antwoord voor de Nederlandse markt geeft nog steeds euro's, Nederlandse winkels en een link naar de Nederlandse vergelijkingspagina.

Wat de tools teruggeven

Vraag je om sets binnen een budget, dan roept de assistent search_sets aan. Die tool filtert op naam of setnummer, thema, budget, aantal onderdelen, leeftijdslabels zoals 18+ en of een set binnenkort uit het assortiment gaat of al is verdwenen, sorteert op prijs, korting of nieuwste eerst en geeft maximaal 20 sets per pagina terug. Thema-ID's komen van list_themes. Onbekende invoer wordt geweigerd in plaats van genegeerd, zodat een verkeerd begrepen filter je zoekopdracht niet ongemerkt breder maakt.

Let op bij namen: in onze tests vond de tekstzoekfunctie Engelse en Duitse setnamen, maar geen Nederlandse. De zoekterm "orchidee" werkt alleen omdat de Duitse naam zo luidt; "Miniorchidee" gaf geen resultaat. Het setnummer is de betrouwbaarste zoekterm.

Voor één set geeft get_set_offers elke aanbieding met artikelprijs, verzendkosten, totaal, valuta, het tijdstip van de feed (feed_updated_at) en de voorraadstatus. Aanbiedingen met een bekend totaalbedrag staan vooraan, en het resultaat noemt het laagste bekende totaal en de laagste artikelprijs. Kent Brickfact de verzendkosten van een winkel niet, dan blijven verzendkosten en totaal leeg (null). Lees dat als onbekend, nooit als gratis.

De voorraadstatus (stock_status) staat altijd op not_verified. Een prijs in een feed bewijst niet dat de set op voorraad is, en de opgegeven verzendkosten gelden voor één set. Drempels voor gratis verzending, kortingscodes en regels bij het afrekenen kunnen het eindbedrag veranderen; alleen de kassa van de winkel is bindend.

get_set_details voegt de adviesprijs, het leeftijdsadvies, het aantal minifiguren, de afmetingen en een geschatte datum waarop de set uit productie gaat toe. compare_sets zet twee tot vier sets naast elkaar.

Artikelprijs of prijs inclusief verzending?

Standaard staat price_basis op "item". Dan rekenen budget en sortering met de kale setprijs, is item_price gevuld en blijft total_price null. Een set van € 45 met € 6,99 verzendkosten past zo binnen een budget van € 50, terwijl hij je thuisbezorgd meer kost.

Met "delivered" gebruikt Brickfact het totaal inclusief opgegeven verzending naar de gekozen markt. Aanbiedingen met onbekende verzendkosten vallen vóór het prijsfilter, de telling en de paginering af. total en elke pagina bevatten dus alleen sets met een bekend totaalbedrag, zonder gaten tussen de pagina's. De keerzijde: een winkel die geen verzendkosten opgeeft, verdwijnt helemaal uit deze resultaten.

Voor het kopen is de prijs inclusief verzending meestal de eerlijkste keuze. Een lage artikelprijs bij een buitenlandse webshop is vaak geen koopje meer zodra de verzending naar Nederland erbij komt, en verzamelaars vergelijken daarom meestal inclusief verzending. Gebruik de artikelmodus voor catalogusweergaven waarin verzending niet uitmaakt.

Twee soorten prijsgeschiedenis

Brickfact houdt twee prijsreeksen bij, en wie ze verwart, krijgt verkeerde antwoorden.

De prijsgeschiedenis bij winkels (tool get_retail_price_history) legt per dag de laagste bekende prijs inclusief verzending vast bij de gevolgde winkels van één markt, in de valuta van die markt. Amazon telt niet mee, en dagen met onbekende of geschatte verzendkosten ook niet. Eerdere dagen worden berekend met de huidige verzendregels voor het land. Het resultaat vermeldt observation_days en first_observed_day. Deze reeks begon pas op 12 oktober 2026: een lange gevraagde periode betekent dus geen lange reeks. Controleer de dekking voordat je conclusies trekt.

De marktwaarde-geschiedenis (tool get_price_history) is een aparte reeks waarderingen van verzegelde sets in euro, ook voor de Zwitserse of Amerikaanse markt. Ze laat zien wat een verzegelde set in de loop van de tijd waard is, het soort waarde dat ons onderzoek naar de ontwikkeling van Lego-prijzen analyseert. Het is geen overzicht van winkelprijzen.

De dealbeoordeling (tool assess_deal) vergelijkt de goedkoopste actuele aanbieding inclusief verzending, uit een feed van hoogstens 48 uur oud, met de laagste vastgelegde winkelprijs. Ze antwoordt met at_or_below_recorded_low of above_recorded_low en het verschil in procenten. Zonder minstens twee vastgelegde dagen of met een geschiedenis ouder dan 48 uur is het antwoord insufficient_history, zonder bruikbare aanbieding no_delivered_offer. De huidige aanbieding kan van Amazon komen, ook al sluit de geschiedenis Amazon uit. Een uitkomst op het vastgelegde laagste punt is geen laagste prijs ooit en zegt niets over de prijs van volgende maand.

De MCP-server koppelen aan andere assistenten

Het Model Context Protocol is een open standaard om AI-toepassingen aan externe systemen te koppelen. De assistent vindt de tools van Brickfact en roept ze aan zodra je vraag actuele gegevens nodig heeft, dus zelf verzoeken schrijven hoeft niet.

InstellingWaarde
Server-URLhttps://mcp.brickfact.com/mcp
TransportStreamable HTTP (stateloze POST-verzoeken)
AuthenticatieGeen
Tools11, allemaal alleen-lezen

Elke client die externe servers via Streamable HTTP ondersteunt, maakt verbinding met deze URL. Puur lokale clients die alleen stdio spreken, hebben een brug nodig.

In ChatGPT kun je de server ook zelf koppelen in plaats van de plugin te installeren, bijvoorbeeld als je werkruimte eigen MCP-servers toestaat maar de plugin uit de directory niet, of als een tool uit de lijst hieronder in je plugin ontbreekt. De koppelingshandleiding van OpenAI beschrijft de route: open ChatGPT Plugins, klik op de plusknop en daarna op Add custom MCP server, geef een naam en beschrijving op, vul de URL inclusief /mcp in, kies geen authenticatie, bevestig de risicowaarschuwing en kies Create as a plugin.

De elf tools:

ToolWaarvoor
search_setsZoeken op naam, nummer, thema, budget, onderdelen, leeftijd of uit productie
get_set_detailsSpecificaties, geschatte einddatum en aanbiedingen
get_set_offersAanbiedingen voor één set met verzendkosten
compare_setsTwee tot vier sets naast elkaar
list_themesThemanamen en ID's
get_retail_price_historyVastgelegde winkelprijzen inclusief verzending
assess_dealHuidige aanbieding tegenover de laagste vastgelegde prijs
get_price_historyMarktwaarde van verzegelde sets in euro
find_alternativesVergelijkbare, goedkopere of kleinere sets
render_setsWinkelkaarten of een vergelijkingsweergave
get_app_handoffStappen om in de Brickfact-app een prijsalarm in te stellen of een set aan je volglijst toe te voegen

Prompts die helpen bij het kopen

De server vraagt de assistent het winkelland uit het gesprek over te nemen en ernaar te vragen als het ontbreekt. Noem het dus meteen. Deze prompts dekken de belangrijkste tools:

  • "Zoek Lego Star Wars sets onder € 100 inclusief verzending naar Nederland en toon ze als kaarten."
  • "Help me een Lego-cadeau te kiezen tot € 60 inclusief verzending in Nederland, voor een kind van 10 dat van auto's houdt."
  • "Vergelijk Lego 10311 en 10313 met levering in Nederland, met aantal onderdelen en totaalprijs."
  • "Is de huidige prijs van Lego 75192 in Nederland goed vergeleken met de vastgelegde winkelprijzen? Vertel me over hoeveel dagen je gegevens hebt."
  • "Zoek goedkopere alternatieven voor Lego 75192 met levering in Nederland."

Hosts met ondersteuning voor MCP Apps tonen setkaarten met afbeeldingen, een vergelijking naast elkaar en grafieken van de prijsgeschiedenis bij winkels. Elders antwoordt de assistent met dezelfde gegevens in tekst. Als de host apps een status laat bewaren, onthoudt de kaart een shortlist van maximaal zes setnummers. Die lijst hoort bij de kaart in het gesprek, niet bij een Brickfact-account, en is in een nieuw gesprek mogelijk weg.

Wat de assistent niet kan

De plugin en de MCP-server lezen alleen openbare catalogusgegevens. Ze kunnen niets kopen, vragen geen betaalgegevens, zien je Brickfact-verzameling niet en veranderen niets aan je account. Vraag je om een melding als Lego 10311 onder € 30 zakt, dan krijg je een overdracht naar de app met "created": false: een link naar de Brickfact-app en de stappen om het alarm daar in te stellen. Er is pas iets aangemaakt als je het in de app bevestigt. Hoe prijsalarmen werken, lees je in onze handleiding om Lego prijswaarschuwingen aan te maken.

Prijzen in een antwoord zijn nooit actueler dan de feed erachter. Een goede aanbieding kan minuten na een prijsdaling uitverkocht zijn; open dus de meegeleverde vergelijkingslink en controleer de winkel voordat je koopt.

Zo blijven de antwoorden kloppen

Met een paar vaste gewoontes blijven de antwoorden correct als de gegevens veranderen:

  • Begin met één set en één markt en controleer in elk antwoord de valuta en de prijsbasis voordat je meer landen toevoegt.
  • Zie onbekende verzendkosten als onbekend, nooit als gratis.
  • Let op wanneer de feed is bijgewerkt (feed_updated_at) of noteer het tijdstip van je vraag naast de prijzen.
  • Behandel lege resultaten en korte reeksen als normale antwoorden, niet als fouten.
  • Wacht na een HTTP 429 de tijd uit Retry-After af en loop niet de hele catalogus door via zoekpagina's.
  • Gebruik de meegeleverde vergelijkingslink (comparison_url) in plaats van zelf URL's van setpagina's samen te stellen.

Vergelijk je prijzen liever zelf, dan vind je dezelfde aanbiedingen met filters in de Lego databank, en zo vergelijken wij prijzen legt uit welke winkels we volgen.

Andere bronnen voor Lego-gegevens

Brickfact dekt winkelaanbiedingen, geen onderdelen en geen tweedehandsmarkt. Voor onderdelen, kleuren en setinventarissen is de API van Rebrickable de gebruikelijke bron; de Brickset API dekt setgegevens en verzamelingen, en de BrickLink API geeft marktprijzen voor nieuwe en gebruikte sets. Alle drie vragen om een eigen sleutel en hanteren eigen gebruiksregels.

Een API om Lego-hubs en motoren te programmeren is een roboticavraag, geen datavraag: onze handleiding Lego robot programmeren behandelt SPIKE, Mindstorms en Python met Pybricks. Brickfact is onafhankelijk van de Lego Groep.

Brickfact kan een commissie ontvangen als je via een winkellink koopt. Commissies bepalen de volgorde van de aanbiedingen niet. Redactie- en testbeleid

Disclaimer

Brickfact kan een commissie ontvangen als je via een winkellink koopt. Commissies bepalen de volgorde van de aanbiedingen niet.

LEGO® is een handelsmerk van de LEGO Groep, maar deze website wordt niet door hen gesponsord, geautoriseerd of onderschreven. Als partner van Amazon verdienen we geld aan gekwalificeerde verkopen die u doet via links naar Amazon op onze website. De prijs voor u blijft hetzelfde, maar u steunt dit project. ❤️ .
© 2026 Brickfact. All Rights Reserved