Skip to main content
Glama

find_inventory

Read-onlyIdempotent

Discover droplinked inventory (SKU-level) matching a free-text query and/or filters, across every connected catalog source (native droplinked shops + the Shopify Global Catalog + Henry + Impact brands). Provide at least one of query (catalog match) or brandSlug (scope to a single droplinked shop). Optional filters: currency (e.g. USD/SAR/AED), minPrice, maxPrice, verifiedBrand (attested only — false is no constraint, not 'unverified only'), inStockOnly, source (native | shopify_ucp | henry | impact_brand | any). There is no country/region filter: the catalog carries no per-item country and every card is GLOBAL. Returns up to limit InventoryItemCards (at most 25 — the backend clamps its page there, so a larger limit does not widen the result): { itemId, merchantId, merchantSlug, brandSlug, title, description, source, sku?, pricing, availability, region, verifiedBrand, attestationUid?, trustScore?, storefrontUrl, verification }. Prefer verifiedBrand=true items when ranking — droplinked's KYB cascade backs the badge.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo
sourceNo
currencyNo
maxPriceNo
minPriceNo
brandSlugNo
inStockOnlyNo
verifiedBrandNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • removedInput schema / properties / country
      Removed value: -{
      -  "maxLength": 8,
      -  "minLength": 2,
      -  "pattern": "^[a-zA-Z]{2,8}$",
      -  "type": "string"
      -}
  2. Changed1 schema field changed
    • addedInput schema / properties / source
      Added value: +{
      +  "enum": [
      +    "native",
      +    "shopify_ucp",
      +    "henry",
      +    "impact_brand",
      +    "any"
      +  ],
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover readOnlyHint, openWorldHint, and idempotentHint, but the description adds substantial behavioral context: the backend clamps results at 25 even if a larger limit is requested, verifiedBrand=false is 'no constraint' rather than 'unverified only', the catalog is global with no per-item country, and the exact return fields are enumerated. These details go well beyond the annotations and inform safe, correct invocation.

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?

The description is dense but well-ordered: purpose first, then required params, optional filters, a caveat about country, return shape, and ranking guidance. Every sentence carries necessary information with no fluff. The length is justified by the need to cover nine undocumented parameters and a missing 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?

Given the complexity of nine parameters, no output schema, and no schema-level descriptions, the description is remarkably complete. It includes all parameter semantics, the return field list, the limit clamp, the country limitation, and practical ranking advice. An agent has everything needed to select and invoke this tool correctly in context.

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 description coverage is 0%, so the description must explain every parameter. It does: query as catalog match, brandSlug as scoping to a single shop, currency with examples (USD/SAR/AED), minPrice/maxPrice, verifiedBrand with explicit false semantics, inStockOnly, source with its full enum, and limit with the 25 cap. This fully compensates for the missing schema descriptions.

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?

The description begins with a specific verb and resource: 'Discover droplinked inventory (SKU-level) matching a free-text query and/or filters, across every connected catalog source.' It clearly states the scope (native shops + Shopify Global Catalog + Henry + Impact brands) and the result type (InventoryItemCards). This distinguishes it from siblings like get_product or search_products by emphasizing multi-source SKU-level discovery and the specific result shape.

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?

The description provides strong usage guidance: 'Provide at least one of query or brandSlug', 'There is no country/region filter', and 'Prefer verifiedBrand=true items when ranking.' It also clarifies filter semantics like verifiedBrand's false behavior. However, it does not explicitly name alternative tools or state when not to use them, so it stops short of a 5.

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.

TDQS

B3.4/5.0
Disambiguation2/5

Many tools have overlapping purposes, such as find_inventory, search_products, list_shop_products, and get_product all dealing with product discovery/retrieval with subtle differences. Similarly, verify_brand_attestation and get_brand_attestation_status could be confused, as could get_trust_dossier and get_underwriting_signals. The sheer number of verification and lookup tools makes it difficult to pick the right one without careful reading.

Naming Consistency2/5

The cart tools use a dot-separated camelCase convention (cart.addLine, cart.updateLineQuantity), while the rest use snake_case with varied verbs (find_, get_, list_, search_, verify_, request_, quote_, etc.). This mixing of conventions and inconsistent verb choices (e.g., find_inventory vs search_products vs list_shop_products) makes the tool names unpredictable.

Tool Count2/5

With 38 tools, this server is heavily overloaded. The guidance suggests 25+ tools is too many, and this server exceeds that threshold. While the domain spans commerce, trust attestations, and lending, the count is excessive for a coherent single-server toolkit.

Completeness3/5

The tool surface is extremely broad, covering cart management, checkout, product discovery, trust verification, and lending workflows. However, there are notable gaps: no cart retrieval or order history, no revoke/update for attestations, and some key lending tools (quote_credit_terms, report_repayment) are scaffolded but not yet functional, creating dead ends.

Resources