Skip to main content
Glama

Search Result Cards

importio_search_cards

Compact helper for shopping/search result pages: optionally navigate to a URL, then parse rendered HTML into result cards with title, price_text, link, and optional snippet. Returns structured product/search listings without raw HTML, extractData, or action-based extraction. Supports wait_for_selector and max_cards. URL navigation supports managed proxy selection and bounded blocked-page retries. snake_case and camelCase parameter names are equivalent aliases (wait_for_selector / waitForSelector, max_cards / maxCards, include_snippets / includeSnippets); provide either form.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "importio_search_cards"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlNoOptional URL to navigate to before parsing; omit it to parse the current page.
waitNoWait for the page load to settle before parsing.
maxCardsNoAlias of max_cards; provide either form.
max_cardsNoMaximum number of cards returned.
proxy_retryNoBounded blocked-page retry policy for the navigation.
includeSnippetsNoAlias of include_snippets; provide either form.
proxy_selectionNoManaged proxy selection for the navigation; omit it to use the server default.
waitForSelectorNoAlias of wait_for_selector; provide either form.
include_snippetsNoInclude an optional snippet with each card.
wait_for_selectorNoCSS selector that must exist before the page is parsed.

Output Schema

NameRequiredDescriptionDefault
cardsYes
countYes
truncatedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed18 schema fields changed
    • addedInput schema / properties / includeSnippets / description
      Added value: +"Alias of include_snippets; provide either form."
    • addedInput schema / properties / include_snippets / description
      Added value: +"Include an optional snippet with each card."
    • addedInput schema / properties / maxCards / description
      Added value: +"Alias of max_cards; provide either form."
    • addedInput schema / properties / max_cards / description
      Added value: +"Maximum number of cards returned."
    • addedInput schema / properties / proxy_retry / description
      Added value: +"Bounded blocked-page retry policy for the navigation."
    • addedInput schema / properties / proxy_retry / properties / allowResidential
      Added value: +{
      +  "description": "Alias of allow_residential; provide either form.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / proxy_retry / properties / allow_residential / description
      Added value: +"Allow escalation to residential proxies when cheaper pools keep failing."
    • addedInput schema / properties / proxy_retry / properties / enabled / description
      Added value: +"Enable bounded navigation retries with fresh proxy checkouts."
    • addedInput schema / properties / proxy_retry / properties / inferCountry
      Added value: +{
      +  "description": "Alias of infer_country; provide either form.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / proxy_retry / properties / infer_country / description
      Added value: +"Infer the proxy country from the URL when proxy_selection.country is not set."
    • addedInput schema / properties / proxy_retry / properties / maxAttempts
      Added value: +{
      +  "description": "Alias of max_attempts; provide either form.",
      +  "maximum": 3,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / proxy_retry / properties / max_attempts / description
      Added value: +"Maximum navigation attempts including the first (1 to 3)."
    • addedInput schema / properties / proxy_selection / description
      Added value: +"Managed proxy selection for the navigation; omit it to use the server default."
    • addedInput schema / properties / proxy_selection / properties / type / description
      Added value: +"Proxy pool to use."
    • addedInput schema / properties / url / description
      Added value: +"Optional URL to navigate to before parsing; omit it to parse the current page."
    • addedInput schema / properties / wait / description
      Added value: +"Wait for the page load to settle before parsing."
    • addedInput schema / properties / waitForSelector / description
      Added value: +"Alias of wait_for_selector; provide either form."
    • addedInput schema / properties / wait_for_selector / description
      Added value: +"CSS selector that must exist before the page is parsed."
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare openWorldHint=true and destructiveHint=false, but the description adds meaningful behavior beyond them: optional pre-navigation to a URL, managed proxy pool selection, and bounded blocked-page retries with fresh proxy checkouts. It does not cover auth requirements or rate/pagination limits, but the network-behavior disclosure is substantial for a page-parsing tool.

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

Conciseness4/5

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

The purpose and the negative-scope statement are front-loaded, and the description stays within roughly three dense sentences. The alias enumeration sentence is somewhat redundant with the schema's per-field alias notes, so it is efficient but not waste-free.

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?

Given an output schema that already defines the card structure, the description only needs to convey input behavior, and it covers navigation, proxy selection, retry policy, and both sizing/selector parameters. Minor omissions like the boolean wait flag are covered by the schema, so nothing an agent needs to call this correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter and nested proxy field is already documented, making 3 the baseline. The description's alias sentence (snake_case / camelCase equivalence) largely restates what the schema says for each alias pair, though it does usefully surface wait_for_selector and max_cards as the two knobs that matter most.

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

Purpose5/5

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

States a specific verb and output artifact: parse rendered HTML into result cards with title, price_text, link, and optional snippet. It explicitly carves out its niche against siblings by saying it does not return raw HTML, extractData, or do action-based extraction, so an agent can distinguish it from importio_get_html and importio_extract_data from the description alone.

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?

Frames the tool as a compact helper for shopping/search result pages and names the alternatives it replaces (raw HTML, extractData, action-based extraction), which gives clear routing context. It stops short of stating exclusions or prerequisites explicitly (e.g. when a full action flow is required instead), so it is strong but not a complete when/when-not statement.

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