Skip to main content
Glama

AirShelf Catalog

Server Details

Cross-vendor B2B catalog for AI agents: search, compare, find equivalents, request a quote.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: search, get detail, compare, explain build trace, list merchants, request quote, and live discovery when catalog fails. No overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, e.g., compare_products, list_merchants, request_quote.

Tool Count5/5

Seven tools cover the core workflows of a product catalog B2B platform without being excessive or insufficient.

Completeness4/5

Includes search, detail, comparison, live discovery, merchant listing, and quote request. Minor gaps like lack of category browsing or catalog management, but these are acceptable for the domain.

Available Tools

7 tools
compare_products
Read-only
Inspect

Compare 2-10 products side-by-side. Use slugs from search_catalog. On not_found the result includes did_you_mean: retry with a suggestion or call search_catalog FIRST before escalating. When asked for the fastest / largest / best of a class, compare the FULL class returned by search_catalog, not just two picks.

Each found item includes canonical_name (cite verbatim) and spec_absence_note (do not assert absent fields).

ParametersJSON Schema
NameRequiredDescriptionDefault
slugsYesCatalog slugs to compare
provenanceNoInclude per-claim source provenance + signed-attestation URL + jwks_url

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
itemsYes
explain_product
Read-only
Inspect

Return the agentic build trace (BuilderRunTrace) for a SKU — every stage of the cold-run pipeline that produced this catalog row, including costs and outcomes.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesComposite slug to explain

Output Schema

ParametersJSON Schema
NameRequiredDescription
skuNo
noteNo
slugNo
traceNo
find_products
Read-only
Inspect

Research + verify in one call: give a buyer NEED (e.g. "best value home espresso machine", market "TH") and get back up to 3 candidate products discovered from live web search, EACH individually verified by a tier-3 live lookup (MPN-confirmed against a fetched source page, or an honest abstention).

Use this when the buyer describes a need without naming a specific product AND the verified catalog (search_catalog) has nothing on-domain (weak_match true / zero results). For a specific brand+model, call search_catalog instead — it is cheaper and returns the same tier3 verification on a miss.

HONESTY CONTRACT (same as tier3): • Every candidate is verification="live-unverified" — a live, single-source answer, NOT AirShelf-verified. Present candidate.source_url alongside every fact; never merge candidates with verified catalog rows. • status="abstain" candidates could NOT be confirmed to exist as named — do NOT invent specs, prices, or availability for them. • Candidates come from current web-search results — they are a sample of the market, not a ranking; do not present them as "the best" options, only as verified-available ones. • status="disabled" / "rate_limited" at the top level means no discovery ran — fall back to search_catalog.

Pass market (ISO 3166-1 alpha-2) whenever the buyer's country is known — it biases discovery AND each verification toward that market's retailers and scopes the lookup cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxNoMax candidates to verify (each costs a live lookup; capped at 3).
needYesThe buyer need in natural language, e.g. "quiet mechanical keyboard for open office" or "best value home espresso machine".
marketNoBuyer market as ISO 3166-1 alpha-2 country code (e.g. "TH"). Biases discovery + verification and scopes the cache.

Output Schema

ParametersJSON Schema
NameRequiredDescription
needNo
errorNo
marketNo
statusNo
took_msNo
guidanceNo
candidatesYes
verificationNo
serp_consideredNo
get_product
Read-only
Inspect

Get full golden-record + latest price for a single catalog product by slug ("-").

In clients that render MCP Apps this response draws a product card the buyer sees, one per call — so call it for the product you are RECOMMENDING, not as a background lookup for every candidate you mention.

canonical_name in the response is the exact product name the judge compares against — cite it verbatim.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesComposite slug, e.g. keychron-q1-pro

Output Schema

ParametersJSON Schema
NameRequiredDescription
titleYes
actionYes
buyUrlNo
productNo
benefitsNo
imageUrlNo
productIdYes
buttonLabelYes
pricing_gatedNo
list_merchants
Read-only
Inspect

List AirShelf merchants — the brands / vendors whose catalogs you can search and request a quote from, across every category (name, slug, product count). Use the returned slug as the merchant argument to request_quote.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
totalNo
merchantsYes
request_quoteInspect

Submit a B2B quote request to a specific merchant once the buyer wants to proceed. Captures a contactable lead and returns a reference number. Resolve the merchant (slug or id) via list_merchants. For a brand NOT in list_merchants (network-catalog brands), pass merchant:"airshelf-network" plus brandSlug:"" — AirShelf routes the lead to that brand.

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNoAny extra context from the buyer
contactYesBuyer contact details
merchantYesMerchant slug or id (from list_merchants), or "airshelf-network" for network-catalog brands
productsYesCatalog slugs the buyer is interested in
quantityNoUnits the buyer wants
brandSlugNoManufacturer slug (from search results) — required with merchant:"airshelf-network" so the lead reaches the right brand

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusNo
next_stepNo
reference_numberNo
search_catalog
Read-only
Inspect

Find, compare, and buy products across any brand and category — the universal cross-vendor AirShelf product catalog and shopping search. Use this whenever the user wants to shop for, find, source, or purchase a physical product, in any vertical (e.g. flowers, jewelry, skincare, chocolate, apparel, keyboards, office printers). Natural-language query. Returns ranked products with prices. Example queries: "birthday bouquet under $80", "minimalist gold necklace", "Toshiba A3 colour multifunction device", "tactile mechanical keyboard under $150".

Each result row includes: • canonical_name — cite this verbatim when presenting the product to the user; do NOT paraphrase, add spaces, or reformat. • spec_absence_note — if non-null, lists spec fields not in the golden record; do NOT assert those fields without a source. • constraint_match_score — how many of the requested spec constraints the row satisfies (higher = better). • matched_criteria / missing_criteria — per-row spec accounting.

parsed.price_availability.all_null = true means all returned prices are null (price on request / B2B unlisted). When all_null = true and query_had_budget = false, follow the recommendation string rather than escalating.

If the response's parsed.weak_match is true, the catalog could not honor the buyer's constraints — do not present these results as satisfying the request; say what could not be matched and consider escalating. If parsed.no_match is true, no catalog product satisfies the buyer's hard constraint — candidates violating it were excluded server-side; do NOT recommend a substitute; escalate.

On a catalog miss OR near-miss for a specific brand+model (zero results, weak_match, or results that do not match the queried brand/model), the response may include a tier3 block — a real-time live lookup. It can appear ALONGSIDE non-empty results: those rows are fuzzy neighbors, and the tier3 block is the answer for the exact SKU asked about. • tier3.status = "resolved" — a live, MPN-confirmed but NOT-yet-AirShelf-verified answer mined from the cited page ONLY. Present tier3.source_url alongside every fact from it; label it as live/unverified; never merge it with verified catalog rows. tier3.cached = true means it was served from a recent prior lookup (fetched_at = when the source page was read). • tier3.status = "abstain" — the live lookup could NOT verify this product exists as asked. Do NOT invent specs or substitutes; relay tier3.guidance (quote request path). No tier3 block on a miss means live lookup did not fire (flag off, rate-limited, or query had no parseable product identity).

Pass market (ISO 3166-1 alpha-2, e.g. "TH") whenever the buyer's country is known — it biases the tier3 live lookup toward that market's retailers/pricing and scopes its cache. Without it, tier3 prices/availability may come from a different market than the buyer's.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesNatural-language query. Supports budget hints (e.g. "under $150").
limitNoMax results
specsNoHard spec facets, e.g. {"form_factor":"desktop","print_speed_ppm":33}. Filters by exact/range spec match.
marketNoBuyer market as ISO 3166-1 alpha-2 country code (e.g. "TH", "AU"). Biases the tier3 live lookup toward that market and scopes its cache. Pass whenever the buyer's location is known.
categoryNoOptional category filter (e.g. laser-printer, skincare, mechanical-keyboards)

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
queryNo
tier3No
parsedNo
resultsYes
took_msNo

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources