{"server":"io.github.supplementscanner/scanner","count":4,"tools":[{"name":"find_cheapest","title":"Find cheapest products","description":"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","required":["category_slug"],"properties":{"limit":{"type":"integer","default":10,"maximum":50,"minimum":1,"description":"Maximum number of products to return (1-50)."},"market":{"type":"string","description":"Optional country market to query: nl, be, fr, gb, pl, es. Defaults to nl, the market this endpoint answers for. Any other value is rejected."},"category_slug":{"type":"string","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."},"in_stock_only":{"type":"boolean","default":false,"description":"When true, only return products currently in stock."}}},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true},"source":"probe","observed_at":"2026-10-20T05:27:47.955Z"},{"name":"get_product","title":"Get product details","description":"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","required":["product_id"],"properties":{"market":{"type":"string","description":"Optional country market to query: nl, be, fr, gb, pl, es. Defaults to nl, the market this endpoint answers for. Any other value is rejected."},"product_id":{"type":"integer","description":"The numeric product id, as returned in the `id` field by find_cheapest or search_products."}}},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true},"source":"probe","observed_at":"2026-10-20T05:27:47.955Z"},{"name":"list_categories","title":"List categories","description":"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":{"type":"string","description":"Optional country market to query: nl, be, fr, gb, pl, es. Defaults to nl, the market this endpoint answers for. Any other value is rejected."}}},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true},"source":"probe","observed_at":"2026-10-20T05:27:47.955Z"},{"name":"search_products","title":"Search products","description":"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","required":["query"],"properties":{"limit":{"type":"integer","default":20,"maximum":50,"minimum":1,"description":"Maximum number of products to return (1-50)."},"query":{"type":"string","minLength":2,"description":"The product name or brand to search for, e.g. \"whey isolaat\" or \"magnesium bisglycinaat\"."},"market":{"type":"string","description":"Optional country market to query: nl, be, fr, gb, pl, es. Defaults to nl, the market this endpoint answers for. Any other value is rejected."},"category_slug":{"type":"string","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."},"in_stock_only":{"type":"boolean","default":false,"description":"When true, only return products currently in stock."},"max_unit_price_cents":{"type":"integer","minimum":0,"description":"Optional: only return products whose normalized unit price is at or below this many cents."}}},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":true,"idempotentHint":true},"source":"probe","observed_at":"2026-10-20T05:27:47.955Z"}],"next_cursor":null,"next_actions":[{"action":"get_connection","description":"Connection block to call these tools","href":"/v1/servers/io.github.supplementscanner%2Fscanner/connection?target=mcpServers","arguments":{"name":"io.github.supplementscanner/scanner","target":"mcpServers"}},{"action":"get_server","description":"Full descriptor with trust and connectability","href":"/v1/servers/io.github.supplementscanner%2Fscanner","arguments":{"name":"io.github.supplementscanner/scanner"}}]}