{"apiVersion":"v1","directorySlug":"stamppot-mcp-d11f486ef0","title":"Stamppot","description":"Gratis MCP-servers voor Nederlandse supermarktprijzen, tweedehands advertenties en openbaar vervoer. Geen account en geen API-sleutel: plak het endpoint in je client.","pageUrl":"https://www.mcpbundles.com/skills/stamppot-mcp-d11f486ef0","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://stamppot.dev/mcp","hostedMcpUrl":null,"toolCount":11,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"dev.stamppot/stamppot-mcp-d11f486ef0","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"find_grocery_options","description":"Lees de actuele Checkjebon-momentopname om echte Nederlandse boodschappenverpakkingen te vinden. Geeft opties terug gerangschikt op relevantie, de laagste kassaprijs en apart de winnaar op prijs per gewicht, per volume of per stuk. Prijzen zijn indicatief, kunnen per locatie of afrekenmoment verschillen en zeggen niets over voorraad.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["query"],"properties":{"limit":{"type":"integer","default":10,"maximum":20,"minimum":1},"query":{"type":"string","maxLength":120,"minLength":2},"retailerSlugs":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","maxLength":40,"minLength":1},"default":[],"maxItems":12}},"additionalProperties":false},"title":"Vind actuele boodschappenopties (alleen-lezen)","logicalName":"find_grocery_options","displayName":"Vind actuele boodschappenopties (alleen-lezen)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"plan_grocery_basket","description":"Bereken de prijs van een concreet boodschappenmandje aan de hand van de actuele Checkjebon-momentopname, zonder een offerte of ID aan te maken. Splits de aanvraag voor een gelegenheid eerst op in maximaal 20 specifieke regels en hoeveelheden. Het resultaat rondt verpakkingen naar boven af, meldt eerlijk welke regels niet gevonden zijn, vergelijkt van één winkel tot maximaal het gevraagde aantal winkels en geeft de complete replayInput terug. Stuur bij een vervolgvraag die volledige replayInput o","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["lines"],"properties":{"lines":{"type":"array","items":{"type":"object","required":["query"],"properties":{"query":{"type":"string","maxLength":120,"minLength":2},"target":{"type":"object","default":{"unit":"package","value":1},"required":["unit","value"],"properties":{"unit":{"enum":["g","kg","ml","l","each","package"],"type":"string"},"value":{"type":"number","exclusiveMinimum":0}},"additionalProperties":false},"optional":{"type":"boolean","default":false}},"additionalProperties":false},"maxItems":20,"minItems":1},"maxStores":{"type":"integer","default":3,"maximum":3,"minimum":1},"budgetCents":{"type":"integer","maximum":100000000,"minimum":0},"retailerSlugs":{"type":"array","items":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","maxLength":40,"minLength":1},"default":[],"maxItems":12}},"additionalProperties":false},"title":"Plan een actueel boodschappenmandje (alleen-lezen)","logicalName":"plan_grocery_basket","displayName":"Plan een actueel boodschappenmandje (alleen-lezen)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_shopping_list","description":"Haal één anoniem opgeslagen boodschappenlijstdocument op met de bijbehorende bearer listKey. Lezen verlengt de vervaltermijn van 90 dagen niet en heeft geen toegang tot de boodschappencatalogus. Geef de gewenste onaangevinkte of complete regels apart door aan plan_grocery_basket om de prijs te berekenen. De capability is niet herstelbaar als de client of gebruiker deze kwijtraakt.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["listKey"],"properties":{"listKey":{"type":"string","pattern":"^lst_[A-Za-z0-9_-]{22}$"}},"additionalProperties":false},"title":"Haal een opgeslagen boodschappenlijst op (alleen-lezen)","logicalName":"get_shopping_list","displayName":"Haal een opgeslagen boodschappenlijst op (alleen-lezen)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"save_shopping_list","description":"Maak een nieuw begrensd anoniem boodschappenlijstdocument aan of vervang een bestaand document. Laat listKey alleen weg om aan te maken; bewaar de teruggegeven capability, want deze kan niet worden hersteld. Roep voordat je een bestaande lijst wijzigt eerst get_shopping_list aan, behoud elke regel die de gebruiker nog wil, bewerk dat complete document en stuur het opnieuw mee met listKey. Vervangen werkt volgens last-write-wins, verlengt de vervaltermijn naar 90 dagen en valt onder een benaderen","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["document"],"properties":{"listKey":{"type":"string","pattern":"^lst_[A-Za-z0-9_-]{22}$"},"document":{"type":"object","required":["lines"],"properties":{"lines":{"type":"array","items":{"type":"object","required":["query"],"properties":{"query":{"type":"string","maxLength":120,"minLength":2},"target":{"type":"object","default":{"unit":"package","value":1},"required":["unit","value"],"properties":{"unit":{"enum":["g","kg","ml","l","each","package"],"type":"string"},"value":{"type":"number","exclusiveMinimum":0}},"additionalProperties":false},"checked":{"type":"boolean","default":false},"optional":{"type":"boolean","default":false}},"additionalProperties":false},"maxItems":20},"budgetCents":{"type":"integer","maximum":100000000,"minimum":0}},"additionalProperties":false}},"additionalProperties":false},"title":"Sla een complete boodschappenlijst op (schrijvend)","logicalName":"save_shopping_list","displayName":"Sla een complete boodschappenlijst op (schrijvend)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"find_marktplaats_listings","description":"Zoek tweedehands advertenties op Marktplaats, een onofficiële bron zonder publieke API of beschikbaarheidsgarantie. Zoek op tekst, op categorie of op beide, en filter optioneel op plaats en straal, op prijs, op staat en op de datum waarop de advertentie is aangeboden. Neem categoryId én parentCategoryId letterlijk over uit de categorySuggestions van een eerdere aanroep; een subcategorie zonder zijn bovenliggende categorie wordt door de bron genegeerd. Het antwoord is een kortstondig gecachte mom","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"limit":{"type":"integer","default":10,"maximum":30,"minimum":1},"query":{"type":"string","maxLength":120,"minLength":1},"offset":{"type":"integer","default":0,"maximum":99,"minimum":0},"sortBy":{"enum":["newest","relevance","price_asc","price_desc","distance"],"type":"string","default":"newest"},"location":{"type":"object","properties":{"place":{"type":"string","maxLength":80,"minLength":2},"postcode":{"type":"string","pattern":"^[1-9]\\d{3}(?:\\s?[A-Za-z]{2})?$"},"radiusKm":{"type":"integer","default":25,"maximum":200,"minimum":1}},"additionalProperties":false},"categoryId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"conditions":{"type":"array","items":{"enum":["new","like_new","used","refurbished","not_working"],"type":"string"},"minItems":1},"postedSince":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"maxPriceEuro":{"type":"number","minimum":0},"minPriceEuro":{"type":"number","minimum":0},"parentCategoryId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"additionalProperties":false},"title":"Zoek tweedehands advertenties op Marktplaats (alleen-lezen)","logicalName":"find_marktplaats_listings","displayName":"Zoek tweedehands advertenties op Marktplaats (alleen-lezen)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_marktplaats_listing","description":"Lees één Marktplaats-advertentie volledig uit, via een onofficiële bron zonder publieke API of beschikbaarheidsgarantie. Neem de id letterlijk over uit een resultaat van find_marktplaats_listings. Alleen deze tool geeft de volledige beschrijving en de kenmerkentabel terug; daarmee beoordeel je de staat, de compleetheid en de leveringsvoorwaarden, want de samenvatting in een zoekresultaat is afgekapt. Verder volgen de prijs en prijssoort, de biedingen, de categorie, het aantal weergaven en een be","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id"],"properties":{"id":{"type":"string","pattern":"^m\\d{5,15}$"}},"additionalProperties":false},"title":"Lees één Marktplaats-advertentie volledig (alleen-lezen)","logicalName":"get_marktplaats_listing","displayName":"Lees één Marktplaats-advertentie volledig (alleen-lezen)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"find_ov_stop","description":"Zoek een Nederlandse treinstation- of haltecode op aan de hand van een plaats- of haltenaam. Dit is het startpunt van elke andere ov-tool: die accepteren alleen codes en nooit namen. Een treinstationcode werkt bij plan_train_journey, get_train_departures en get_rail_disruptions; een halteplaatscode uitsluitend bij get_stop_departures. De momentopname komt uit een gepubliceerde haltelijst en bevat geen actuele vertrektijden.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["query"],"properties":{"kinds":{"type":"array","items":{"enum":["train_station","stop_area"],"type":"string"},"maxItems":2,"minItems":1},"limit":{"type":"integer","default":10,"maximum":10,"minimum":1},"query":{"type":"string","maxLength":120,"minLength":2}},"additionalProperties":false},"title":"Zoek een station- of haltecode (alleen-lezen)","logicalName":"find_ov_stop","displayName":"Zoek een station- of haltecode (alleen-lezen)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"plan_train_journey","description":"Plan een treinreis tussen twee Nederlandse stations met de officiële NS Reisinformatie API. Zoek beide stationscodes eerst op met find_ov_stop. Het antwoord geeft per reis de geplande en verwachte tijden, het aantal overstappen, de perrons en of een rit is uitgevallen. Tijden zijn ISO 8601 met offset. Resultaten zijn een momentopname van maximaal een minuut oud en zijn geen reservering, prijsopgave of vervoerbewijs.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["fromStation","toStation"],"properties":{"limit":{"type":"integer","default":6,"maximum":6,"minimum":1},"dateTime":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"toStation":{"type":"string","pattern":"^[A-Za-z0-9]{2,10}$"},"viaStation":{"type":"string","pattern":"^[A-Za-z0-9]{2,10}$"},"fromStation":{"type":"string","pattern":"^[A-Za-z0-9]{2,10}$"},"searchForArrival":{"type":"boolean","default":false}},"additionalProperties":false},"title":"Plan een Nederlandse treinreis (alleen-lezen)","logicalName":"plan_train_journey","displayName":"Plan een Nederlandse treinreis (alleen-lezen)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_train_departures","description":"Lees het actuele vertrekbord van één Nederlands treinstation via de officiële NS Reisinformatie API. Zoek de stationscode eerst op met find_ov_stop. Per vertrek volgen de bestemming, de geplande en verwachte tijd, het geplande en actuele spoor, de vervoerder en of de trein is uitgevallen, plus eventuele meldingen. Tijden zijn ISO 8601 met offset en het antwoord is een momentopname van maximaal een halve minuut oud.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["station"],"properties":{"limit":{"type":"integer","default":15,"maximum":15,"minimum":1},"station":{"type":"string","pattern":"^[A-Za-z0-9]{2,10}$"},"dateTime":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"additionalProperties":false},"title":"Lees een actueel treinvertrekbord (alleen-lezen)","logicalName":"get_train_departures","displayName":"Lees een actueel treinvertrekbord (alleen-lezen)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_rail_disruptions","description":"Haal actuele storingen, calamiteiten en geplande werkzaamheden op het Nederlandse spoor op via de officiële NS Reisinformatie API. Laat station weg voor het landelijke overzicht, of geef een met find_ov_stop opgezochte stationscode mee voor de meldingen bij dat station. Standaard komen alleen meldingen terug die nu spelen; zet activeOnly op false om geplande werkzaamheden mee te nemen. Reisadviezen komen letterlijk van NS.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"types":{"type":"array","items":{"enum":["CALAMITY","DISRUPTION","MAINTENANCE"],"type":"string"},"maxItems":3,"minItems":1},"station":{"type":"string","pattern":"^[A-Za-z0-9]{2,10}$"},"activeOnly":{"type":"boolean","default":true}},"additionalProperties":false},"title":"Lees actuele storingen op het spoor (alleen-lezen)","logicalName":"get_rail_disruptions","displayName":"Lees actuele storingen op het spoor (alleen-lezen)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_stop_departures","description":"Lees de actuele vertrekken van bus, tram of metro bij één halteplaats via OVapi, een onofficiële bron. Zoek de halteplaatscode eerst op met find_ov_stop; een treinstationcode werkt hier niet. Per vertrek volgen de lijn, de bestemming, de vervoerssoort en de geplande en verwachte tijd. OVapi levert lokale klokttijden zonder tijdzone-offset, dus die komen ongewijzigd terug in de velden op Local met timezone Europe/Amsterdam.","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["stopAreaCode"],"properties":{"limit":{"type":"integer","default":15,"maximum":15,"minimum":1},"stopAreaCode":{"type":"string","pattern":"^[\\p{Letter}\\p{Number}][\\p{Letter}\\p{Mark}\\p{Number} .&+_-]{0,39}$"}},"additionalProperties":false},"title":"Lees actuele bus-, tram- en metrovertrekken (alleen-lezen)","logicalName":"get_stop_departures","displayName":"Lees actuele bus-, tram- en metrovertrekken (alleen-lezen)","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Stamppot&config=eyJ1cmwiOiAiaHR0cHM6Ly9zdGFtcHBvdC5kZXYvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Stamppot%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fstamppot.dev%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Stamppot%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fstamppot.dev%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Stamppot&connectorUrl=https%3A%2F%2Fstamppot.dev%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Stamppot\" --url \"https://stamppot.dev/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/stamppot-mcp-d11f486ef0","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/stamppot-mcp-d11f486ef0/tools/{tool}","mcpServerUrl":"https://stamppot.dev/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/stamppot-mcp-d11f486ef0?live=1"}