CenuFiltrs Price Comparison
Server Details
Compare prices across Latvian online retailers: offers, price history and wishlists.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.9/5 across 22 of 22 tools scored. Lowest: 3.3/5.
Several tools have overlapping purposes, particularly cf_category_hierarchy vs cf_list_categories (both provide category taxonomy paths) and cf_search_offers vs cf_list_offers (both return offers). Descriptions help, but the boundaries between category-related tools and offer listing/search could confuse an agent.
All tool names follow a consistent cf_ verb_noun snake_case pattern (e.g., cf_add_wish, cf_list_retailers, cf_search_offers). The convention is uniform and predictable, making it easy to infer tool behavior from the name.
With 22 tools, the server covers a broad domain but is slightly heavy. The count is reasonable for a price-comparison service with search, product, price, retailer, user, and comment functionality, though it exceeds the typical ideal range.
The toolset provides solid coverage of the price-comparison domain: search, categories, offers, products, retailers, price history/summary, deal analysis, wishlist, comments/reviews, and user search history. Minor gaps exist (e.g., no product-specific reviews, no comment edit/delete), but core workflows are fully supported.
Available Tools
22 toolscf_add_wishAdd to CenuFiltrs WishlistAInspect
Add a product or offer to wishlist/bookmarks. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| offer_id | No | Offer UUID to bookmark | |
| product_id | No | Product UUID to bookmark |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a mutating operation (readOnlyHint: false). The description adds 'Requires authentication,' which is a useful behavioral note, but beyond that it does not disclose edge cases such as what happens when neither parameter is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the action and the auth requirement with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, and the schema plus auth note cover basics, but the description does not clarify that at least one of the two optional parameters should be provided, despite saying 'a product or offer.' No output behavior is described (though no output schema exists).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for both offer_id and product_id. The description's phrase 'product or offer' simply mirrors the schema, adding no new semantic meaning for the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Add' and identifies the target resource ('product or offer') and destination ('wishlist/bookmarks'), making the tool's purpose immediately clear and distinguishing it from sibling cf_remove_wish.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides only an authentication prerequisite, implying usage but not explicitly stating when to use this tool versus alternatives like cf_remove_wish or cf_list_wishes. No exclusions or alternative tool references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_category_hierarchyGet CenuFiltrs Category TreeARead-onlyIdempotentInspect
Get the full category tree with taxonomy path values. Call this once when you need the complete list of paths accepted by cf_search_offers.categories.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| categories | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds valuable context about the output (full category tree with taxonomy path values) and the recommendation to call it once, which helps the agent understand the tool's behavior beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, each earning its place. The first states what the tool does, the second explains when to use it. No fluff or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (zero params, output schema present), the description is complete. It explains the return value (full category tree with taxonomy paths) and the specific use case (feeding cf_search_offers.categories), which covers all necessary context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is 100%, so the schema fully defines the input. With 0 params, the baseline is 4, and the description adds no parameter confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('full category tree with taxonomy path values'), and it clearly distinguishes itself from sibling tools by stating it provides the complete list of paths accepted by cf_search_offers.categories. This is a precise and non-tautological statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Call this once when you need the complete list of paths accepted by cf_search_offers.categories,' giving a clear context and trigger. It does not mention alternatives or exclusions, but the stated use case is sufficient for the intended scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_create_commentPost CenuFiltrs CommentAInspect
Post a comment on a product, offer, or retailer. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Comment text | |
| offer_id | No | Offer UUID to comment on | |
| product_id | No | Product UUID to comment on | |
| retailer_id | No | Retailer UUID to comment on | |
| parent_comment_id | No | Parent comment UUID (for replies) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, and the description adds the authentication requirement. However, it does not disclose what happens after posting (e.g., whether the comment is immediately visible, any moderation, or side effects). With all annotations false, the description provides only minimal behavioral context beyond the obvious write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and target. No wasted words, and the authentication note is essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 optional parameters (only content is required), but the description does not explain that at least one target ID should be provided, nor does it describe the return value or error conditions. Given no output schema, this leaves the agent with some uncertainty, though the schema partially compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter having a clear description (e.g., 'Offer UUID to comment on'). The tool description does not add additional parameter semantics beyond repeating the target types, so it relies on the schema, which is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Post a comment') and the target resources ('product, offer, or retailer'), distinguishing it from sibling tools like cf_list_comments which list comments. It is specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (when posting a comment) and highlights the authentication requirement. It does not explicitly mention alternatives or exclusions, but none are needed for this straightforward create operation; siblings are mostly read/list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_deal_analysisAnalyze CenuFiltrs DealARead-onlyIdempotentInspect
Analyze if current price is a good deal: score, trend, comparison with historical prices.
| Name | Required | Description | Default |
|---|---|---|---|
| productId | Yes | Product UUID to analyze |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. The description adds that it provides a score, trend, and comparison with historical prices, which is useful output context but not deep behavioral detail (e.g., data sources, performance). This is consistent with annotations, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that directly conveys the tool's purpose and core outputs. Every word earns its place; there is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter, read-only tool with rich annotations, the description provides adequate context by listing the key output components (score, trend, comparison). However, with no output schema, a bit more detail on the exact return format or data granularity could enhance completeness, but it is not critical given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with productId described as 'Product UUID to analyze.' The tool description does not add additional parameter semantics beyond the schema. Since the schema already explains the parameter, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: analyzing whether the current price is a good deal. It mentions specific outputs (score, trend, comparison with historical prices) and uses a distinct verb ('Analyze') with a specific resource (current price). This distinguishes it from siblings like cf_price_history or cf_price_summary, which focus on raw data rather than judgment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when a deal analysis is needed) but does not explicitly mention alternatives or exclusions. Unlike the calibration example where an alternative tool was named, there is no guidance like 'use cf_price_history for raw historical data.' The context is clear but lacks explicit disambiguation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_get_productGet CenuFiltrs Product DetailsARead-onlyIdempotentInspect
Get detailed product information including offers, prices, and attributes.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product UUID |
Tool Definition Quality
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 safety profile is covered. The description adds value by specifying the content returned (offers, prices, attributes), which is helpful context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly states the tool's purpose. No wasted words, perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, rich annotations), the description is adequate. It explains what the tool does and what data it returns. It could mention possible absence or errors, but for a get-by-id operation this is not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the only parameter 'id' is described as 'Product UUID'. The description does not add additional parameter semantics, but baseline is 3 when the schema already documents the parameter fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get detailed product information including offers, prices, and attributes.' It uses a specific verb ('Get') and resource ('product'), and distinguishes itself from sibling tools like cf_list_products (which lists products) and cf_get_retailer (which gets retailer details).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is used for retrieving a single product's details, contrasting with list tools like cf_list_products. It provides clear context (single product lookup) but does not explicitly state exclusions or alternative tools, so no explicit 'when-not' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_get_retailerGet CenuFiltrs Retailer DetailsARead-onlyIdempotentInspect
Get detailed information about a specific retailer.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Retailer UUID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, fully covering the safety profile. The description adds no additional behavioral context beyond 'detailed information,' which is vague. There is no mention of what data is returned, edge cases, or any constraints, but the annotations carry most of the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant filler. Every word earns its place, and the length is appropriate for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-id tool with one parameter and full annotation coverage, the description is minimally adequate. However, the lack of an output schema means the term 'detailed information' is left undefined—the agent does not know what fields will be returned. This is a clear gap, though not severe for such a straightforward operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides 100% coverage for the single parameter 'id' with description 'Retailer UUID'. The description adds no additional meaning about the parameter beyond what the schema already states, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('detailed information about a specific retailer'), making it immediately obvious what the tool does. The word 'specific' distinguishes it from sibling tools like cf_list_retailers, which likely returns a collection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (retrieve details for a known retailer ID) but does not explicitly state when to use this tool versus alternatives. No exclusions or alternatives are mentioned, so the guidance is only implied by the word 'specific' and the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_list_categoriesList CenuFiltrs CategoriesARead-onlyIdempotentInspect
List all product categories with their taxonomy path. Use a path (e.g. "communication.smartphones") as the cf_search_offers.categories filter value.
| Name | Required | Description | Default |
|---|---|---|---|
| active_only | No | Only show active categories |
Output Schema
| Name | Required | Description |
|---|---|---|
| categories | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare the tool as read-only, idempotent, and non-destructive, covering the safety profile. The description adds the behavioral detail that the output includes taxonomy paths and that it lists all categories by default, but no further edge-case behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core purpose and a practical usage tip. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a complete schema, annotations, and an output schema, the description is adequate for invocation. It includes a cross-tool usage note that enhances completeness, though it could have briefly differentiated from category-search siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter `active_only` is fully described in the schema, so the baseline is 3. The description's mention of 'List all' implicitly indicates that the default list includes all categories, but it doesn't elaborate on the filter behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' and identifies the resource as 'all product categories' with their taxonomy path. The word 'all' differentiates it from search-based category tools, though it doesn't explicitly name sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear downstream use case: the returned path values serve as filters for cf_search_offers.categories. However, it does not explicitly state when to prefer this tool over cf_search_categories or cf_category_hierarchy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_list_commentsList CenuFiltrs CommentsARead-onlyIdempotentInspect
Get comments for a product, offer, or retailer.
| Name | Required | Description | Default |
|---|---|---|---|
| offer_id | No | Filter by offer UUID | |
| product_id | No | Filter by product UUID | |
| retailer_id | No | Filter by retailer UUID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds no additional behavioral context, such as return format, pagination, or that no parameters returns all comments. It neither contradicts nor enriches the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that conveys the essential purpose without unnecessary words. It is front-loaded and immediately understandable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with three optional filters and no output schema, the description provides the core purpose but omits important context such as the behavior when no filter is provided (returns all comments?) and whether filters can be combined. The annotations cover safety, but the description leaves some usage ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter having a clear 'Filter by X UUID' description. The description's mention of 'product, offer, or retailer' simply restates the schema filters without adding new meaning, so it stays at the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') with a clear resource ('comments') and explicitly names the three filter targets (product, offer, retailer). This distinguishes it from sibling tools like cf_create_comment, which creates comments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you need comments for a product/offer/retailer), but provides no explicit guidance on when not to use it or how it differs from alternatives like cf_list_reviews. There is no mention of exclusions or alternative tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_list_offersList CenuFiltrs OffersARead-onlyIdempotentInspect
List offers with filtering by product or retailer. Shows prices across stores.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| sort | No | Sort field | |
| limit | No | Results per page | |
| order | No | Sort order | |
| productId | No | Filter by product UUID | |
| retailerId | No | Filter by retailer UUID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds that prices across stores are shown, which is useful, but does not disclose pagination behavior or result limits beyond what schema parameters imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences front-load the action ('List offers') and provide essential scope with zero wasted words. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with 6 optional params, strong annotations, and no output schema, the description adequately covers purpose and basic behavior. It is missing explicit guidance on pagination/sorting usage, though those are documented in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all 6 parameters with descriptions, so baseline is 3. The description adds the context that productId and retailerId are the filtering dimensions, but this is already implied by the schema's 'Filter by...' field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists offers and supports filtering by product or retailer, with 'Shows prices across stores' adding scope. It is specific verb+resource, though it does not explicitly distinguish itself from sibling cf_search_offers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing and filtering offers but provides no explicit when-to-use guidance or alternatives. Sibling tools like cf_search_offers are not mentioned, leaving the decision to the agent based on context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_list_productsList CenuFiltrs ProductsARead-onlyIdempotentInspect
List products from the catalog with pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| limit | No | Products per page |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, open-world, and non-destructive behavior. The description adds the pagination behavior, which is useful context beyond annotations, but it does not elaborate on response structure, page iteration, or potential data limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundancy. It efficiently communicates the tool's purpose and pagination feature without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with two well-documented parameters and comprehensive annotations, the description is largely sufficient. However, the absence of an output schema and lack of detail about returned product fields or pagination metadata leave minor gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents both page and limit with descriptions. The description's mention of 'pagination' aligns with these parameters but adds little value beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('list') and resource ('products from the catalog'), and mentions pagination as a key feature. This clearly distinguishes it from sibling tools like cf_list_categories or cf_list_offers, which list different resource types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need to browse products, but it does not explicitly state when to use this tool over alternatives like cf_get_product for a single product or cf_search_offers for search-based discovery. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_list_retailersList CenuFiltrs RetailersARead-onlyIdempotentInspect
List all retailers (stores) available on cenufiltrs.lv.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| limit | No | Retailers per page |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint as true, covering the safety profile. The description adds the domain and 'all' scope but provides no additional behavioral details such as pagination behavior, response structure, or rate limits. With annotations present, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. It earns its place efficiently and is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple paginated list tool with well-documented parameters and robust annotations, the description is sufficient to convey the core purpose. It does not explicitly mention pagination, but the schema parameters make that evident. Minor gap but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: both 'page' and 'limit' have descriptions in the schema. The description itself does not add any parameter-specific meaning beyond what the schema already provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List'), the resource ('retailers'), and the scope ('all' on cenufiltrs.lv). This distinguishes it from sibling tools like cf_get_retailer, which presumably retrieves a single retailer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when a list of all retailers is needed) but does not explicitly contrast it with alternatives or state when not to use it. There is no mention of cf_get_retailer for single-retailer lookups or any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_list_reviewsList CenuFiltrs Retailer ReviewsARead-onlyIdempotentInspect
Get reviews for a retailer. Shows ratings and customer feedback.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| sort | No | Sort order | |
| limit | No | Reviews per page | |
| retailerId | Yes | Retailer UUID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, establishing the safety profile. The description adds that it 'Shows ratings and customer feedback,' which gives a hint about the response content. However, it does not describe pagination, sorting, or any other behavioral traits, which the schema already covers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise: two short sentences, 'Get reviews for a retailer.' and 'Shows ratings and customer feedback.' It is front-loaded with the key action and provides a brief output preview without any filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description covers the core purpose and output content. It does not describe the return format in detail, but no output schema exists and the schema already documents pagination and sorting. With read-only annotations and full schema descriptions, the description is adequately complete for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all four parameters (retailerId, page, sort, limit). The description does not add any parameter-specific meaning beyond what is in the schema. The baseline of 3 is appropriate since the schema carries the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get reviews for a retailer.' It uses a specific verb ('Get') and resource ('reviews'), and the title 'List CenuFiltrs Retailer Reviews' reinforces this. Among sibling tools like cf_list_comments or cf_list_offers, this uniquely targets reviews, making it easily distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given on when to use this tool versus alternatives. The description simply states what it does, and the name implies it is for reviews. However, it does not mention when not to use it or how it differs from other list tools, such as cf_list_comments or cf_list_offers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_list_wishesList CenuFiltrs WishlistARead-onlyIdempotentInspect
List user's wishlist/bookmarks. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| limit | No | Items per page | |
| offer_id | No | Filter by offer UUID | |
| product_id | No | Filter by product UUID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as readOnly and non-destructive, so the safety profile is clear. The description adds the important behavioral requirement of authentication and clarifies the resource type (wishlist/bookmarks), providing value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tight sentence that states the purpose and the key prerequisite without any extraneous words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with complete parameter schema and safety annotations, the description is nearly complete. It covers purpose and auth, though it could explicitly state that it returns the authenticated user's own wishlist, but this is strongly implied by 'user's' and 'Requires authentication'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters are fully described in the schema with clear meanings (pagination, offer/product filters), so the schema carries the semantic weight. The description adds no additional parameter context, resulting in a baseline score of 3 as per the high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and target ('user's wishlist/bookmarks'), which is specific and distinct from sibling tools like cf_add_wish and cf_remove_wish. It immediately conveys this is a read-only listing operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (when you need to view the wishlist) and includes a prerequisite ('Requires authentication'), but it does not explicitly contrast with alternatives like cf_add_wish or cf_remove_wish, nor does it state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_popular_searchesGet CenuFiltrs Popular SearchesBRead-onlyIdempotentInspect
Get user's most popular/frequent searches. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the useful context that authentication is required, but does not explain aggregation logic or output behavior beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no redundancy: a clear purpose statement followed by a necessary authentication note. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one optional parameter and strong annotations, the description covers the essentials: what it retrieves and the auth requirement. However, it does not describe the return format or how 'popular/frequent' is determined, which would be useful given there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully describes the only parameter 'limit' with default, min, max, and a description ('Number of results'). The tool description adds no additional parameter-level meaning, so the baseline applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('user's most popular/frequent searches'), making the tool's purpose clear. It does not explicitly differentiate from related siblings like cf_search_history or cf_render_search_results, but the 'popular/frequent' qualifier distinguishes it from a raw history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is 'Requires authentication,' which is a prerequisite rather than when-to-use guidance. There is no mention of when to choose this tool over alternatives such as cf_search_history or cf_render_search_results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_price_historyGet CenuFiltrs Price HistoryBRead-onlyIdempotentInspect
Get price history for a product over a period (up to 365 days, when records are available). Shows price trends over time.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Number of days to look back | |
| productId | Yes | Product UUID | |
| retailerId | No | Filter by specific retailer |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds context about data availability ('when records are available') and the output nature ('Shows price trends over time'), which goes beyond the annotations. However, it lacks details on return format or pagination, which would make it richer. With annotations covering safety, this is an adequate but not exceptional contribution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the primary verb and resource. Every phrase earns its place: the period limit, data availability caveat, and the output trend hint. No fluff or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with low complexity (3 params, no output schema), the description covers the core purpose, constraints, and availability caveat. It doesn't mention the optional retailerId filter, but the schema already documents that. The output type ('price trends') is implicit but not fully specified, which is acceptable given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter coverage with clear descriptions for all three parameters (days, productId, retailerId). The description reinforces the 'days' limit (up to 365 days) but does not add new semantic meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('price history') with a clear scope: a product over a period up to 365 days. It clearly conveys that the tool returns historical price data, showing price trends. However, it does not explicitly distinguish itself from the sibling cf_price_summary, so it misses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like cf_price_summary or other product/offer tools. It does not mention any exclusions or preferred scenarios, leaving the agent to infer usage from the tool name and context. This is a significant gap for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_price_summaryGet CenuFiltrs Price SummaryARead-onlyIdempotentInspect
Get price summary for a product: min/max/avg prices across all retailers.
| Name | Required | Description | Default |
|---|---|---|---|
| productId | Yes | Product UUID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, establishing the safety profile. The description adds useful context by specifying the aggregation behavior ('across all retailers') and the summary metrics (min/max/avg), going beyond what annotations alone convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that gets straight to the point, stating the operation and key details without any redundancy. It is concise and front-loaded, earning 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description sufficiently covers the return value (min/max/avg prices) and scope (across all retailers). It does not explain the response shape or handling of missing products, but for a simple read-only summary, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers productId with a description ('Product UUID') and full schema coverage (100%). The description adds that the summary is 'for a product', which aligns with the parameter but does not provide additional semantic detail beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get price summary for a product: min/max/avg prices across all retailers.' It identifies the resource (product), the action (get summary), and specific output metrics (min/max/avg), distinguishing it from sibling tools like price history or deal analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a use case (getting an aggregated price overview) but does not explicitly state when to use this tool versus alternatives like cf_price_history or cf_list_offers. No exclusions or alternative references are given, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_remove_wishRemove from CenuFiltrs WishlistADestructiveIdempotentInspect
Remove an item from wishlist/bookmarks. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Wish entry UUID to remove |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, and readOnlyHint=false. The description adds that authentication is required, which is useful but not extensive. It does not contradict annotations, but it doesn't disclose additional behavioral details like permanence or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, immediately stating the action and the single prerequisite. There is no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter removal tool with annotations covering destructiveness and idempotence, the description provides the core function and auth requirement. However, it could mention how to get the id (e.g., from cf_list_wishes) or what response to expect, and it lacks any elaboration on edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for the 'id' parameter ('Wish entry UUID to remove'), so the description doesn't need to add parameter details. However, it also doesn't add any extra parameter context such as how to obtain the UUID or whether it accepts non-UUID identifiers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Remove' with the resource 'wishlist/bookmarks', clearly distinguishing it from sibling tools like cf_add_wish and cf_list_wishes. It also clarifies the scope as items rather than the whole list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a prerequisite (authentication) but does not explicitly state when to use this tool versus alternatives like cf_add_wish or cf_list_wishes. The usage is implied from the verb and resource, but there are no explicit context or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_render_search_resultsRender CenuFiltrs Search ResultsARead-onlyIdempotentInspect
Turn a canonical cf_search_offers structured response into a compact branded CenuFiltrs HTML resource for MCP hosts that support component rendering.
| Name | Required | Description | Default |
|---|---|---|---|
| response | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| renderId | Yes | |
| expiresAt | Yes | |
| renderTool | Yes | |
| resourceUri | Yes | |
| schemaVersion | Yes | |
| resourceMimeType | Yes | |
| resourceTtlSeconds | Yes |
Tool Definition Quality
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 safety profile is fully covered. The description adds valuable context beyond annotations by specifying the output is a compact branded HTML resource and that it targets component-rendering-capable hosts, clarifying the tool's transformation behavior and environment requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that includes the input, output, and target capability. Every word contributes meaningful information without redundancy or fluff. It is appropriately sized and immediately front-loads the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a transformer with a complex input schema, but the description clearly states the input source, output type, and host requirement. An output schema exists, so return values are covered by structured data. The only minor gap is not mentioning explicit prerequisites or fallback behavior for unsupported hosts, but the description is sufficient for correct invocation in the intended context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It identifies the single parameter 'response' as a 'canonical cf_search_offers structured response', directly linking it to a sibling tool and telling the agent exactly what to pass. This is a strong semantic pointer, though it does not elaborate on the internal structure beyond that reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action: transforming a canonical cf_search_offers structured response into an HTML resource. It names the input source and output format, making the purpose distinct from all sibling tools (e.g., cf_search_offers itself, cf_list_offers). The verb 'Turn' and resource 'branded CenuFiltrs HTML resource' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: after obtaining a cf_search_offers response and when the MCP host supports component rendering. However, it does not explicitly mention alternatives or exclusion criteria, such as what to do if the host does not support component rendering. The context is clear but lacks explicit boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_search_categoriesSearch CenuFiltrs CategoriesARead-onlyIdempotentInspect
Search categories by name and get their taxonomy path. Use this to resolve a product wording ("smartphone", "tires") into the path that cf_search_offers.categories expects.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query for category name | |
| limit | No | Max results |
Output Schema
| Name | Required | Description |
|---|---|---|
| categories | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds behavioral context by explaining the output is a taxonomy path and how it integrates with cf_search_offers, going beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core purpose and immediately followed by a concrete use case. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich annotations, fully documented schema, and presence of an output schema, the description covers the essential workflow purpose and integration with a sibling tool. It is complete for this tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds semantic value by explaining that 'q' can be a product wording like 'smartphone' or 'tires', giving the parameter real-world context beyond the schema's generic 'Search query for category name'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches categories by name and returns their taxonomy path. This distinguishes it from sibling tools like cf_list_categories (listing all) and cf_category_hierarchy (hierarchy), using a specific verb+resource+output pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: to resolve a product wording into a category path for cf_search_offers. It implies when not to use it (e.g., when listing all categories), but does not explicitly name alternative sibling tools, so it falls slightly 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.
cf_search_facetsGet CenuFiltrs Search FacetsARead-onlyIdempotentInspect
Get available search filters (brands, categories, price range) for a query. Each category comes back with the ltree path that cf_search_offers.categories expects. Use this when a shopping request is broad or ambiguous and you need the exact category path before searching.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search query to get facets for | |
| brands | No | Current brand filter | |
| categories | No | Current category filter |
Output Schema
| Name | Required | Description |
|---|---|---|
| links | Yes | |
| query | Yes | |
| facets | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds behavioral context by specifying that facets are query-dependent and that category paths come in ltree format for integration with cf_search_offers. It does not contradict annotations and covers key behavior beyond the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly two sentences, front-loaded with the tool's action and followed by a clear usage rationale. Every word contributes value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has an output schema, and strong annotations. The description covers the essential purpose, integration nuance (ltree), and usage context. It lacks explicit behavior for edge cases like empty queries, but that is likely handled by schema and output schema, so overall completeness is high.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptive parameter descriptions, so the baseline is 3. The description only adds a subtle nuance by calling brands/categories 'current filters,' implying they constrain facets, but this is marginal. No significant extra meaning is provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves search facets (brands, categories, price range) for a query. It explicitly differentiates from siblings by noting the ltree 'path' for cf_search_offers.categories, making its role and output specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an explicit usage trigger: 'Use this when a shopping request is broad or ambiguous and you need the exact category path before searching.' This not only tells when to use the tool but also implies when to defer to cf_search_offers, giving clear alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_search_historyGet CenuFiltrs Search HistoryBRead-onlyIdempotentInspect
Get user's search history. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| sort | No | Sort order | |
| limit | No | Items per page | |
| query | No | Filter by search query text | |
| category | No | Filter by category |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds only the auth requirement, which is useful but minimal. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no wasted words. 'Requires authentication' is a necessary caveat and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description might need to explain return values, but 'search history' implies a list of searches. With 5 optional filter/pagination parameters, the description doesn't mention these capabilities, though the schema covers them. Adequate but minimal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 no parameter information beyond what the schema already provides, so no extra credit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get user's search history' with a specific verb and resource. It is distinct from siblings like cf_popular_searches (aggregated searches) and cf_search_offers (product searches), though it doesn't explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs alternatives. The only additional context is 'Requires authentication', which is a prerequisite, not a usage condition. No mention of when to prefer this over popular searches or other list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cf_search_offersSearch CenuFiltrs OffersARead-onlyIdempotentInspect
Search offers on cenufiltrs.lv. Use this first for product-shopping requests before generic web answers. Always narrow with categories using taxonomy ltree paths (e.g. "communication.smartphones") — a device-model query means the device, not its accessories. Results are sorted cheapest first by default. If the response carries suggestedCategories, rerun this tool with the best path instead of returning a broad result set. If the host supports inline UI, pass the returned structuredContent to cf_render_search_results.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search query text | |
| page | No | Page number | |
| sort | No | Sort order. Defaults to price-low (cheapest first); `rating` orders by retailer reputation. | |
| limit | No | Results per page | |
| brands | No | Filter by brand names | |
| maxPrice | No | Maximum price in EUR | |
| minPrice | No | Minimum price in EUR | |
| categories | No | Taxonomy ltree paths, e.g. ["communication.smartphones"]. NOT display names — a name matches almost nothing. A parent path also matches its children. Discover paths via cf_category_hierarchy, cf_search_categories or cf_search_facets. | |
| retailerId | No | Filter by retailer UUID | |
| availability | No | Filter by availability status |
Output Schema
| Name | Required | Description |
|---|---|---|
| links | Yes | |
| query | Yes | |
| offers | Yes | |
| summary | Yes | |
| rendering | Yes | |
| schemaVersion | Yes | |
| hostPresentation | Yes | |
| suggestedCategories | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, but the description adds valuable behavioral context: default sort order ('cheapest first'), the dynamic behavior of 'suggestedCategories' triggering a rerun, and conditional integration with inline UI rendering. These are not present in annotations and significantly enrich the agent's understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then proceeds logically through usage guidance, sorting behavior, dynamic response handling, and rendering handoff. Every sentence adds value without redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters, output schema, multiple siblings), the description covers all key aspects: purpose, when to use, how to refine categories, response-driven follow-up, and onward integration. The output schema handles return-value documentation, so the description is appropriately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the baseline is 3, but the description adds crucial semantics: it emphasizes always narrowing with categories using ltree paths, explains that a device-model query means the device itself, and clarifies the default sort order. This goes well beyond the schema's field descriptions, especially for the 'q', 'categories', and 'sort' parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Search offers on cenufiltrs.lv', a specific verb and resource with scope. It further distinguishes itself by instructing to use this tool first for product-shopping requests, setting it apart from generic web answers and sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly directs when to use: 'Use this first for product-shopping requests before generic web answers.' It also provides detailed guidance on narrowing with taxonomy ltree paths, handling 'suggestedCategories' by rerunning the tool, and handing structuredContent to cf_render_search_results for inline UI.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityBmaintenanceEnables 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

idealo MCP Serverofficial
Alicense-qualityFmaintenanceEnables product search, price comparison, and price history analysis across 6 European marketplaces (DE, AT, GB, FR, IT, ES).14MIT- AlicenseAqualityDmaintenanceSearches UK electronics products across multiple retailers, compares prices, and provides purchase links.2184MIT
- Flicense-qualityCmaintenanceMonitors and analyzes product prices across major e-commerce platforms (Taobao, JD, PDD, 1688, Amazon) with tools for price alerts, competitor comparison, market trends, and deal detection.