Dutch price comparison, starting with travel eSIMs: total price, delivery and price history.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
For one product, list every shop selling the same item (matched by barcode or brand + part number), cheapest total price first, with each shop's delivery promise. Answers "where is this cheapest" and "who delivers it tomorrow". Pass product_key or offer_id.
Or an offer id (e.g. cheapestOfferId from search_products).
product_key from search_products (preferred).
Only shops that promise delivery within this many working days (1 = tomorrow).
For one product, list every shop selling the same item (matched by barcode or brand + part number), cheapest total price first, with each shop's delivery promise. Answers "where is this cheapest" and "who delivers it tomorrow". Pass product_key or offer_id.
| Argument | Type | Description |
|---|---|---|
| offer_id | string | null | Or an offer id (e.g. cheapestOfferId from search_products). |
| product_key | string | null | product_key from search_products (preferred). |
| max_delivery_days | integer | null | Only shops that promise delivery within this many working days (1 = tomorrow). |
{
"type": "object",
"properties": {
"offer_id": {
"type": [
"string",
"null"
],
"default": null,
"description": "Or an offer id (e.g. cheapestOfferId from search_products)."
},
"product_key": {
"type": [
"string",
"null"
],
"default": null,
"description": "product_key from search_products (preferred)."
},
"max_delivery_days": {
"type": [
"integer",
"null"
],
"default": null,
"description": "Only shops that promise delivery within this many working days (1 = tomorrow)."
}
}
}Compare 2-4 different products side by side: every specification (rows where they differ are marked), buyer rating, lowest total price and shop, number of shops and delivery. Marks the cheapest, the best rated and the best choice (highest Tryvon score).
| Argument | Type | Description |
|---|---|---|
| product_keys* | array | 2-4 product keys (productKey from search_products or top_products). |
{
"type": "object",
"required": [
"product_keys"
],
"properties": {
"product_keys": {
"type": "array",
"items": {
"type": "string"
},
"description": "2-4 product keys (productKey from search_products or top_products)."
}
}
}Get the link where the user can buy the product on the shop's own website, plus the affiliate disclosure to show the user. Nothing is bought by this tool; the user completes the purchase at the shop.
| Argument | Type | Description |
|---|---|---|
| offer_id* | string | Offer id (from compare_prices, or cheapestOfferId from search_products). |
{
"type": "object",
"required": [
"offer_id"
],
"properties": {
"offer_id": {
"type": "string",
"description": "Offer id (from compare_prices, or cheapestOfferId from search_products)."
}
}
}Lowest daily total price of a product over time (all shops together), with the lowest price ever and the change versus 30 days ago. Use to answer "is this a good moment to buy?".
| Argument | Type | Description |
|---|---|---|
| days | integer | How many days back, 7-365. |
| product_key* | string | product_key from search_products or compare_prices. |
{
"type": "object",
"required": [
"product_key"
],
"properties": {
"days": {
"type": "integer",
"default": 90,
"description": "How many days back, 7-365."
},
"product_key": {
"type": "string",
"description": "product_key from search_products or compare_prices."
}
}
}Search products and travel eSIM data plans at Dutch partner shops. Returns products (one entry per product, not per shop) with the lowest total price incl. shipping, the cheapest shop, how many shops sell it and whether any shop delivers next day. Use compare_prices with product_key to see every shop for one product.
| Argument | Type | Description |
|---|---|---|
| shop | string | null | Only this shop, e.g. "bol" or "Coolblue". |
| sort | string | null | Sort: relevance (default), price_low, price_high, fastest, most_shops. |
| brand | string | null | Only this brand. |
| limit | integer | Number of products, 1-24. |
| query* | string | What to find, in Dutch or English, e.g. "philips airfryer xxl", "sony noise cancelling koptelefoon", "esim japan 10 dagen". |
| max_price | number | null | Maximum total price in euros. |
| min_price | number | null | Minimum total price in euros. |
| max_delivery_days | integer | null | Only offers the shop promises within this many working days. 1 = next day ("morgen in huis"). |
The best products for a need, e.g. "top 5 smartphones" or "best airfryer under 150 euro", ranked by the Tryvon score: buyer rating (review-weighted, so a few 5-star reviews don't beat thousands of 4.6-star ones), popularity, value for money and delivery speed. Commission plays no part. Returns rating, review count, lowest price, shops and key specifications per product. Products without reviews are marked hasReviews=false.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many, 1-10. |
| query | string | null | What kind of product, e.g. "smartphone", "noise cancelling koptelefoon", "airfryer". |
| category | string | null | Or a category key from search results (categoryKey), e.g. "smartphones". |
| max_price | number | null | Maximum total price in euros. |
| max_delivery_days | integer | null | Only offers the shop promises within this many working days (1 = next day). |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 5,
"description": "How many, 1-10."
},
"query": {
"type": [
"string",
"null"
],
"default": null,
"description": "What kind of product, e.g. \"smartphone\", \"noise cancelling koptelefoon\", \"airfryer\"."
},
"category": {
"type": [
"string",
"null"
],
"default": null,
"description": "Or a category key from search results (categoryKey), e.g. \"smartphones\"."
},
"max_price": {
"type": [
"number",
"null"
],
"default": null,
"description": "Maximum total price in euros."
},
"max_delivery_days": {
"type": [
"integer",
"null"
],
"default": null,
"description": "Only offers the shop promises within this many working days (1 = next day)."
}
}
}{
"type": "object",
"required": [
"query"
],
"properties": {
"shop": {
"type": [
"string",
"null"
],
"default": null,
"description": "Only this shop, e.g. \"bol\" or \"Coolblue\"."
},
"sort": {
"type": [
"string",
"null"
],
"default": null,
"description": "Sort: relevance (default), price_low, price_high, fastest, most_shops."
},
"brand": {
"type": [
"string",
"null"
],
"default": null,
"description": "Only this brand."
},
"limit": {
"type": "integer",
"default": 8,
"description": "Number of products, 1-24."
},
"query": {
"type": "string",
"description": "What to find, in Dutch or English, e.g. \"philips airfryer xxl\", \"sony noise cancelling koptelefoon\", \"esim japan 10 dagen\"."
},
"max_price": {
"type": [
"number",
"null"
],
"default": null,
"description": "Maximum total price in euros."
},
"min_price": {
"type": [
"number",
"null"
],
"default": null,
"description": "Minimum total price in euros."
},
"max_delivery_days": {
"type": [
"integer",
"null"
],
"default": null,
"description": "Only offers the shop promises within this many working days. 1 = next day (\"morgen in huis\")."
}
}
}