Skip to main content
Glama

Search Beauty Prices

search_beauty_prices
Read-only

Search the beauty catalog and return the lowest current price per product.

Use when the user wants to find a beauty product, see what it costs, or browse products by category, price, ingredients or brand values.

Results are grouped by EAN barcode: each product appears once, at the lowest price among stores that currently have it in stock (or the lowest listed price if it is sold out everywhere). Prices exclude shipping; compare_product_prices returns shipping cost and total delivered price per store for one product.

A non-empty query is required unless at least one filter (category, key_ingredient, exclude_ingredient, exclude_controversial, attribute or max_price) is set; an empty query with filters browses the catalog.

Each product carries two stock figures: store_count - stores that list the product, including sold out in_stock_store_count - stores that have it in stock right now

Ingredient filters map from natural language like this:

  • "moisturizer with retinol" -> key_ingredient="retinol"

  • "serum with retinol or vitamin C" -> key_ingredient="retinol,vitamin-c" (OR)

  • "shampoo without sulfates and silicones" -> exclude_ingredient="sls,silicones"

  • "fragrance-free / clean formulation" -> exclude_controversial=True (excludes fragrance/parfum, parabens, silicones, SLS, mineral oil, formaldehyde, phenoxyethanol, propylene glycol, denatured alcohol)

Args: query: Product, brand or product type, e.g. "cerave foaming cleanser". country: Market - "se" (Sweden), "no" (Norway), "dk" (Denmark), "fi" (Finland). More markets may be added over time; get_service_info returns the current list. category: Optional filter: skincare, makeup, haircare, fragrance, nails, body, accessories. max_price: Optional maximum price in the market's local currency. key_ingredient: Ingredient-group slug(s) the product must contain. Comma-separated = OR (contains any of them), e.g. "retinol" or "retinol,niacinamide". list_key_ingredients returns all valid slugs. exclude_ingredient: Ingredient-group slug(s) the product must not contain, e.g. "fragrance" or "sls,silicones". exclude_controversial: Exclude all commonly avoided ingredients at once (the list above). attribute: Brand-level values filter. Slugs: "vegansk" (vegan), "djurtestfri" (cruelty-free), "ekologisk" (organic/natural), "skonsam" (gentle/free-from), "hallbar" (sustainable). Comma-separated = AND (brand must match all). A brand matches on either a third-party certification or its own stated claim; get_product_details shows which applies. limit: Maximum number of results (1-20).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
countryNose
categoryNo
attributeNo
max_priceNo
key_ingredientNo
exclude_ingredientNo
exclude_controversialNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A5/5.0
Behavior5/5

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

Beyond the read-only annotation, it discloses exact pricing behavior: EAN grouping, lowest in-stock price with sold-out fallback, and shipping exclusion. It also explains the two stock counters and natural-language mapping for ingredient filters. This level of transparency leaves little room for an agent to mispredict the tool's behavior, and nothing contradicts readOnlyHint/destructiveHint.

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?

Although long, the description is organized into a lead summary, usage statement, grouped behavioral notes, and an Args section, so no section is redundant. All content earns its place given 9 parameters and zero schema descriptions.

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?

Given 9 parameters, no enums, and no schema descriptions, the description covers every decision an agent needs: query requirements, filtering semantics, value domains, result grouping, stock fields, and sibling routing. The presence of an output schema means return-structure details are not required here.

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

Parameters5/5

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

With 0% schema coverage, the description fully compensates by documenting every parameter: example query values, country codes, category and attribute slugs, ingredient AND/OR semantics, max_price currency, and limit bounds. The empty-query-with-filters rule is explained, satisfying the schema's required query by allowing an empty string when filters are present.

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 opening sentence uses a specific verb and resource—'Search the beauty catalog'—and defines the outcome as returning the lowest current price per product. It further distinguishes this from compare_product_prices by clarifying the grouping and shipping exclusion. This gives an agent a precise identity for the tool beyond its title.

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?

The 'Use when' sentence enumerates concrete triggers: finding a beauty product, checking cost, or browsing by category, price, ingredients, or brand values. It routes to compare_product_prices when shipping or total delivered price is needed, and points to get_service_info, list_key_ingredients, and get_product_details for valid values. This is explicit guidance on when to choose this tool versus its siblings.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources