Skip to main content
Glama

Plendio price comparison

Server Details

Compare 18M+ prices across Denmark, Sweden, Norway and Germany: product search, wishlists. No login.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 8 tools

Disambiguation4/5

Each tool targets a distinct resource and action, so an agent can generally pick correctly. There is some overlap between compare_prices and get_product, since both return one offer per shop for a single product, but the descriptions differentiate them by scope (full specs/price history vs. cross-shop comparison).

Naming Consistency5/5

All eight tools follow a clean, predictable verb_noun snake_case pattern (add_to_wishlist, compare_prices, create_wishlist, get_product, get_wishlist, list_categories, remove_from_wishlist, search_products). No mixed conventions or vague verbs.

Tool Count5/5

Eight tools is well-scoped for a price comparison service, with each tool earning its place across catalogue browsing and wishlist management. No redundancy or filler.

Completeness4/5

The wishlist lifecycle is fully covered (create, get, add, remove) and product discovery covers search, detail, comparison and categories. Minor gaps remain, such as no explicit wishlist rename/note-edit operation and no market/currency listing tool, but core workflows are complete.

Available Tools

8 tools
add_to_wishlistAdd products to a wishlistA
DestructiveIdempotent
Inspect

Adds products to a wishlist made earlier, given its edit link or the token at the end of it. A product already on the list keeps its place and takes the new note. A list holds at most 50 products; unknown or unavailable products, and products that no longer fit, are reported and not added. Returns the list's items with their best current prices. The token stops working once the list has been saved to a Plendio account.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesThe products to add: 1 to 50. A product already on the list keeps its place and takes the new note.
marketNoMarket for the urls in the answer: dk, se, de or no. Default: the market the list was made for.
edit_tokenYesThe wishlist's edit link as returned when it was created, or just the token at the end of it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
addedNoProduct ids put on the list.
itemsYes
notesNo
titleYesThe list's name, written by whoever made it.
marketYes
removedNoProduct ids taken off the list.
currencyNoCurrency of total_from.
share_urlYesThe list's page on Plendio, read-only.
item_countYes
not_storedNoProducts that could not be added, with the reason.
total_fromNoSum of price_from over the available items; absent when their currencies differ or none has a price.
not_on_listNoProduct ids that were not on the list.
already_on_listNoProduct ids that were already on the list (their note was updated).

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses the 50-product cap, that duplicates keep their position but take the new note, that unknown/unavailable/overflow products are reported rather than added, what is returned (items with current prices), and that the token stops working once the list is saved to an account. It corroborates destructiveHint=true (mutates the list) and idempotentHint=true (re-adding is position-stable), so no contradiction.

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?

Four tight sentences, front-loaded with the action and its input, then constraints, then return value, then the token-lifetime caveat. No filler or repetition 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?

Even though an output schema exists, the description usefully signals the return payload and the partial-failure semantics, and it covers limits, duplicate handling and token expiry. Nothing an agent needs to call this correctly 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 coverage is 100%, so edit_token, items, market, note, slug and product_id are all already documented in the schema, including the token extraction rule and the market default. The description only restates the edit-link/token idea that the schema already carries, so it does not add meaning beyond the structured fields.

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 and resource ('Adds products to a wishlist') and immediately scopes it to a list 'made earlier', which cleanly separates it from create_wishlist, get_wishlist and remove_from_wishlist. An agent can select it without opening the schema.

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?

It establishes the prerequisite (the list must exist already, identified by its edit link or token) and implies create_wishlist as the upstream step, but never explicitly names an alternative tool or a when-not-to-use condition. Clear context, no exclusions.

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

compare_pricesCompare pricesA
Read-onlyIdempotent
Inspect

Returns the shops selling one product, one offer per shop (its best, with a count of its other offers), cheapest first by total price including shipping (price alone where a shop's shipping is unknown), with each amount also converted to the market's currency. Offers that are in stock come first. Out-of-stock offers are left out unless include_out_of_stock is true, and only shops that ship to the market are listed unless include_other_markets is true. The result includes the url of the product's Plendio page.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoMarket the shopper is in: dk, se, de or no. Default: the market of the site you connected to.
product_idYesPlendio product id (the id field of a search result, or the number at the end of a Plendio product URL).
include_out_of_stockNoAlso list offers that are out of stock or discontinued. Default false: only offers a shopper can order now.
include_other_marketsNoAlso list shops not known to ship to the market. Default false.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYesThe product's page on Plendio, listing all its offers.
notesNo
titleYes
marketYes
offersYesCheapest first, by total price including shipping (price alone where shipping is unknown).
currencyYesCurrency of the market.
price_historyNo
offers_omittedYesOffers left out because their shop does not ship to the market.
out_of_stock_omittedYesOffers left out because they are out of stock or discontinued (set include_out_of_stock to list them).

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description goes well beyond them: sort order (cheapest first by total price including shipping), fallback when shipping is unknown, currency conversion, in-stock-first ordering, exclusion rules for out-of-stock and non-shipping shops, and the returned Plendio URL. That is substantial behavioral disclosure.

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?

The purpose and sort order are front-loaded, and the closing sentence about the returned URL is short and useful. However, the first sentence is a long run-on with several stacked clauses, which makes it denser than it needs to be for a four-parameter tool.

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?

An output schema exists, so return values need not be spelled out, yet the description still notes the included Plendio URL. Combined with the disclosed defaults, filtering rules and ordering, an agent has everything needed to call this correctly against its siblings.

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 coverage is 100%, so the baseline is 3. The description still adds meaning beyond the schema text by explaining the consequence of each flag ('only shops that ship to the market', 'offers a shopper can order now') and by disclosing the shipping-cost rule that governs the ordering the parameters influence.

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 opens with a specific verb and resource ('Returns the shops selling one product') and immediately defines the granularity (one offer per shop, its best). This clearly separates it from get_product (product details) and search_products (product discovery) without needing to open any schema.

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 by the scope statement and the flag semantics, but there is no explicit 'use this when...' or a named alternative for a shopper who only wants product facts rather than shop offers. The conditional behavior of include_out_of_stock/include_other_markets is described, which helps, but it is behavioral rather than routing guidance.

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

create_wishlistCreate a shareable wishlistAInspect

Creates a shareable wishlist ("ønskeseddel") on Plendio from products a person has picked, for example gifts found with a search, once they want a list to send to family or friends. Takes a title (up to 80 characters), a market and 1 to 50 products by Plendio id, each with an optional note of up to 140 characters. Returns two links, a read-only share link to the list's page on Plendio and a private edit link for changing the list and saving it to a Plendio account, together with the list's items and their best current prices. No login is needed and no personal data is collected. Unknown or unavailable products are reported and not stored. The edit link is a secret: anyone who holds it can change the list. A list that is not viewed or edited for 90 days is deleted. Each request creates a new list.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesThe products on the list: 1 to 50.
titleYesName of the list, e.g. "Emmas fødselsdag". Up to 80 characters; markup and links are removed.
marketNoMarket the list is for: dk, se, de or no. Default: the market of the site you connected to.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
notesNo
titleYesThe list's name, written by whoever made it.
marketYes
currencyNoCurrency of total_from.
edit_urlYesPrivate link for changing the list on Plendio and saving it to an account. Shown once.
share_urlYesThe list's page on Plendio, read-only.
item_countYes
not_storedNoProducts that were not put on the list, with the reason.
total_fromNoSum of price_from over the available items; absent when their currencies differ or none has a price.
instructionYesA line for the user about the two links.

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses that no login is required, no personal data is collected, unknown/unavailable products are reported but not stored, the edit link is a secret granting mutation access, unused lists are deleted after 90 days, and every request creates a new list (reinforcing idempotentHint=false). These are exactly the operational traits an agent needs.

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 action and inputs before moving to return values, side effects and lifecycle caveats. It is dense but nearly every sentence carries operational information; the return-link sentence partially duplicates the output schema, which keeps it from a 5.

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 creation tool with rich side effects, the description covers inputs, outputs, safety (no login/no PII), failure handling (unknown products reported, not stored), and lifecycle (90-day deletion). With an output schema present, nothing essential is left for the agent to guess.

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 baseline is 3. The description restates the title limit (80 chars), the 1-50 product range, the market field and the 140-char note, but adds no syntax or format meaning beyond what the schema already documents.

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 (creates) and resource (shareable wishlist on Plendio) from a concrete input (picked products), and the 'shareable'/'from products you picked' framing clearly separates it from add_to_wishlist and get_wishlist. An agent can identify the tool without opening the schema.

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?

Gives clear context for when it applies - 'once they want a list to send to family or friends' and 'gifts found with a search', which implies the search_products -> create_wishlist flow. It does not explicitly name alternatives or exclusions (e.g. add_to_wishlist for an existing list), 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 detailsA
Read-onlyIdempotent
Inspect

Returns one product by its Plendio id: specifications, one offer per shop (its best) with price, shipping, total, the same amounts in the market's currency, availability, condition and whether the shop ships to the market, a summary of the product's price history over the last year, and the url of its Plendio page. A product that was merged into another resolves to the current one.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoMarket the shopper is in: dk, se, de or no. Default: the market of the site you connected to.
product_idYesPlendio product id (the id field of a search result, or the number at the end of a Plendio product URL).

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYesThe product's page on Plendio, listing all its offers.
brandNo
notesNo
specsNo
titleYes
imagesNo
marketYes
offersYesCheapest first.
categoryNo
currencyYesCurrency of the market.
in_stockYes
descriptionNo
merged_fromNoSet when product_id was merged into this product.
offer_countYesNumber of offers listed (shops that ship to the market, unless the tool was asked otherwise).
price_historyNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuinely non-obvious behavior beyond that: a merged product resolves to the current one, and each shop returns only its best offer with a market-currency conversion. No rate limits or error behavior, but solid added context.

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?

A single dense sentence that front-loads the verb and resource. The long tail enumerating return fields is informative but overlaps the output schema, making it slightly heavier than necessary; still, every clause carries real content.

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 read-only two-parameter lookup with an output schema, the description is complete: it signals single-item scope, id provenance, currency conversion, offer selection, and the merged-product edge case. An agent has everything needed to call it correctly without guessing.

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% and both parameters are documented in the schema (market enum with default, product_id format and source). The description only echoes the id concept and gestures at market currency; it adds no syntax or semantics beyond the schema, so the baseline 3 applies.

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+resource ('Returns one product by its Plendio id') and enumerates the exact payload (specs, per-shop best offer with price/shipping/total, currency conversion, availability, condition, price history, URL). This is unmistakably the single-product detail tool, distinct from search_products and compare_prices.

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?

The description never says when to use this versus siblings or where the product_id comes from; that sourcing hint ('the id field of a search result, or the number at the end of a Plendio product URL') lives only in the parameter schema. Usage is implied by the single-id scope, but no explicit when/when-not guidance is given.

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

get_wishlistGet a wishlistA
Read-onlyIdempotent
Inspect

Returns a Plendio wishlist from its share link or share id: its title, its items with notes and best current prices, and the url of each product's Plendio page. Read-only; the edit link is not needed and not accepted. The title and the notes are text written by whoever made the list.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoMarket for the urls in the answer: dk, se, de or no. Default: the market the list was made for.
share_urlYesThe wishlist's share link, or the share id at the end of it. The edit link is not accepted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
notesNo
titleYesThe list's name, written by whoever made it.
marketYes
currencyNoCurrency of total_from.
share_urlYesThe list's page on Plendio, read-only.
item_countYes
total_fromNoSum of price_from over the available items; absent when their currencies differ or none has a price.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint, so the safety profile is covered. The description still adds real value beyond that: it clarifies that the edit link is not accepted and that title/notes are user-authored text, which is useful provenance context for downstream handling.

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 tightly written sentences, front-loaded with the return payload and identifier forms, with the read-only and identifier constraints immediately after. No filler and no repetition.

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 two-parameter, read-only lookup with a full output schema, the description supplies everything an agent needs: accepted input, excluded input, and the nature of the returned content. No meaningful gap remains.

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% and the description merely echoes the accepted identifier forms already documented in the schema ('share link, or the share id at the end of it'). The implicit market default is not elaborated beyond what the schema states.

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?

Specific verb (Returns) plus resource (a Plendio wishlist) with the accepted identifier forms and a full enumeration of the returned payload (title, items with notes and prices, product page urls). This clearly separates it from siblings like create_wishlist and add_to_wishlist.

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?

Establishes the read-only retrieval context and explicitly excludes the edit link as input, which routes the caller to the share link/id. It does not name alternative siblings or state when to prefer this over e.g. get_product, so it stops short of full routing guidance.

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

list_categoriesList categoriesA
Read-onlyIdempotent
Inspect

Returns Plendio's product categories with localized names, slugs and product counts: the top level, or the subcategories of parent. The counts are products available in the market.

ParametersJSON Schema
NameRequiredDescriptionDefault
marketNoMarket: dk, se, de or no. Default: the market of the site you connected to.
parentNoCategory path or slug whose subcategories to return. Omit for the top level.

Output Schema

ParametersJSON Schema
NameRequiredDescription
notesNo
marketYes
parentNoPath of the category whose children these are; absent for the top level.
languageYesLanguage the names are in.
categoriesYes
parent_nameNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safe-read profile is covered. The description adds useful scope context — that counts reflect products available in the given market — but says nothing about result size, hierarchy depth, or pagination behavior.

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?

A single well-constructed sentence that front-loads the resource and what it returns. It is slightly dense, packing the parent-mode behavior into the same sentence, but there is no wasted text.

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?

With only two optional parameters, full schema coverage, and an output schema handling the return shape, the description is nearly sufficient for correct invocation. The one remaining gap is result-set size/ordering behavior, which is minor.

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 (market, parent) are already documented with enum values and defaults in the schema. The description restates the parent/top-level semantics without adding format or edge-case detail, so the baseline 3 applies.

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 ('Returns Plendio's product categories') and enumerates what each item contains (localized names, slugs, product counts), so the agent knows exactly what this retrieves. It does not explicitly distinguish itself from siblings like get_product or search_products, but the category-listing purpose is unambiguous.

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?

The clause 'the top level, or the subcategories of parent' implies when each mode applies, and the 'Omit for the top level' behavior signals the default. There is no explicit when-to-use guidance or routing against the sibling product tools, so usage is only implied.

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

remove_from_wishlistRemove products from a wishlistA
DestructiveIdempotent
Inspect

Removes products from a wishlist, given its edit link or the token at the end of it. A product that is not on the list is reported and ignored. Removing a product does not delete the list, even when it becomes empty, and a removed product can be added again. Returns the list's remaining items.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesThe products to remove: 1 to 50.
marketNoMarket for the urls in the answer: dk, se, de or no. Default: the market the list was made for.
edit_tokenYesThe wishlist's edit link as returned when it was created, or just the token at the end of it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
addedNoProduct ids put on the list.
itemsYes
notesNo
titleYesThe list's name, written by whoever made it.
marketYes
removedNoProduct ids taken off the list.
currencyNoCurrency of total_from.
share_urlYesThe list's page on Plendio, read-only.
item_countYes
not_storedNoProducts that could not be added, with the reason.
total_fromNoSum of price_from over the available items; absent when their currencies differ or none has a price.
not_on_listNoProduct ids that were not on the list.
already_on_listNoProduct ids that were already on the list (their note was updated).

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructive=true, idempotent=true, and openWorld=true, so the safety profile is covered. The description still adds real value beyond them: non-member products are reported and ignored, an emptied list is not deleted, and removed products can be re-added.

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?

Four short sentences, front-loaded with the action and identity mechanism, followed by behavioral caveats. No sentence is filler; each carries a distinct fact.

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?

An output schema exists, so the return values need not be spelled out, yet the description still notes that remaining items are returned. Combined with the caveats about empty lists and re-adds, an agent has everything needed to call this mutation correctly.

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 edit_token, items, and market fully. The description only adds a light restatement that edit_token may be a full edit link or the trailing token, which the schema also covers. 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?

States a specific verb (Removes) and resource (products from a wishlist) plus the identity mechanism (edit link or trailing token). This is unambiguously distinguishable from siblings like add_to_wishlist, create_wishlist, and get_wishlist.

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 by the resource and by the paired add_to_wishlist sibling, but the description never states when to reach for this tool versus add_to_wishlist or get_wishlist, nor any prerequisite conditions. Adequate but leaves routing to inference.

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

search_productsSearch productsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON 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

ParametersJSON Schema
NameRequiredDescription
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.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive behavior, and the description adds real operational context beyond them: results are restricted to shops that ship to the market unless include_other_markets is true, and pagination is fixed at 24. It still doesn't hint at ranking behavior beyond the sort enum, but the added constraints are substantive.

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?

Four sentences, front-loaded with purpose before the market/pagination caveats. Every sentence carries information, though the result-shape sentence slightly overlaps with what the output schema provides.

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?

With 11 parameters all documented, an output schema covering return values, and annotations covering safety, the description fills the remaining gaps (market-shipping restriction, page size, query interpretation) without redundancy.

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 coverage is 100% so the baseline is 3, but the description adds meaning the schema does not: spec words in the query (RAM, storage, price limits, in stock) are interpreted the way the Plendio site interprets them, and the multi-language query framing clarifies the query field's intent.

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 and resource ('Search Plendio's product catalogue') and immediately scopes it as free-text across five languages with optional filters. An agent can distinguish this from get_product (single retrieval), compare_prices, and list_categories without opening any schema.

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?

Gives clear context for when the tool applies — free-text queries with embedded specs plus optional filters — and the example queries illustrate the intended input style. It does not explicitly name when to prefer a sibling (e.g. get_product for a known product), so it stops short of full when/when-not guidance.

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
    • Addedadd_to_wishlist
    • Addedcreate_wishlist
    • Addedget_wishlist
    • Addedremove_from_wishlist
  2. 1 tool update
    • Changedsearch_products1 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. 1 tool update
    • Changedcompare_prices1 field changed
      • addedOutput schema / properties / price_history
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "average": {
        +      "type": "number"
        +    },
        +    "currency": {
        +      "type": "string"
        +    },
        +    "current": {
        +      "description": "Cheapest price now; absent when nobody sells it.",
        +      "type": [
        +        "null",
        +        "number"
        +      ]
        +    },
        +    "days": {
        +      "description": "Length of the recorded history in days (at most 365).",
        +      "type": "integer"
        +    },
        +    "highest": {
        +      "type": "number"
        +    },
        +    "lowest": {
        +      "type": "number"
        +    },
        +    "scope": {
        +      "description": "What the history covers.",
        +      "type": "string"
        +    },
        +    "since": {
        +      "description": "First day of the recorded history (YYYY-MM-DD).",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "currency",
        +    "lowest",
        +    "average",
        +    "highest",
        +    "since",
        +    "days",
        +    "scope"
        +  ],
        +  "type": [
        +    "null",
        +    "object"
        +  ]
        +}
  4. 4 tool updates
    • First observedcompare_prices
    • First observedget_product
    • First observedlist_categories
    • First observedsearch_products

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables product search, price comparison, and price history analysis across 6 European marketplaces (DE, AT, GB, FR, IT, ES).
    19
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to search and compare live prices from Finnish marketplaces (Hinta.fi, Tori.fi, Huuto.net) for new and used products like electronics, furniture, and more.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables searching and comparing product prices across major Indian quick-commerce and e-commerce platforms, ranking results by landed price, returning product links, storing price history, and providing 15–30 day price direction forecasts with best-buy recommendations.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources