Supplementenscanner

Cheapest supplements by normalized price per kg, serving or capsule, across Dutch stores.

Should I use this

Quality & Safety

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

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~938Tokens (tool definitions)
~1.8 KBTypical response size
Moderate attention impact (0.73% 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": {
    "scanner": {
      "url": "https://mcp.supplementenscanner.nl"
    }
  }
}

Remote endpoints

https://mcp.supplementenscanner.nlstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢find_cheapest(category_slug, limit, in_stock_only, market)

Find the cheapest supplements by normalized price-per-unit within a category (and all its subcategories). This is the primary tool for "what is the cheapest X?" questions. Use list_categories first to pick a valid category_slug.

Input Schema

{
  "type": "object",
  "properties": {
    "category_slug": {
      "description": "The category to search within, e.g. \"whey-protein\" or \"creatine\". Products in every subcategory are included, so a parent slug like \"protein-powder\" works too. Get valid slugs from list_categories.",
      "type": "string"
    },
    "limit": {
      "description": "Maximum number of products to return (1-50).",
      "default": 10,
      "minimum": 1,
      "maximum": 50,
      "type": "integer"
    },
    "in_stock_only": {
      "description": "When true, only return products currently in stock.",
      "default": false,
      "type": "boolean"
    },
    "market": {
      "description": "Optional country market to query: nl, be, fr, gb, pl, es, dk, at. Defaults to nl, the market this endpoint answers for. Any other value is rejected.",
      "type": "string"
    }
  },
  "required": [
    "category_slug"
  ]
}
🟢search_products(query, limit, in_stock_only, category_slug, max_unit_price_cents, ...)

Search the whole supplement catalog by product name or brand. Typo-tolerant (e.g. "kreatine", "theanin" still match). Results are ordered by relevance, then cheapest normalized price-per-unit. Use find_cheapest instead when you already know the category.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "The product name or brand to search for, e.g. \"whey isolaat\" or \"magnesium bisglycinaat\".",
      "minLength": 2,
      "type": "string"
    },
    "limit": {
      "description": "Maximum number of products to return (1-50).",
      "default": 20,
      "minimum": 1,
      "maximum": 50,
      "type": "integer"
    },
    "in_stock_only": {
      "description": "When true, only return products currently in stock.",
      "default": false,
      "type": "boolean"
    },
    "category_slug": {
      "description": "Optional: restrict results to this category and all of its subcategories, e.g. \"protein-powder\". Must be a slug from list_categories; an unknown slug is rejected.",
      "type": "string"
    },
    "max_unit_price_cents": {
      "description": "Optional: only return products whose normalized unit price, rounded to whole cents, is at or below this many cents.",
      "minimum": 0,
      "type": "integer"
    },
    "market": {
      "description": "Optional country market to query: nl, be, fr, gb, pl, es, dk, at. Defaults to nl, the market this endpoint answers for. Any other value is rejected.",
      "type": "string"
    }
  },
  "required": [
    "query"
  ]
}
🟢list_categories(market)

List the supplement categories that currently hold priced products, each with a live product count, store count, lowest normalized unit price, and its comparison basis (per_kg / per_serving / per_capsule). Use this to discover a valid category_slug for find_cheapest.

Input Schema

{
  "type": "object",
  "properties": {
    "market": {
      "description": "Optional country market to query: nl, be, fr, gb, pl, es, dk, at. Defaults to nl, the market this endpoint answers for. Any other value is rejected.",
      "type": "string"
    }
  }
}
🟢get_product(product_id, market)

Get full detail for one product by its id: price, normalized unit price, size, bulk/staffel tiers, buy link, and recent price history. Use the id returned by find_cheapest or search_products.

Input Schema

{
  "type": "object",
  "properties": {
    "product_id": {
      "description": "The numeric product id, as returned in the `id` field by find_cheapest or search_products.",
      "type": "integer"
    },
    "market": {
      "description": "Optional country market to query: nl, be, fr, gb, pl, es, dk, at. Defaults to nl, the market this endpoint answers for. Any other value is rejected.",
      "type": "string"
    }
  },
  "required": [
    "product_id"
  ]
}

Recommended Prompts

search_research
Search for information about [topic] using Supplementenscanner
Expected tools: find_cheapest
find_specific
Find [specific item] using Supplementenscanner
Expected tools: find_cheapest
retrieve_data
Get details about [item] from Supplementenscanner
Expected tools: get_product
fetch_info
Fetch [information type] using Supplementenscanner
Expected tools: get_product
list_items
List all [items] available in Supplementenscanner
Expected tools: list_categories

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools