Tendrils — live commerce tools for AI agents
Server Details
Live commerce tools for agents on a 42k-product furniture catalog.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- tendrils-io/tendrils-mcp
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 11 tools
Most tools have distinct purposes (search, details, stock, AR, checkout, floorplan), but compare_products and compare_products_deep_matrix are nearly indistinguishable — both produce a side-by-side spec matrix, and nothing in the names makes clear which to pick. calculate_room_fit_and_clearance and generate_room_floorplan also partially overlap on spatial clearance analysis, though their outputs differ enough to be separable.
All names are snake_case and almost all are verb-led (find_, get_, check_, calculate_, generate_, create_, build_, match_). The one deviation is the compare_products / compare_products_deep_matrix pair, which uses a suffix variant rather than a distinct action verb, plus some names are quite verbose.
11 tools is squarely in the well-scoped range, and each covers a real step in a furniture shopping journey (discover, inspect, verify stock, compare, fit-check, visualize, bundle, check out). No filler tools are apparent.
The surface covers the full pre-purchase lifecycle from constraint search through AR, room fit, fabric matching, bundling, and checkout handoff. Gaps are minor: no post-checkout order/cart lookup, no shipping or delivery estimate, and no standalone promotion/discount validation.
Available Tools
11 toolsbuild_coordinated_room_bundleCInspect
Pairs an anchor sofa with matching ottoman and accent chair with 15% discount permalink.
| Name | Required | Description | Default |
|---|---|---|---|
| budget_cap | No | Maximum budget cap for the entire 3-piece room bundle in USD (e.g. 3500) | |
| base_product_handle | Yes | Anchor sofa or sectional handle (e.g. 'monika-sleeper-sofa') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses two behavioral facts (15% discount and a permalink result), but says nothing about side effects, whether a record is created, what happens when no matching ottoman or chair exists, or how the budget cap alters results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, and the bundle composition plus discount are stated up front. It is efficient, though the terseness contributes to the missing behavioral detail rather than remedying it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema, the description covers the core behavior, but it omits what the permalink contains, how budget_cap interacts with selection, and what the failure mode looks like for an unpairedable sofa. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema. The description confirms the anchor sofa concept but adds no meaning about base_product_handle syntax or how budget_cap is applied (hard failure vs. part exclusion), leaving it at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action and resource: pairs an anchor sofa with an ottoman and accent chair to form a discounted bundle, which distinguishes it from constraint-search or comparison siblings. It does not name any sibling or explicitly contrast with find_products_by_constraints or create_checkout_handoff, so differentiation is only implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of alternatives such as find_products_by_constraints for open-ended browsing. The agent must infer that this is for building a curated 3-piece set from a known sofa handle.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_room_fit_and_clearanceBInspect
Calculate whether a sofa or sectional fits a room with 30-36 inch walking clearance verification.
| Name | Required | Description | Default |
|---|---|---|---|
| product_handle | Yes | Product handle (e.g. 'monika-sleeper-sofa' or 'mason-leather-89-sofa-1') | |
| room_width_feet | Yes | Width of the living room space in feet (e.g. 12) | |
| room_length_feet | Yes | Length of the living room space in feet (e.g. 10) | |
| include_coffee_table | No | Whether a standard 36x24 inch coffee table is placed in front of the sofa |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does disclose one meaningful behavioral trait, the 30-36 inch walking clearance rule, which is context beyond the schema. However it never says what the result looks like (pass/fail verdict, clearance margin, recommendations), whether it fails loudly for oversized sofas, or what assumptions it makes about sofa dimensions from the handle.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or repetition. It is arguably too short rather than too long, but nothing in it wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only place an agent can learn about result shape and failure behavior, and it omits both. The core calculation and clearance threshold are covered, but a fit-check tool without a described verdict format leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the four parameters are already fully documented, establishing a baseline of 3. The description adds only the implicit constraint that product_handle refers to a sofa or sectional, and says nothing about the include_coffee_table toggle despite it materially changing the clearance math.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculate') and a specific resource ('whether a sofa or sectional fits a room') plus the clearance check, which is concrete enough for an agent to know what it returns conceptually. It is reasonably distinguishable from sibling floorplan/constraint tools, though it never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Use is implied (pre-purchase fit check for a sofa in a given room), but there is no explicit when-to-use, when-not-to-use, or pointer to alternatives such as generate_room_floorplan or find_products_by_constraints. No prerequisites, such as needing a valid product handle from a search tool first, are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_variant_availabilityBInspect
Verify whether a specific variant option combination (Color, Size, Layout) is currently in stock with live quantities.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | The Shopify Product ID to check variants for | |
| selected_options | No | Key-value dictionary of desired variant options (e.g., { 'Color': 'Gray', 'Mattress': 'Memory Foam', 'Size': 'Queen' }) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It does add one valuable trait, that quantities are 'live', but omits whether this is a read-only call, how it behaves with rate limits, whether it matches partial option sets, and what the response contains despite there being no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states the check, the inputs, and the key behavioral trait ('live quantities') with no wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with a nested object and no output schema, the definition leaves real gaps: it never says what happens when selected_options is omitted, whether option matching is exact or partial, or what form the returned stock data takes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented, including the nested selected_options dictionary with its own example. The description's option examples (Color, Size, Layout) add nothing beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Verify') and a specific resource ('variant option combination ... in stock') with the added detail of 'live quantities'. The purpose is unambiguous, though no sibling tool is named to differentiate it from adjacent product-inspection tools like get_product_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the stock-check framing suggests it belongs before purchase or checkout flows (e.g., ahead of create_checkout_handoff), but the description never states when to use this versus alternatives or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_productsBInspect
Generate an aligned side-by-side specification comparison matrix for 2 to 4 products across dimensions, materials, and price.
| Name | Required | Description | Default |
|---|---|---|---|
| product_ids | Yes | Array of 2 to 4 Shopify Product IDs to compare side-by-side |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It does disclose the output shape (an aligned matrix) and the input cardinality constraint, which tells the agent this is a read-only generation call. It says nothing about preconditions, such as whether the products must share a category or whether missing attributes are padded or omitted, and nothing about limits or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and the deliverable, with zero filler. It is appropriately sized for a one-parameter tool, though the comparison axes (dimensions, materials, price) could have been separated from the scope clause for easier scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, single-parameter read tool this covers purpose, scope, and the shape of the returned matrix, which is the main thing an agent needs. Given there are no annotations and no output schema, however, the description should have addressed output ordering, handling of non-comparable products, and why it exists alongside compare_products_deep_matrix.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single parameter whose array bounds (minItems 2, maxItems 4) are already encoded in the schema. The description's '2 to 4 products' restates that constraint rather than adding new meaning like ID format, accepted prefixes, or what happens with duplicate IDs. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and artifact: 'Generate an aligned side-by-side specification comparison matrix', and scopes it to '2 to 4 products across dimensions, materials, and price'. That is far more informative than restating the name. It stops short of 5 because it never distinguishes itself from the near-duplicate sibling compare_products_deep_matrix, so an agent cannot pick between them from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the 2-to-4 product bound and the 'dimensions, materials, price' axes hint at the comparison scenario, but there is no explicit when-to-use statement. Critically, the sibling compare_products_deep_matrix is never mentioned, so the agent gets no rule for choosing between the shallow and deep comparison tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_products_deep_matrixBInspect
Side-by-side spec comparison matrix across frame materials, fabrics, dimensions, and warranty.
| Name | Required | Description | Default |
|---|---|---|---|
| product_handles | Yes | Array of 2 to 4 product handles to compare (e.g. ['kirby-chaise', 'mason-leather-89-sofa-1']) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses that the output is a side-by-side matrix covering specific spec categories, which is useful behavioral context. However, it does not state read-only behavior, limits such as the 2-4 product range, or any authentication or rate-limit considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the tool's core action and the dimensions compared. There is no redundancy or unnecessary preamble.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter comparison tool, the description covers the purpose and compared dimensions. However, it omits the return format and does not differentiate the tool from the closely related compare_products sibling. With no output schema and no annotations, those gaps keep it at a minimum-viable level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single parameter product_handles is already well documented with type, min/max items, and an example. The description adds no additional meaning about parameter format or selection beyond what the schema provides. A baseline of 3 is appropriate when the schema fully documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource pair: side-by-side spec comparison matrix. It also names the compared dimensions (frame materials, fabrics, dimensions, warranty), which makes the tool's purpose clear. However, it does not distinguish this tool from the sibling compare_products, so an agent cannot tell which comparison tool to select from purpose alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus compare_products or other sibling tools. The description implies a comparison use case but provides no conditions, prerequisites, or exclusions. An agent must infer the selection criteria from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_checkout_handoffBInspect
Convert selected product variants into an instant 1-click Shopify direct-to-checkout Cart Permalink URL with discounts.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Optional delivery instructions to attach to the order | |
| items | Yes | Array of line items to add to the checkout cart | |
| discount_code | No | Optional promotional code to apply at checkout (e.g., 'WEBMCP10') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the key behavior — that the result is a Cart Permalink URL rather than a placed order — but says nothing about whether the URL expires, whether the discount is validated server-side, what happens with invalid variant IDs, or whether any auth/scope is required. For a checkout-adjacent tool with zero annotation coverage, these omissions matter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted clauses; the resource and output are stated immediately. Minor marketing phrasing ('instant 1-click') is the only padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three top-level parameters, a nested items array, and no output schema, the description usefully stands in for a return-value explanation by naming the Cart Permalink URL. However, it leaves gaps around failure modes, discount validity, and how the URL should be surfaced to the user, so it is adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 item field (variant_id, quantity, price, title) is already documented in the schema, which sets the baseline at 3. The description adds only that variants are 'selected' and that discount codes apply 'at checkout', which is modest added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and output artifact: it converts selected product variants into a Shopify direct-to-checkout Cart Permalink URL, optionally with discounts. That is far more specific than the sibling tools (product search, comparison, AR, floorplan), so an agent can rule this in or out quickly. It stops short of naming a sibling to distinguish itself from, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'selected product variants' suggests it comes after product selection, and the mention of discounts hints at applying a promo code. There is no explicit when-to-use, no when-not-to-use, and no stated prerequisite such as looking up variant IDs via check_variant_availability first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_products_by_constraintsCInspect
Search the Jennifer Furniture catalog by category, budget (e.g. under $4000), material, features, and stock availability.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return (1-25, defaults to 10) | |
| query | No | Conversational natural query (e.g. 'sofa under $4000 for family with pets') | |
| category | No | Furniture category to search (e.g., 'sectional', 'sofa', 'loveseat', 'dining table', 'bed', 'recliner', 'accent chair') | |
| features | No | List of desired features (e.g., ['sleeper', 'power-reclining', 'storage', 'chaise']) | |
| material | No | Material or upholstery type (e.g., 'leather', 'fabric', 'velvet', 'microfiber', 'wood') | |
| max_price | No | Maximum budget in USD (e.g., 4000) | |
| min_price | No | Minimum price in USD (e.g., 500) | |
| in_stock_only | No | Whether to return only in-stock items with inventory > 0 (defaults to true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. 'Search' implies a read-only operation, but the description says nothing about result ordering, pagination beyond the limit field, how the free-text query interacts with the structured filters, or whether the default in_stock_only=true silently narrows results. For an annotation-free tool with 8 parameters, that is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, and the facets are listed in a sensible order. It is efficient, though the parenthetical budget example slightly duplicates the schema and the sentence could have carried a routing hint at no cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain return shape and filter interaction. It identifies every searchable dimension, which covers the surface, but leaves return contents, result ordering, and query-vs-filter precedence unexplained for a fairly complex 8-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented with examples, making the baseline 3. The description's mention of 'budget (e.g. under $4000)' loosely maps to max_price but adds no syntax or interaction semantics beyond what the schema states. It neither compensates for nor duplicates the schema in a harmful way.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a clear verb ('Search') and a specific resource ('the Jennifer Furniture catalog') and enumerates the facet dimensions (category, budget, material, features, stock). An agent immediately understands the operation. It does not, however, distinguish this tool from siblings like compare_products or get_product_details, which a browsing agent could plausibly confuse for the same catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no named alternative. It never says to use this tool for discovery and then call get_product_details or compare_products for follow-up, nor does it state any exclusions (e.g. that it does not fetch full details or images). Usage must be inferred from the name and facet list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_room_floorplanCInspect
Generates an architectural 2D SVG spatial layout showing wall perimeter, walking clearances, and sofa bounds.
| Name | Required | Description | Default |
|---|---|---|---|
| product_title | No | Luonto Monika Sleeper | |
| room_width_feet | No | ||
| room_length_feet | No | ||
| sofa_depth_inches | No | ||
| sofa_width_inches | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose the output artifact (an SVG layout) and its visual contents, which is real value, but it says nothing about side effects (pure render vs. persisted file), whether the defaults are applied silently, or how mismatched units (room in feet, sofa in inches) are handled. That gap matters because an agent could produce a misleading floorplan without knowing the tool's unit assumptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb and output type first, and no filler or repetition. It is efficient, though it is dense enough that the enumerated rendering elements crowd out any usage or unit guidance that would have earned its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Five optional parameters, zero schema coverage, no annotations, and no output schema mean the description must supply units, defaulting behavior, and the shape of the returned SVG. None of that is present, so an agent knows what the tool draws but not how to parameterize it safely or what it will receive back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it only partially does: 'sofa bounds' implies sofa_depth_inches/sofa_width_inches and 'wall perimeter' implies room_width_feet/room_length_feet. However, the critical feet-vs-inches distinction, the meaning of product_title in the rendering, and the fact that all five parameters are optional with defaults are never mentioned in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Generates') plus a concrete resource and output format ('architectural 2D SVG spatial layout') and enumerates what is rendered: wall perimeter, walking clearances, sofa bounds. An agent can tell this produces a visual/geometric artifact rather than a numeric fit calculation. It stops short of naming the sibling it differs from (calculate_room_fit_and_clearance), so sibling differentiation is only implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus calculate_room_fit_and_clearance (which presumably answers the numeric fit question) or build_coordinated_room_bundle. No prerequisites, no exclusions, and no note about whether the room/sofa dimensions should already be validated elsewhere. The agent must infer the routing decision 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.
get_product_ar_modelCInspect
Provides Apple QuickLook (.usdz) and Android (.glb) 3D augmented reality model placement links.
| Name | Required | Description | Default |
|---|---|---|---|
| product_handle | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full behavioral burden. It discloses the return artifact (platform-specific link URLs), which is useful, but says nothing about permission/auth needs, what happens when a product has no AR model, whether the call is read-only, or whether both platform links are always present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, no filler, and the most informative detail (the two output formats) is front-loaded. It is efficiently sized for a simple tool, though the single-sentence format leaves no structure for guidance or caveats.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one required parameter, no output schema, no nested objects), so the description covers the core deliverable adequately. However, for a zero-annotation tool it omits failure behavior and parameter expectations that an agent would need to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions the single required parameter. It does not clarify whether product_handle is a URL slug, numeric ID, or store-specific identifier, nor how lookups fail, so it adds no meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (3D augmented reality model placement links) and the concrete output formats (.usdz for Apple QuickLook, .glb for Android), which clearly separates it from every listed sibling tool (details, comparison, checkout, room planning). It stops short of stating that it operates on a single product, but the purpose is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g., that a product must have an AR asset), and no reference to alternatives. An agent must infer that this is the AR-viewing path from the phrase 'augmented reality' alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_product_detailsCInspect
Fetch full technical specifications, parsed dimensions, materials, care instructions, and variant matrix for a product.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | No | The Shopify product URL handle (e.g., 'tess-3-piece-sleeper-sectional') | |
| product_id | No | The Shopify Product ID (e.g., 'gid://shopify/Product/5826780551' or numeric ID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden, and it leaves key behavior unstated. It never says that at least one of handle or product_id must be supplied (the schema marks zero required parameters), whether one identifier takes precedence over the other, or what happens when a product is not found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence with the payload contents front-loaded and no filler. It is efficient, though the comma-separated field list is dense and gives no routing information to accompany it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description usefully enumerates what the response contains, which partly substitutes for a return-value spec. It is still incomplete for a lookup tool with two optional identifiers, since the invocation rule (supply a handle or an ID) and failure behavior are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters documented and example values given, so the baseline of 3 applies. The description adds no meaning beyond the schema, and notably does not resolve the ambiguity of two optional identifiers — it never says which to prefer or whether they may be combined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Fetch') and a precise inventory of the resource contents: technical specifications, parsed dimensions, materials, care instructions, and variant matrix. That is far more informative than a bare 'get product'. It does not, however, distinguish itself from siblings such as get_product_ar_model or compare_products_deep_matrix, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 tool versus the ten sibling tools, no prerequisites, and no exclusions. The only implicit signal is that 'full technical specifications' suggests a deep-detail lookup, but the agent must infer that on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
match_fabric_and_lightingCInspect
Harmonizes room wall paint and window sunlight exposure with manufacturer upholstery fabrics.
| Name | Required | Description | Default |
|---|---|---|---|
| wall_color | No | ||
| window_exposure | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral burden. It implies a read-only harmonization or recommendation operation but does not disclose whether it queries a manufacturer catalog, what permissions or external dependencies are involved, or what the result contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded sentence with no filler or repetition. It could be tightened by replacing 'Harmonizes' with a more direct verb, but it is structurally efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter matching tool with no annotations and no output schema, the description is too thin. It does not explain the recommendation output, catalog scope, or input value conventions, so an agent lacks enough context to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description only loosely maps 'wall paint' to wall_color and 'window sunlight exposure' to window_exposure. It does not specify accepted color formats, exposure scales or enums, or whether the inputs are free text, leaving both parameters underspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Harmonizes') and the elements being aligned: wall paint, window sunlight exposure, and manufacturer upholstery fabrics. It is clear this is a matching or recommendation tool, though it does not explicitly distinguish itself from siblings such as find_products_by_constraints or compare_products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, prerequisites, or sibling alternatives are stated. An agent can infer it is for fabric matching from the wall and lighting inputs, but routing versus other product-search tools is left unaddressed.
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.
11 tool updates
- First observed
build_coordinated_room_bundle - First observed
calculate_room_fit_and_clearance - First observed
check_variant_availability - First observed
compare_products - First observed
compare_products_deep_matrix - First observed
create_checkout_handoff - First observed
find_products_by_constraints - First observed
generate_room_floorplan - First observed
get_product_ar_model - First observed
get_product_details - First observed
match_fabric_and_lighting
Related MCP Connectors
Live product discovery for AI shopping agents, with shopper-approved retailer handoff.
1Twitch for agents: go live with your work, watch other agents live, learn from their playbooks.
Agentic commerce with 58 MCP tools for product search, checkout, A2A negotiation, C-Suite analytics.
Agent-native commerce with trusted catalog, durable carts, and Stripe Checkout via MCP and UCP.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to provide e-commerce customer service with product search, RAG-based FAQ answers, human handoff, and automated security auditing with a review workflow.-
- AlicenseNot gradedqualityCmaintenanceEnables LLM agents to handle e-commerce customer support by searching a product catalog and FAQ knowledge base with hybrid retrieval, plus managing orders, carts, returns, shipment tracking, and human escalation through support tickets.MIT
- AlicenseNot gradedqualityBmaintenanceExposes product catalog and semantic search as tools for an LLM agent, enabling natural language product recommendations based on intent rather than keyword matching.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables intelligent ecommerce tools for agents and applications, including product catalog access, product addition, and shopping policies.1Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.