# CenuFiltrs Price Comparison

> Compare prices across Latvian online retailers: offers, price history and wishlists.

- name: lv.cenufiltrs/cenufiltrs
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 91/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/lv.cenufiltrs%2Fcenufiltrs
- tools: https://api.protogrid.dev/v1/servers/lv.cenufiltrs%2Fcenufiltrs/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "cenufiltrs": {
      "type": "http",
      "url": "https://mcp.cenufiltrs.lv/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 85
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% ~updated-65d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 91/100 (strong)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 22 of 22 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 4,865 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 22, about 4,865 tokens to load them all
- tool set hash: 7fb5aa7b5554f84f0b26786b644fe210
- badge: [![protogrid quality](https://protogrid.dev/badge/lv.cenufiltrs/cenufiltrs.svg)](https://protogrid.dev/servers/lv.cenufiltrs/cenufiltrs)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://mcp.cenufiltrs.lv/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (22)

- `cf_add_wish`: Add a product or offer to wishlist/bookmarks. Requires authentication.
- `cf_category_hierarchy`: 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.
- `cf_create_comment`: Post a comment on a product, offer, or retailer. Requires authentication.
- `cf_deal_analysis`: Analyze if current price is a good deal: score, trend, comparison with historical prices.
- `cf_get_product`: Get detailed product information including offers, prices, and attributes.
- `cf_get_retailer`: Get detailed information about a specific retailer.
- `cf_list_categories`: List all product categories with their taxonomy `path`. Use a `path` (e.g. "communication.smartphones") as the cf_search_offers.categories filter value.
- `cf_list_comments`: Get comments for a product, offer, or retailer.
- `cf_list_offers`: List offers with filtering by product or retailer. Shows prices across stores.
- `cf_list_products`: List products from the catalog with pagination.
- `cf_list_retailers`: List all retailers (stores) available on cenufiltrs.lv.
- `cf_list_reviews`: Get reviews for a retailer. Shows ratings and customer feedback.
- `cf_list_wishes`: List user's wishlist/bookmarks. Requires authentication.
- `cf_popular_searches`: Get user's most popular/frequent searches. Requires authentication.
- `cf_price_history`: Get price history for a product over a period (up to 365 days, when records are available). Shows price trends over time.
- `cf_price_summary`: Get price summary for a product: min/max/avg prices across all retailers.
- `cf_remove_wish`: Remove an item from wishlist/bookmarks. Requires authentication.
- `cf_render_search_results`: Turn a canonical cf_search_offers structured response into a compact branded CenuFiltrs HTML resource for MCP hosts that support component rendering.
- `cf_search_categories`: 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.
- `cf_search_facets`: 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.
- `cf_search_history`: Get user's search history. Requires authentication.
- `cf_search_offers`: 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.
