Skip to main content
Glama

Server Details

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

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.6/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct role: category discovery, category-level price comparison, catalog search, and product detail lookup. The descriptions explicitly cross-reference when to use find_cheapest versus search_products, removing ambiguity.

Naming Consistency5/5

All tool names follow a consistent lowercase snake_case verb-first pattern: find_cheapest, get_product, list_categories, search_products. The naming style is uniform and predictable.

Tool Count5/5

Four tools is a lean but well-scoped set for a supplement price-comparison domain. Each tool covers a necessary part of the workflow: discover categories, find cheapest options, search, and retrieve product details.

Completeness5/5

For a read-only scanning and comparison service, the surface is complete: category discovery, product search, cheapest-price lookup, and detailed product information with price history and purchase links. There are no obvious dead ends in the described workflow.

Available Tools

4 tools
find_cheapestFind Cheapest ToolA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of products to return (1-50).
marketNoOptional country market to query: nl. Defaults to the market of the requested domain. Any other value is rejected.
category_slugYesThe 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_onlyNoWhen true, only return products currently in stock.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool read-only and idempotent; the description adds meaningful behavioral context about normalized price-per-unit comparison and recursive category/subcategory scope. It does not cover edge cases or return shape, but those are less critical with readOnly/idempotent hints present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences: the core behavior, the primary use case, and the prerequisite. Nothing is wasted and the key scoping detail is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with a fully described input schema, the description is complete enough: it identifies the query intent, the search scope, and how to obtain the required category_slug. No output schema exists, but the tool's output shape is inferable for this kind of listing operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents limit, market, category_slug, and in_stock_only. The description's mention of valid slugs and subcategory inclusion reinforces category_slug semantics but does not add meaning beyond it, matching the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States exactly what it does: finds cheapest supplements by normalized price-per-unit within a category and its subcategories. This verb+resource+scoping is precise and distinguishes it from siblings like get_product and search_products.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear context is provided: it is the primary tool for cheapest-X questions, and the prerequisite call to list_categories is stated. It does not explicitly describe when to prefer search_products or when not to use this tool, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_productGet Product ToolA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoOptional country market to query: nl. Defaults to the market of the requested domain. Any other value is rejected.
product_idYesThe numeric product id, as returned in the `id` field by find_cheapest or search_products.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, covering the safety profile. The description adds value by disclosing the exact scope of data returned (price, size, tiers, etc.) and implies no side effects. It doesn't describe error behavior, but for a read-only get-by-id, the annotations plus field list are sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, well-structured sentence front-loads the purpose and enumerates the returned fields compactly. No redundant wording or filler; every element earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lists the key return fields, which compensates for the lack of an output schema. It names the source tools for the id, giving the agent enough context to call it correctly. Missing error-handling or pagination details are minor for a simple read-only get, so it is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (product_id and market) are fully documented in the schema. The description reinforces the origin of product_id (from find_cheapest or search_products), which adds a small semantic nuance beyond the schema, but does not materially extend parameter meaning. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (Get), the resource (a single product by its id), and enumerates the specific fields returned (price, unit price, size, tiers, buy link, price history). It distinguishes itself from siblings like search_products (which searches) and find_cheapest (which finds the cheapest), making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs the agent to use the id returned by find_cheapest or search_products, which tells when to use this tool (after obtaining an id) and implicitly when not to (when you don't yet have an id). This is direct usage guidance that reduces ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_categoriesList Categories ToolA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoOptional country market to query: nl. Defaults to the market of the requested domain. Any other value is rejected.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=true, idempotentHint=true), lowering the bar. The description adds behavioral context beyond the annotations: it is a live view filtered to priced products only, and it deliberately omits empty categories. This dynamic-world nuance complements openWorldHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. The core purpose and return payload are front-loaded, and the usage directive is deferred to the second sentence. Every clause earns its place; no redundant qualifiers or restatement of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description correctly enumerates the return fields (counts, lowest normalized price, comparison basis), which is essential for an agent expecting a structured response. With only one optional parameter, strong safety annotations, and a clear sibling relationship, nothing required for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%; the lone 'market' parameter is fully documented in the schema with its default (domain market) and rejection rule. The description adds nothing about this parameter, so baseline 3 applies. No compensation needed since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List), resource (supplement categories), and the exact data returned (product count, store count, lowest normalized unit price, comparison basis). The 'currently hold priced products' qualifier adds precision beyond a generic category list. It clearly differentiates its purpose against find_cheapest, which it exists to feed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit usage directive: 'Use this to discover a valid category_slug for find_cheapest.' This names the consuming sibling and the condition that selects this tool. It lacks an explicit when-not-to-use statement, but the discovery role is unambiguous enough that an agent can route correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_productsSearch Products ToolA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of products to return (1-50).
queryYesThe product name or brand to search for, e.g. "whey isolaat" or "magnesium bisglycinaat".
marketNoOptional country market to query: nl. Defaults to the market of the requested domain. Any other value is rejected.
category_slugNoOptional: 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_onlyNoWhen true, only return products currently in stock.
max_unit_price_centsNoOptional: only return products whose normalized unit price is at or below this many cents.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety and mutability profile is covered. The description adds meaningful behavioral detail: typo tolerance and the result ordering rule (relevance, then cheapest normalized unit price), which are not inferable from annotations or schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler. The action and scope are front-loaded, followed by behavioral details and a sibling alternative. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich schema and annotations, the description provides the key decision-making context: matching behavior, ordering, and alternative routing. No output schema exists, so return details are not required. Minor omissions like pagination are not critical for this search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value by explaining result ordering and typo tolerance, which clarifies how query and max_unit_price_cents affect outputs. This goes beyond the parameter descriptions alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action ('Search'), resource ('whole supplement catalog'), and search dimensions ('product name or brand'). It also distinguishes itself by naming the sibling find_cheapest, making the tool's scope clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use find_cheapest instead when the category is already known, giving an actionable routing rule. The search-by-name-or-brand context is also clear, so an agent knows when this tool is the right choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedfind_cheapest
    • First observedget_product
    • First observedlist_categories
    • First observedsearch_products

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables users to compare prices, track budgets, and find promotional deals across major Dutch supermarkets and drugstores. It supports automated shopping list optimization, meal planning, and price history alerts for stores like Albert Heijn, Jumbo, and Kruidvat.
    14
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol server for real-time Swiss grocery shopping that searches and compares products across 8 major Swiss retailers (Migros, Coop, Aldi, Denner, Lidl, Farmy, Volgshop, Otto’s), normalizes per-unit prices, surfaces promotions, computes optimal multi-store shopping plans, and works with any MCP-compatible client without API keys or accounts.
    7
    86 npm
    30
    AGPL 3.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables searching and retrieving product information, reviews, and details from the Decathlon Netherlands website, including suggestions, pricing, stock, and customer ratings.
    4
    GPL 3.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources