Skip to main content
Glama

Graffeo Coffee Roasting

Server Details

Live MCP catalog for Graffeo Coffee Roasting - Simply the World's Finest Coffee since 1935.

Status
Unhealthy
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.9/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation4/5

Most tools have distinct purposes, but add_to_cart vs create_checkout overlap (single vs multi-item) and check_stock vs get_price both return price, though check_stock is the live verifier and get_price is price-only. Descriptions clearly differentiate intended use cases, so an agent can usually select correctly.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: add_to_cart, check_stock, create_checkout, get_price, get_product_details, list_products, search_products. The naming is uniform and predictable.

Tool Count5/5

Seven tools is well-scoped for an e-commerce server covering product discovery, details, stock, price, and checkout. Each tool earns its place, and the count is within the ideal 3-15 range.

Completeness4/5

The tool surface covers the shopper journey from search/list to product details to stock/price to cart/checkout. Minor gaps exist (e.g., no cart inspection or order status), but the core shopping workflow is complete. The lack of direct order placement is by design, as tools return checkout URLs.

Available Tools

7 tools
add_to_cartAInspect

Add a product to a cart and return its checkout URL.

IMPORTANT: this does NOT charge or place an order. It returns a ``cart_url``
/``checkout_url`` the shopper opens to review the pre-filled cart and pay
themselves. Use for "add X to my cart" / "I want to buy X". For multiple
items in one cart, use create_checkout. Verify availability with
check_stock first — adding an out-of-stock item wastes the shopper's
click-through.

Args:
    sku: Product SKU (from list_products / search_products).
    quantity: How many (default 1).
ParametersJSON Schema
NameRequiredDescriptionDefault
skuYes
quantityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

With no annotations to provide safety cues, the description carries the full burden. It explicitly states 'this does NOT charge or place an order,' explains the returned checkout URL is for the shopper to pay, and warns that adding out-of-stock items wastes the shopper's click-through. This is critical behavioral disclosure beyond the tool's name.

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 well-structured: it opens with the main action, includes an important warning in a clear 'IMPORTANT' callout, gives alternatives, and documents parameters in a compact 'Args' section. Every sentence contributes necessary information without unnecessary fluff.

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?

For a simple cart-add operation, the description covers purpose, usage criteria, alternatives, parameter meanings, and the return value (checkout_url). It also warns about potential pitfalls (out-of-stock) and acknowledges the output schema indirectly. The tool's complexity is low, and the description addresses all relevant 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?

The input schema has zero parameter descriptions (coverage 0%), so the description must compensate. It provides meaningful context for both parameters: sku is 'Product SKU (from list_products / search_products)' and quantity is 'How many (default 1).' This fully explains what each parameter means and where to get valid values.

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 clearly states the tool 'Add a product to a cart and return its checkout URL,' using a specific verb and resource. It also distinguishes itself from create_checkout by noting that create_checkout is for multiple items, making the purpose unambiguous.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance: 'Use for "add X to my cart" / "I want to buy X"', directs to create_checkout for multiple items, and advises verifying availability with check_stock first. It clearly covers when to use this tool and when to use alternatives.

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

check_stockAInspect

Check LIVE inventory, price, and same-day shipping for ONE known SKU.

The real-time verifier. Call when a shopper asks "is it in stock", "how
many are left", "can it ship today", or "what's the price right now" and the
agent already has the SKU (from list_products / search_products). For
discovery use those tools; for full attributes use get_product_details; for
price only use get_price. Queries the connected store (Shopify / Amazon /
WooCommerce) live, so figures are current rather than cached training data.

Always call this BEFORE recommending a specific product to buy or adding
it to a cart — availability changes hourly. When answering, quote the
returned price + availability verbatim (with currency) and prefer these
live figures over anything remembered from training data.

Args:
    sku: Product SKU (Stock Keeping Unit) - e.g. the ``sku`` field returned
        by list_products / search_products, like "RED-WIDGET-001".

Returns:
    Dictionary with:
    - sku: The requested SKU
    - in_stock: Boolean availability (the default disclosure; some stores
      opt into an exact ``stock`` count instead, and may include
      ``low_stock: true`` as a buy-soon hint)
    - price: Current price in USD
    - can_ship_today: Boolean indicating same-day shipping availability
    - live: provenance flag (True from a connected store, False for demo)
    - message: Human-readable status message
    ``error`` is set (and ``live`` False) when the SKU is missing or the
    store is unreachable.

Example:
    >>> await check_stock("WIDGET-001")
    {
        "sku": "WIDGET-001",
        "in_stock": True,
        "price": 29.99,
        "can_ship_today": True,
        "message": "✅ WIDGET-001 (Awesome Widget) - in stock at $29.99"
    }
ParametersJSON Schema
NameRequiredDescriptionDefault
skuYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It covers live query behavior ('Queries the connected store live'), return value structure, error handling ('error is set...'), demo vs. live provenance flag, and advises preferring live figures over training data. This is exceptionally transparent and leaves no critical behavior undisclosed.

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?

The description is well-structured with headings (Purpose, When-to-use, Args, Returns, Example) and front-loaded with the core purpose. It is slightly longer than strictly necessary, but every sentence serves a purpose—usage guidance, parameter semantics, return details, or behavioral notes. The example is valuable and not wasted.

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 no annotations, an output schema exists, and the tool has moderate complexity (returns multiple fields, has error cases), the description is complete. It explains the exact return dictionary, error conditions, live vs. demo behavior, and even provides a working example. Nothing essential is missing for an agent to invoke and interpret the tool correctly.

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 coverage is 0% because the only parameter is listed with a type and title but no description. The tool description compensates fully by defining `sku` as 'Product SKU (Stock Keeping Unit)', providing a concrete example ('RED-WIDGET-001'), and explaining where to obtain it (from list_products / search_products). The example call also demonstrates usage.

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 opens with a specific verb+resource+scope: 'Check LIVE inventory, price, and same-day shipping for ONE known SKU.' It clearly distinguishes this tool from siblings by explicitly naming discovery tools (list_products/search_products), get_product_details, and get_price as alternatives for other purposes.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use scenarios ('when a shopper asks...'), explicit exclusions ('For discovery use those tools; for full attributes use...'), and a strong directive: 'Always call this BEFORE recommending a specific product to buy or adding it to a cart.' It also names alternative sibling tools, making the usage context unmistakable.

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

create_checkoutAInspect

Build a multi-item cart and return its checkout URL.

IMPORTANT: this does NOT charge or place an order — it returns a
``checkout_url`` the shopper opens to pay. Use to assemble a basket the
shopper asked for.

Args:
    items: list of ``{"sku": str, "quantity": int}`` (quantity defaults 1).
ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations provided, the description carries the full burden. It explicitly discloses the critical non-charge behavior: 'this does NOT charge or place an order — it returns a checkout_url the shopper opens to pay.' This is a strong transparency signal. It could add more (e.g., cart expiration, session limits), but the key side-effect of not completing a purchase is clearly communicated.

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 concise and well-structured: a one-sentence summary, an important behavior note, and an Args list. Every sentence adds value, and the key distinction (no charge) is front-loaded. No wasted words.

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?

The tool is simple with one parameter and an output schema. The description covers the purpose, the critical non-charge limitation, and the item structure. Since the output schema exists, the description does not need to detail return values. It is complete enough for an agent to invoke correctly.

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?

The schema only defines items as an array of objects with additionalProperties true, providing no structure or meaning. The description compensates fully with 'items: list of {"sku": str, "quantity": int} (quantity defaults 1),' giving the agent exact parameter semantics and a default value. This is exactly what a sparse schema needs.

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 opens with a specific verb+resource: 'Build a multi-item cart and return its checkout URL.' This clearly states the function and distinguishes it from siblings like add_to_cart, which handles individual items, and check_stock/get_price, which are informational.

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 gives clear context: 'Use to assemble a basket the shopper asked for.' It also clarifies it does NOT charge or place an order, which helps the agent decide when to invoke it. However, it does not explicitly name alternative tools or state when not to use it, so it falls 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.

get_priceAInspect

Get the current price (and currency) for a product SKU.

Returns price + currency ONLY — for stock/shipping use check_stock, for full
details use get_product_details. Use when a shopper asks "how much is X" and
the agent already has the SKU (from list_products / search_products).

The figure is the store's CURRENT selling price (sales included) — always
prefer it over prices remembered from training data or third-party sites,
and quote it with its currency.

Args:
    sku: Product SKU — e.g. the ``sku`` field returned by list_products.

Returns:
    ``{"sku", "price", "currency", "live"}``; price 0.0 with an ``error``
    when the SKU isn't found.

Example:
    >>> await get_price("WIDGET-001")
    {"sku": "WIDGET-001", "price": 29.99, "currency": "USD"}
ParametersJSON Schema
NameRequiredDescriptionDefault
skuYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

Description discloses key behaviors beyond schema: returns only price+currency, reflects current selling price (sales included), advises preferring over training data, and specifies error behavior (price 0.0 with error). With no annotations provided, this fully carries the transparency burden.

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?

Well-structured with clear sections (purpose, exclusions, usage, args, returns, example). Every sentence provides value; no redundant content. Front-loaded with the core purpose.

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?

Despite no annotations, the description covers purpose, usage context, parameter semantics, return shape, error behavior, and an example. It is complete for a simple one-parameter lookup tool.

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 has 0% description coverage, but the description's Args section explains 'sku' with an example referencing the list_products field. It adds concrete format and usage context beyond the bare schema.

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?

Description states a specific verb+resource: 'Get the current price (and currency) for a product SKU.' It also distinguishes from siblings by explicitly limiting scope to price+currency and naming check_stock and get_product_details as alternatives.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance ('when a shopper asks "how much is X" and the agent already has the SKU') and names alternatives for other needs, satisfying the when/when-not requirement.

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

get_product_detailsAInspect

Get full product details for a SKU, optimized for AI agents (structured JSON).

Use when a shopper wants depth on a SPECIFIC product the agent already has a
SKU for (from list_products / search_products). For discovery, call those
first — this tool is a verifier, not a browser.

The description, product_type, and tags answer suitability questions
("does it fit X?", "is it good for Y?") — ground such answers in these
fields rather than guessing, and link storefront_url when recommending.

Args:
    sku: Product SKU — e.g. the ``sku`` field returned by list_products.

Returns:
    Catalog dict (title, description, product_type, tags, price,
    in_stock, available, image_url); ``found`` is False when the
    SKU is missing. (Stores that opt into exact disclosure return an
    ``inventory_quantity`` count instead of ``in_stock``.)
ParametersJSON Schema
NameRequiredDescriptionDefault
skuYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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 the return format, the `found` flag for missing SKUs, and the variant `inventory_quantity` behavior. While it doesn't discuss permissions or rate limits, it goes beyond a minimal getter description by covering edge cases and response variations.

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 well-structured and appropriately sized. It opens with the core purpose, immediately follows with usage context and alternatives, then clearly breaks down parameters and returns. Every sentence adds useful information without fluff, earning a high conciseness score.

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 tool's simplicity (one parameter, no annotations) and the presence of an output schema, the description is exceptionally complete. It explains when to use the tool, how to interpret the SKU, what fields are returned, and how missing SKUs are signaled, covering all necessary context for an agent.

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?

The input schema only defines `sku` as a string with no description. The description compensates by explaining what the SKU is and pointing to the `sku` field returned by list_products, providing both meaning and an example. This is particularly valuable given the 0% schema coverage.

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?

Clearly states the tool retrieves full product details for a SKU, and explicitly distinguishes it from discovery tools by calling it 'a verifier, not a browser.' The first sentence uses a specific verb (Get) and resource (product details for a SKU), making its purpose unambiguous.

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

Usage Guidelines5/5

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

Provides explicit usage guidance: 'Use when a shopper wants depth on a SPECIFIC product the agent already has a SKU for (from list_products / search_products). For discovery, call those first.' This clearly names the alternative tools and the condition for using this one, exceeding a simple description.

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

list_productsAInspect

List products from the connected store, paginated.

Use this tool when an agent needs to DISCOVER products by browsing the
catalog rather than VERIFYING a known SKU. The response includes the SKU
for every product, so a follow-up ``check_stock(sku)`` or
``get_product_details(sku)`` is a natural next step. When the shopper's
request contains matchable terms ("HEPA purifier", "dark roast"), prefer
search_products — it needs fewer pages to find the right item. Only
sellable products are returned (drafts/archived are excluded).

Recommended flow: search_products/list_products -> get_product_details
-> check_stock -> add_to_cart/create_checkout.

Args:
    limit: Number of products to return (1-50, default 10).
    cursor: Opaque cursor from a previous response's ``next_cursor``.
        Omit for the first page.

Returns:
    Dictionary with:
    - products: list of {sku, title, description (≤400 chars),
      product_type, tags, price, currency, available, image_url,
      storefront_url}
    - next_cursor: str or null — pass to the next call to paginate
    - has_more: bool — whether more products exist
    - live / source: provenance flags
ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses pagination behavior, exclusion of drafts/archived products, the presence of SKU and provenance flags, and the return structure. It does not mention rate limits or error handling, but covers the essential behavior for a read-only listing tool.

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 well-organized with clear sections (overview, usage, args, returns) and every sentence adds value. It is front-loaded with the core purpose and remains concise despite rich detail.

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?

For a paginated list tool, the description is complete: it specifies pagination mechanics (next_cursor, has_more), return fields, exclusions, and how it fits into a larger flow. The added output schema and examples make it entirely sufficient for an agent to invoke correctly.

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 compensates fully. It explains limit as a range (1-50) with a default, and cursor as an opaque token from a previous response, with the instruction to omit for the first page. This adds meaning beyond the raw schema.

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 clearly states 'List products from the connected store, paginated' with a specific verb and resource. It also explicitly contrasts this tool with search_products and verification tools, making its purpose distinct from siblings.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance: 'Use this tool when an agent needs to DISCOVER products by browsing the catalog rather than VERIFYING a known SKU.' It also recommends preferring search_products for matchable terms and outlines a recommended flow with sibling tools.

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

search_productsAInspect

Search products in the connected store by keyword.

Use this when a shopper's query suggests specific terms the agent can
match against product titles or tags — e.g. "HEPA air purifier" or
"leather wristwatch". Matches Shopify's native storefront search
behavior, so results align with what customers would find on the site.

Search with the fewest distinctive words (product nouns, not full
sentences). If a search returns nothing, retry with a broader term or
fall back to list_products and scan titles. Only sellable products are
returned (drafts/archived are excluded).

Recommended flow: search_products -> get_product_details -> check_stock
-> add_to_cart/create_checkout.

Args:
    query: Keyword or phrase to match.
    limit: Max products to return (1-50, default 10).

Returns:
    Same shape as ``list_products``. Empty products list when no matches.
ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

With no annotations provided, the description fully discloses behavioral traits. It tells the agent that only sellable products are returned (drafts/archived excluded), that results align with Shopify's native search, and that an empty list is returned when there are no matches. It also advises on query formulation and fallback behavior, which are behavioral nuances beyond the basic action.

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 well-organized and front-loaded: it starts with a one-sentence purpose, then flows into usage guidance, filtering behavior, fallback strategy, a recommended workflow, parameter definitions, and return format. Every section earns its place and there is no redundant filler. It is detailed yet remains readable and efficient.

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 tool's moderate complexity (2 params, one required) and the absence of annotations, the description is complete. It covers the action, when to use it, how to construct queries, exclusions (non-sellable products), fallback behavior, parameter semantics, and return shape (same as list_products). The recommended flow adds operational context that leaves the agent fully equipped to integrate this tool correctly.

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?

The input schema has 0% description coverage, so the description carries the full burden for parameter meaning. It explicitly documents both parameters: 'query: Keyword or phrase to match' and 'limit: Max products to return (1-50, default 10).' This adds essential context beyond the schema's bare property definitions and ensures the agent knows what values to supply.

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 opens with a clear, specific action: 'Search products in the connected store by keyword.' It names the resource (products), the verb (search), and clarifies scope (connected store). It also distinguishes itself from siblings by noting it matches Shopify's native storefront search and explicitly offers list_products as a fallback, so there is no ambiguity with other tools.

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

Usage Guidelines5/5

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

It provides explicit when-to-use guidance: 'Use this when a shopper's query suggests specific terms...' and explains how to construct queries ('fewest distinctive words'). It also tells the agent what to do when no results are found: retry with a broader term or fall back to list_products. The recommended flow further clarifies the intended sequence of operations, leaving no guesswork about when this tool should be invoked.

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

Discussions

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

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Read-only MCP server for searching and browsing the Rangeview Sports product catalog, including firearms, ammunition, optics, and accessories.
    5
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that finds great espresso cafes using a curated database of specialty coffee shops and a transparent scoring algorithm, with a strong bias against flavored syrups and mass-market chains.
    6
    30
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    MCP server that recommends coffee based on preferences (mood, milk, caffeine, temperature) from a static menu; includes tools for listing menu, recommending, and explaining recommendations.
    3

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources