Skip to main content
Glama

Plendio price comparison

Search products

search_products
Read-onlyIdempotent

Search Plendio's product catalogue: free text in Danish, Swedish, German, Norwegian or English ("laptop 32 GB RAM under 12000", "Sony WH-1000XM5", "running shoes women") plus optional filters. Spec words in the query (RAM, storage, screen size, price limits, in stock) are understood the way the Plendio website understands them. Each result has the cheapest current price, the number of shops selling it and the url of its Plendio page. Results are limited to shops that ship to the market unless include_other_markets is true. 24 results per page.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "query": "<query>"
    },
    "name": "search_products"
  }
}

Input Schema

NameRequiredDescriptionDefault
pageNoResult page, 24 products per page. Default 1.
sortNorelevance (default), price_asc or price_desc.
queryYesWhat to look for, in any of the market languages or English: a product name, a type, or a description with specs and limits ("laptop 32 GB RAM under 12000"). Required unless category is given.
shopsNoOnly offers from these shops, by domain, e.g. ["elgiganten.dk"].
brandsNoOnly these brands (up to 25), e.g. ["Sony","Bose"].
marketNoMarket to search: dk, se, de or no. Default: the market of the site you connected to (plendio.dk is dk).
categoryNoCategory slug to narrow the search to, e.g. computere.
in_stockNoOnly products that at least one shop has in stock.
max_priceNoHighest price, in the market's currency (major units).
min_priceNoLowest price, in the market's currency (major units, e.g. 500 means 500 kr.).
include_other_marketsNoAlso include products no shop ships to the market. Default false: only products the market's shoppers can have delivered.

Output Schema

NameRequiredDescriptionDefault
pageYes
notesNo
queryYes
totalYesNumber of matching products.
marketYes
appliedNoFilters the search applied, including ones it read from the query text.
currencyYesCurrency of the market.
productsYes
page_sizeYes
search_urlYesThe same search on the Plendio website.
total_exactYesFalse when total is a lower bound ("at least").
total_pagesYes
did_you_meanNoSet when the results answer a corrected spelling of the query.
understood_asNoSet when the query was a sentence: the product searches it was read as, which the results answer.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / products / items / properties / market_currency
      Added value: +{
      +  "description": "The market's currency price_from_market is in.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / products / items / properties / price_from_market
      Added value: +{
      +  "description": "price_from converted to market_currency (equal to price_from when the shop prices in that currency); absent when no exchange rate is available.",
      +  "type": [
      +    "null",
      +    "number"
      +  ]
      +}
  2. Changed1 schema field changed
    • addedOutput schema / properties / understood_as
      Added value: +{
      +  "description": "Set when the query was a sentence: the product searches it was read as, which the results answer.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": [
      +    "null",
      +    "array"
      +  ]
      +}
  3. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: spec words are parsed the way the Plendio website parses them, results carry the cheapest current price, shop count and page URL, and results are restricted to shops that ship to the market unless include_other_markets is true. Only pagination depth and empty-result handling are left unstated.

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

Conciseness4/5

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

Front-loaded with the core purpose, then query language, return shape, market scope and page size in a logical order. Each sentence earns its place except the closing "24 results per page", which duplicates the page parameter's schema description.

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 an output schema exists and 11 parameters are fully described in the schema, the description carries the right non-obvious information: multilingual free-text semantics, the market shipping restriction, and what a result row contains. An agent could call this correctly, with only minor gaps around what an empty result or out-of-range page looks like.

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 the schema already documents every parameter including page size, sort values, market defaults and price units. The description adds only marginal meaning, mainly that free-text spec words are interpreted like the website's own parser; details such as the 24-per-page limit and the include_other_markets behavior simply restate schema text.

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

Purpose4/5

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

States a specific verb and resource ("Search Plendio's product catalogue") plus the accepted query languages and the optional filters layered on top. It is clearly separable from get_product (single item lookup) and list_categories (browsing), though it never names those siblings explicitly.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the description shows what kinds of queries work ("laptop 32 GB RAM under 12000") and that spec words and price limits can be embedded in free text. It gives no explicit when-to-use-vs-alternatives guidance, e.g. when to use list_categories or get_product instead, and no prerequisites are mentioned.

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