Skip to main content
Glama

Ecommerce Leads

Search stores

searchStores
Read-only

Search the store catalog like the Ecommerce Leads dashboard. Returns 30 rows per page. Stores you have not revealed show masked values for the hidden fields; revealed stores show the real values. By default, each row has storeId, 9 key columns (Industry, Country, revenue, Total Traffic, Google and Meta ad spend, Buying Signals, Buying Signals List, Status) and a short "reveal" object (revealed, contactTypes, pendingTypes). Use the columns argument to choose other columns, or ["*"] for all columns and the full reveal object. The result has the column list only when includeColumns is true. The result has the exact total. If the count fails, the result has totalAtLeast (a lower bound that grows on each page) and a note. Use hasMore to decide whether to fetch the next page, and do not report totalAtLeast as the number of matches. When other active stores use the same base domain, the row has sharedMetrics {basedomain, relatedStoreCount}. Those stores show the same traffic and ad numbers, because the data belongs to the base domain.

Input Schema

NameRequiredDescriptionDefault
tabNoWhich stores to search: all (default), revealed, set:{id} for a signal set, or watchlist:{id} for a watchlist. Free plans can use all and revealed only.
pageNoPage number, starting at 1.
sortNo
columnsNoThe column keys to return in each row. Use ["*"] for all columns. If you omit it, the default set is returned. An unknown key gives an error that lists the valid keys.
filtersNoColumn filters. All filters must match.
includeColumnsNoSet to true to get the column list (key, label, type) in the result. Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only declare readOnly/non-destructive/closed-world; the description adds substantial behavior beyond that: 30 rows per page, masked values for unrevealed stores versus real values for revealed ones, an exact total versus a growing totalAtLeast lower bound with a note, and sharedMetrics rows that reuse base-domain traffic and ad numbers. These are exactly the surprises an agent could otherwise misreport.

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?

Dense but front-loaded: paging, masking, and default row shape come first, then fallbacks. A few clauses about totalAtLeast and the note repeat the same idea, but no sentence is filler given there is no output schema.

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 no output schema, the description fully carries the return contract: default column set, row-level reveal object, optional column list, total versus totalAtLeast, hasMore, and sharedMetrics. That is sufficient for an agent to call it and interpret the response correctly.

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

Parameters4/5

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

Schema coverage is already 83%, so the schema carries most parameter meaning, but the description adds value on the two least self-evident ones: columns with the ["*"] shortcut and the default set, and includeColumns gating whether the column list appears in the result. Page, sort, and filters are left entirely to the schema.

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

Purpose4/5

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

States a specific verb and resource ('Search the store catalog') and anchors it to a concrete reference surface ('like the Ecommerce Leads dashboard'). It implicitly separates itself from lookupStore/exportStores by describing paged, column-selectable catalog search, but never names those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives real operational guidance for consuming results: use hasMore to fetch the next page, do not report totalAtLeast as the match count, and use columns/["*"] to widen the row shape. What it never says is when to choose this over lookupStore, exportStores, or the signal-set/watchlist siblings, so tool selection is left to inference.

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.