Skip to main content
Glama

Server Details

Product search over independent US stores, with whether an AI agent can check out at each

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.5/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a distinct entity and action: search_products finds products across stores, get_offer re-checks a single offer's live price/stock, and get_store returns store metadata. There is no overlap in purpose or output, so an agent can select correctly without hesitation.

Naming Consistency5/5

All three names follow a clean snake_case verb_noun pattern (get_offer, get_store, search_products). The verbs accurately reflect read-only retrieval semantics and are consistent across the set.

Tool Count4/5

Three tools is on the lean side but each maps to a real step in the product-discovery workflow (search, inspect offer, vet store). It is slightly under-scoped rather than bloated, which is the better failure mode.

Completeness3/5

The search -> get_offer -> get_store flow covers discovery and price verification, but there are notable gaps: no way to list or browse stores directly, no bulk offer refresh, and no tool corresponding to the 'AI agent can check out' capability the store data advertises. Agents can work around some of this by searching, but not all.

Available Tools

3 tools
get_offerRe-check an offerA
Read-only
Inspect

Re-check one offer's price and stock with the store right now, and return it.

NameRequiredDescriptionDefault
offer_idYesThe id from search_products, e.g. 'candlewic.com/10001660'

Output Schema

NameRequiredDescription
idYesPass to get_offer: store domain / product id
skuNo
urlYesThe product page at the store
liveNoTrue when the price was re-checked for this call
nameYes
brandNo
imageNo
priceYesLowest price an agent can pay, USD
storeYes
currencyYes
in_stockYes
price_maxNoHighest variant price, when it differs
categoriesYes
price_checked_atYesWhen the price came from the store (UTC)
matched_all_wordsNoIn search results: false when the offer matches only some query words

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety is covered; the description's contribution is the 'right now' live-fetch framing, which tells the agent results are fetched fresh rather than cached. It says nothing about failure modes (store unreachable, offer delisted) or latency, which matter for an open-world call — a meaningful remaining gap but not a contradiction.

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

Conciseness5/5

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

A single front-loaded sentence with the action and resource first and the freshness qualifier second. Nothing is redundant or padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a full output schema present, return values need no explanation, and the single required parameter is fully documented by the schema. What remains thin is behavioral coverage around a live external fetch — error conditions and whether a failed re-check returns stale data or an error.

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?

One parameter at 100% schema description coverage, so the schema already explains offer_id and even its origin in search_products. The description adds no syntax, format, or constraint information beyond that, which is the expected baseline case rather than a strength.

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?

Specific verb+resource: 'Re-check one offer's price and stock' names exactly what is fetched and that it is a single offer. It stops short of explicitly distinguishing itself from search_products or get_store in the prose, though the schema's offer_id reference ('The id from search_products') does that work.

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?

'Re-check ... right now' implies the use case (refreshing a stale offer) rather than stating it, and no alternative is named. An agent can infer when to reach for this over search_products, but the description never says so and offers no exclusions or preconditions.

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

get_storeLook up a storeB
Read-only
Inspect

What Botsket knows about a store, including whether an AI agent can check out there.

NameRequiredDescriptionDefault
domainYesStore domain, e.g. 'candlewic.com'

Output Schema

NameRequiredDescription
urlYes
nameYes
pageYes
domainYes
productsYes
blocks_agentsYesShopping agents the store turns away
agent_checkoutYes
catalog_crawled_atYes
agent_checkout_noteYes
agent_checkout_meaningYes
agent_checkout_tested_atYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds useful context about the agent-checkout attribute being included in the response, but says nothing about behavior for unknown domains, lookup failures, or freshness of the data.

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

Conciseness5/5

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

A single front-loaded sentence with no filler or repetition. Every clause carries information, notably the checkout-capability hint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be described, and there is only one simple parameter. Still, 'what Botsket knows' is left undefined, leaving the agent unsure whether the response supports downstream decisions without an extra call.

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% and the single 'domain' parameter already carries a concrete example ('candlewic.com'). The description adds no additional semantics about the domain input (format normalization, subdomains, URL vs bare host), so baseline 3 applies.

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

Purpose3/5

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

The description identifies the resource (a store) and one concrete payload element ('whether an AI agent can check out there'), making the intent reasonably clear. However, 'What Botsket knows about a store' is vague about what data is actually returned, and it never distinguishes this tool from get_offer or search_products.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus siblings like get_offer or search_products, and no prerequisites or exclusions. Usage is only inferable from the tool name and the mention of agent checkout capability.

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

search_productsSearch productsB
Read-only
Inspect

Search products across independent US stores. At most three offers per store.

NameRequiredDescriptionDefault
sortNorelevance
limitNo
queryYesWhat to look for, e.g. 'beeswax tealight wicks'
max_priceNoHighest price in USD
min_priceNoLowest price in USD
in_stock_onlyNo
agent_checkoutNo'not_blocked' drops stores where our test agent could not reach the card form; 'clean' keeps only stores where it went through cleanlyany

Output Schema

NameRequiredDescription
countYes
queryYes
offersYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), so the description's job is additive context, and it delivers two non-obvious facts: the store corpus is US independent stores, and results are capped at three offers per store. It omits other behavioral detail such as the default in-stock filtering and the price-sort trade-offs, but what it adds is genuinely beyond the structured fields.

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?

Two sentences, twelve words, with the scope and the result cap front-loaded and no filler. It is efficient, though so terse that a couple more words clarifying what an 'offer' is would have cost nothing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With seven parameters, an output schema, and annotations, the description covers the basics but leaves a real ambiguity: whether the 'limit' parameter counts products or offers, and how the three-offers-per-store cap interacts with it. The in-stock default and price bounds are undocumented in the description, so an agent must read the schema closely.

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 57%, and the description contributes nothing to parameter meaning. Fortunately the ambiguous parameters (query, min/max price, agent_checkout) carry solid schema descriptions, while the undocumented ones (sort, limit, in_stock_only) are conventional and enum/default-constrained, so the 3 baseline is defensible.

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 products') plus a scope ('across independent US stores'), which is enough to distinguish it from the single-entity lookups get_offer and get_store without opening a schema. It stops short of explicitly naming those siblings as the alternative for direct lookups.

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

Usage Guidelines2/5

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

There is no statement of when to use this versus get_offer/get_store, no prerequisites, and no exclusions. The only constraints given ('independent US stores', 'at most three offers per store') describe the corpus and result shape, not invocation guidance, so the agent must infer usage from the name alone.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • First observedget_offer
    • First observedget_store
    • First observedsearch_products

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources