Tryvon

Dutch price comparison, starting with travel eSIMs: total price, delivery and price history.

Should I use this

Quality & Safety

A
Description quality
95%
Schema completeness
97%
Naming quality
87%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'compare_products' description lacks action verbin compare_products

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,278Tokens (tool definitions)
~1.3 KBTypical response size
Moderate attention impact (1.00% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "tryvon": {
      "url": "https://tryvon.nl/mcp"
    }
  }
}

Remote endpoints

https://tryvon.nl/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢compare_products(product_keys)

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

Input Schema

{
  "type": "object",
  "properties": {
    "product_keys": {
      "description": "2-4 product keys (productKey from search_products or top_products).",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "product_keys"
  ]
}
🟢search_products(query, max_price, min_price, brand, shop, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "What to find, in Dutch or English, e.g. \"philips airfryer xxl\", \"sony noise cancelling koptelefoon\", \"esim japan 10 dagen\".",
      "type": "string"
    },
    "max_price": {
      "description": "Maximum total price in euros.",
      "type": [
        "number",
        "null"
      ],
      "default": null
    },
    "min_price": {
      "description": "Minimum total price in euros.",
      "type": [
        "number",
        "null"
      ],
      "default": null
    },
    "brand": {
      "description": "Only this brand.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "shop": {
      "description": "Only this shop, e.g. \"bol\" or \"Coolblue\".",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "max_delivery_days": {
      "description": "Only offers the shop promises within this many working days. 1 = next day (\"morgen in huis\").",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "sort": {
      "description": "Sort: relevance (default), price_low, price_high, fastest, most_shops.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "limit": {
      "description": "Number of products, 1-24.",
      "type": "integer",
      "default": 8
    }
  },
  "required": [
    "query"
  ]
}
🟢get_buy_link(offer_id)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "offer_id": {
      "description": "Offer id (from compare_prices, or cheapestOfferId from search_products).",
      "type": "string"
    }
  },
  "required": [
    "offer_id"
  ]
}
🟢compare_prices(product_key, offer_id, max_delivery_days)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "product_key": {
      "description": "product_key from search_products (preferred).",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "offer_id": {
      "description": "Or an offer id (e.g. cheapestOfferId from search_products).",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "max_delivery_days": {
      "description": "Only shops that promise delivery within this many working days (1 = tomorrow).",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    }
  }
}
🟢price_history(product_key, days)

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?".

Input Schema

{
  "type": "object",
  "properties": {
    "product_key": {
      "description": "product_key from search_products or compare_prices.",
      "type": "string"
    },
    "days": {
      "description": "How many days back, 7-365.",
      "type": "integer",
      "default": 90
    }
  },
  "required": [
    "product_key"
  ]
}
🟢top_products(query, category, max_price, max_delivery_days, limit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "What kind of product, e.g. \"smartphone\", \"noise cancelling koptelefoon\", \"airfryer\".",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "category": {
      "description": "Or a category key from search results (categoryKey), e.g. \"smartphones\".",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "max_price": {
      "description": "Maximum total price in euros.",
      "type": [
        "number",
        "null"
      ],
      "default": null
    },
    "max_delivery_days": {
      "description": "Only offers the shop promises within this many working days (1 = next day).",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "limit": {
      "description": "How many, 1-10.",
      "type": "integer",
      "default": 5
    }
  }
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools