Skip to main content
Glama

Search deals

search_deals
Read-only

Search active (not expired) deals on Pechincha.ai, 10 per page by default (limit up to 25); with query the most relevant come first, without it the newest, unless sort says otherwise. Each result has price and old price in BRL, discount %, store, coupon code if any, publication date, the deal page URL and the product photo URL. Content is Brazilian Portuguese, so search in Portuguese: query matches whole words (and their start: "celular" finds "celulares") plus meaning ("blusa de frio" finds hoodies), so describe the item in a few words, e.g. "moletom de capuz azul"; with 3+ words one may be missing. Accessories that mention the term also match ("notebook" returns backpacks and cables too), so check titles. For a budget ("até R$ 3.000"), pass max_price; for a floor or a range ("entre R$ 100 e R$ 200"), pass min_price too. For seasonal events, gift ideas and niches (Black Friday, Dia das Crianças...), pass theme from list_themes.

Input Schema

NameRequiredDescriptionDefault
pageNo
sortNofeatured: best deals right now (discount, engagement and freshness); cheapest: lowest price first; popular: most viewednewest
limitNoDeals per page, up to 25
queryNoWords describing the item, e.g. "air fryer" or "moletom de capuz azul"
storeNoStore slug from list_stores, e.g. "amazon"
themeNoTheme slug from list_themes, e.g. "black-friday"
categoryNoCategory slug from list_categories
max_priceNoMaximum price in BRL, e.g. 3000
min_priceNoMinimum price in BRL, e.g. 100

Output Schema

NameRequiredDescriptionDefault
pageYes
dealsYes
pagesYes
totalYesActive deals matching the search

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": 10,
      +  "description": "Deals per page, up to 25",
      +  "maximum": 25,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / query / description
      Previous value: -"Text to search, e.g. \"air fryer\""New value: +"Words describing the item, e.g. \"air fryer\" or \"moletom de capuz azul\""
  3. Changed2 schema fields changed
    • addedInput schema / properties / sort
      Added value: +{
      +  "default": "newest",
      +  "description": "featured: best deals right now (discount, engagement and freshness); cheapest: lowest price first; popular: most viewed",
      +  "enum": [
      +    "newest",
      +    "featured",
      +    "cheapest",
      +    "popular"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / theme
      Added value: +{
      +  "description": "Theme slug from list_themes, e.g. \"black-friday\"",
      +  "pattern": "^[a-z0-9][a-z0-9.-]*$",
      +  "type": "string"
      +}
  4. Changed2 schema fields changed
    • addedOutput schema / properties / deals / items / properties / image_url
      Added value: +{
      +  "description": "Product photo",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / deals / items / required
      Previous value: -[
      -  "id",
      -  "title",
      -  "price",
      -  "old_price",
      -  "discount_percent",
      -  "store",
      -  "coupon_code",
      -  "published_at",
      -  "url"
      -]New value: +[
      +  "id",
      +  "title",
      +  "price",
      +  "old_price",
      +  "discount_percent",
      +  "store",
      +  "coupon_code",
      +  "published_at",
      +  "url",
      +  "image_url"
      +]
  5. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered; the description adds real behavioral context beyond that — Portuguese-language content, whole-word plus stem plus semantic matching, possible keyword loss at 3+ words, and accessories matching the term. The enumerated result fields partly duplicate the output schema, which keeps it from a 5.

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 purpose and pagination defaults, then moves to matching semantics and filters in a logical order. Sentences are long and clause-heavy, so a few items (result-field inventory, multiple examples) could be trimmed, but nothing is filler.

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 an output schema present, the description need not explain return values, and it still covers language, matching behavior, ordering rules, pagination, and all filter families. An agent has everything required to call this correctly on the first try.

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

Parameters5/5

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

Schema coverage is high (89%), yet the description still meaningfully extends it: `limit` default of 10 with a 25 cap, `sort` behavior (relevance vs newest unless overridden), `query` matching semantics with worked examples, and the mapping of budget/floor/range phrasing to `max_price`/`min_price`. This is value the schema alone would not convey.

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?

Opens with a specific verb+resource+scope: "Search active (not expired) deals on Pechincha.ai," which immediately separates it from get_deal (single deal), get_similar_deals, and search_guides (guides). The scoping word "active (not expired)" tells the agent exactly which population is returned.

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 concrete operating conditions: relevance ordering with `query`, newest ordering without it, and when to add `theme` (seasonal events, gifts, niches) or price bounds (budget, floor, range), pointing to list_themes as the slug source. It does not explicitly state when to prefer a sibling such as check_product_url or get_deal over this tool, so it stops short of full alternative routing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources