Skip to main content
Glama

SendaMeal Storefront

Server Details

Search gift meals and send them as gifts. Live catalog, cart, and guest checkout for SendaMeal.

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.1/5 across 6 of 6 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a distinct purpose with no overlap: search and get details cover product discovery, add/update/remove cover cart item lifecycle, and create_checkout_url handles checkout. Even the cart operations are clearly separated by action (add, update, remove).

Naming Consistency5/5

All tool names follow a consistent verb-first, snake_case pattern (e.g., add_item_to_cart, get_product_details, remove_item_from_cart). The verbs clearly indicate the action, and the objects are consistently named.

Tool Count5/5

Six tools is well-scoped for a storefront: product search, product details, three cart operations, and checkout. Each tool earns its place without redundancy or bloat.

Completeness3/5

The core flow (search → details → add to cart → update/remove → checkout) is covered, but there is no tool to view the current cart contents. This is a notable gap because agents cannot verify what is in the cart before checkout or perform accurate updates.

Available Tools

6 tools
add_item_to_cartAInspect

Add products to shopping cart with automatic cart creation

Add products and gift certificates to your shopping cart. If no cart exists, this tool will automatically create a new cart and add the items to it. Perfect for starting a new shopping session or adding more items to an existing cart.

Use this tool when customers want to:

  • Add new products to their cart

  • Start shopping by adding their first item

  • Add gift certificates to their purchase

  • Add multiple items in a single operation

Features:

  • Automatic cart creation if none exists

  • Support for both regular products and gift certificates

  • Multi-currency and multi-locale support

  • Batch operations for adding multiple items at once

  • Handles product variants, quantities, and custom properties

Flow:

  • Call 'search_products' tool to find products by search term.

  • Call 'get_product_details' tool to get product variants and images.

  • Call 'add_item_to_cart' tool to create new cart with item

  • Call 'create_checkout_url' tool to generate a checkout URL for the cart.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
cartYes
messageNo
successYes
Behavior3/5

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

With no annotations, the description carries the burden of disclosing behavior. It reveals automatic cart creation, support for product variants, and multi-currency/locale support. However, it claims 'batch operations for adding multiple items at once' while the input schema only accepts a single item object, which is misleading. Missing details about side effects or other behaviors.

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-organized with headings and bullet points, front-loading the main purpose. It is somewhat verbose but each section adds value. A few sentences could be trimmed without losing clarity.

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

Completeness3/5

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

The tool has a complex nested schema and no annotations, but the description provides a clear flow and feature list. However, the inaccurate batch claim and lack of detail on what happens when a cart already exists reduce completeness. The output schema exists, but the description doesn't clarify return behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate. It mentions 'product variants, quantities, and custom properties', which aligns with variantEntityId, quantity, and selectedOptions. But it doesn't explain the structure or required fields in detail, and the batch claim may mislead parameter 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 clearly states the tool adds products and gift certificates to a shopping cart, with automatic cart creation. It distinguishes itself from siblings like remove_item_from_cart and update_cart_item by explicitly mentioning adding items and creating carts.

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 a 'Use this tool when' list and a flow showing when to call this tool relative to search_products, get_product_details, and create_checkout_url. However, it doesn't explicitly mention when NOT to use it (e.g., versus update_cart_item).

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

create_checkout_urlAInspect

CreateResult a checkout URL for a cart assigned to a current session

Arguments: None, but requires a cart to be present in the current session.

Returns:

  • checkoutURL - the URL to redirect the user to for checkout

  • errors - any errors encountered during the process (like, cart not found, etc.)

Flow:

  • Call 'manage_cart' with 'create_cart' operation to create a new cart.

  • Call this tool to create a checkout URL for the cart assigned to the current session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorsNo
messageNo
successYes
checkoutURLNo
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It discloses that errors can occur (e.g., cart not found) and describes the required flow. However, it does not explicitly state whether the operation mutates the cart or creates any persistent side effects, which is ambiguous for a 'create' operation.

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 clear sections (Arguments, Returns, Flow) and every section adds useful information. It is slightly verbose due to the flow explanation, and contains a distracting typo ('CreateResult'), but remains efficient and readable.

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

Completeness4/5

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

Given the tool's simplicity (0 params) and the presence of an output schema, the description covers prerequisites, return values, and operational flow. It lacks clarification on side effects, but overall is sufficiently complete for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the description correctly notes 'Arguments: None.' With no parameters to document, the baseline is 4 and no additional parameter semantics are needed.

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 states a specific action: 'CreateResult a checkout URL for a cart assigned to a current session.' It clearly identifies the resource (checkout URL) and distinguishes from siblings like add_item_to_cart or search_products. The typo 'CreateResult' does not obscure the meaning.

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?

It provides clear context by stating the prerequisite (a cart must be present) and a step-by-step flow involving manage_cart. It does not explicitly name alternatives or when-not-to-use, but the sequence and prerequisites offer sufficient guidance for when to invoke this tool.

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 product details (variants and images) by product ID.

Arguments: id - the ID of the product to get details for. optionValues - if product has options you should ask user to pick options. [IMPORTANT] If user has chosen options, pass them in 'option_values' parameter. [IMPORTANT] If product has options this field is required and ask user to pick

Returns:

  • Product details including variants and images.

  • null if product is not found

Flow:

  • Call 'search_products' tool to get base product details and product ID.

  • Call this tool with the product ID to get variant and images of the product.

  • Call 'add_item_to_cart' with results of 'search_products' and 'get_product_details' (variant) tools to add the product to the cart.

    • [IMPORTANT] If product has variants you will have to specify which variant to add

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
option_valuesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageNo
productYes
successYes
Behavior4/5

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

With no annotations, the description discloses key behaviors: returns null if product not found, requires option_values when options exist, and integrates into a multi-step flow. However, it doesn't mention permissions or rate limits, but these are less critical for a read-only 'get' tool.

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 moderately sized with a clear structure (purpose, arguments, returns, flow). The flow is valuable but slightly redundant with the purpose, and multiple IMPORTANT callouts add emphasis but could be tightened. Overall, the content earns its place.

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

Completeness4/5

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

Given an output schema exists, the description doesn't need to fully describe return values, but it does mention 'Product details including variants and images' and 'null if not found.' It also provides essential workflow context with sibling tools, making it sufficiently complete for a retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description compensates by explaining id and optionValues. It adds the crucial context that option_values is required only when the product has options, but it uses inconsistent naming ('optionValues' vs 'option_values') and doesn't detail the array object structure beyond what the schema already shows.

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 explicitly states 'Get product details (variants and images) by product ID' with a clear verb and resource, and distinguishes itself by noting this tool follows search_products and focuses on variants/images. The flow section reinforces this distinction by naming the sibling tool search_products for base details.

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 'Flow' section provides explicit step-by-step usage: call search_products first, then this tool, then add_item_to_cart. It clearly names alternatives and specifies when this tool is needed, satisfying the 'when/when-not/alternatives' requirement.

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

remove_item_from_cartAInspect

Remove specific items from your shopping cart. It is removing the item completly from the cart. If you want to reduce quantity of the items use 'update_cart_item'

Remove unwanted items from your shopping cart by targeting specific item IDs. This tool provides precise control over cart cleanup and item removal.

Use this tool when customers want to: -Remove specific products they no longer want -Delete gift certificates from their cart -Clean up their cart before checkout -Remove items added by mistake

Features:

  • Target removal by specific item ID

  • Works with both products and gift certificates

  • Maintains cart structure after removal

  • Immediate cart updates

Flow:

  • Call 'search_products' tool to find products by search term.

  • Call 'get_product_details' tool to get product variants and images.

  • Call 'add_item_to_cart' tool to create new cart with item

  • Call 'add_item_to_cart' tool to add another item to cart

  • Call 'remove_item_from_cart' tool to remove added item to cart

  • Call 'create_checkout_url' tool to generate a checkout URL for the cart.

Requires an existing cart with items to remove.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
cartYes
messageNo
successYes
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 of disclosing behavior. It states that the item is 'removing the item completely', works with products and gift certificates, 'Maintains cart structure after removal', and provides 'Immediate cart updates'. It also notes the prerequisite of an existing cart, adding valuable context beyond a bare mutation.

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

Conciseness3/5

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

The description is structured with headings and lists, but contains redundancy (e.g., 'Remove specific items' and 'Remove unwanted items' say the same thing; the 'Features' section repeats 'Target removal by specific item ID'). The inclusion of a multi-step flow with unrelated tools makes it longer than necessary, though the structure is generally clear.

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

Completeness4/5

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

The description provides prerequisites ('Requires an existing cart with items to remove'), usage scenarios, behavior notes, and a flow. Since an output schema exists, it need not explain return values. This is fairly complete for a simple removal tool, though it could mention error handling for invalid IDs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single parameter (item_id). The description compensates by explaining the parameter meaning: 'target removal by specific item ID' and 'targeting specific item IDs'. This clearly associates the parameter with the cart item being removed, adding semantics 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?

The description clearly states the verb 'Remove' and the resource 'items from your shopping cart', with explicit distinction from the sibling tool 'update_cart_item' by noting quantity reduction is handled there. This unambiguously identifies the tool's purpose and differentiates it from 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?

The description provides explicit when-to-use scenarios (e.g., 'Remove specific products they no longer want', 'Clean up their cart before checkout') and directly names the alternative for quantity reduction ('update_cart_item'). It even includes a brief flow showing how this tool fits into a larger process.

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 by a term

Arguments: term - the search term to look for products. It should be at least 3 characters long. cursor - optional, used for pagination. If provided, it will return the next page of results after.

Pagination: Supports pagination with 'cursor' arguments. If 'cursor' is not provided, it will return the first page of results. Value for 'cursor' can be obtained from the 'nextCursor' field in the response. If 'nextCursor' is null, it means there are no more results to fetch. If value of cursor is null (or a string representation of 'null') dont send it in the payload.

Flow:

  • Call this tool with a 'term' argument and optionally with 'cursor' to search for products.

    • if you find matching product

      • and product has options available - ask user which option to choose and only after he choose call 'get_product_details' with option values as an input

      • if product has no options - you can call 'get_product_details' with the product ID to get details about the product.

  • Call 'add_item_to_cart' and with results of 'search_products' and 'get_product_details' (variant) tools to add the product to the cart.

    • [IMPORTANT] If product has variants ask user to pick

ParametersJSON Schema
NameRequiredDescriptionDefault
termYes
cursorNo
contextNoAdditional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately. Should not contains PII.

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageNo
successYes
productsYes
nextCursorNo
Behavior4/5

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

With no annotations, the description carries the full burden. It thoroughly explains pagination behavior, the 'nextCursor' field, and the rule to omit null cursors. It also discloses the need to ask users about options/variants before proceeding. However, it doesn't mention error handling, rate limits, or side effects (though search is inherently read-only).

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

Conciseness3/5

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

The description is verbose and somewhat repetitive. For example, 'ask user which option to choose' appears in both the Flow section and the final IMPORTANT note. The phrase 'with results of search_products and get_product_details (variant) tools' is awkwardly worded. While detailed, it could be more concise and better structured.

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

Completeness4/5

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

For a search tool with pagination and downstream integration, the description covers the core behavior, pagination, and workflow with sibling tools. Output schema exists, so return values are documented elsewhere. Missing are details on error cases, empty results, and sorting/filtering, but these are not critical for basic usage.

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 only 33% (only 'context' has a description), but the description compensates richly: it defines 'term' with a length constraint (at least 3 characters) and details 'cursor' pagination mechanics, including how to obtain the next cursor and the null-handling rule. This goes well 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?

The description opens with 'Search products by a term', which clearly states the verb (search), resource (products), and specific scope (by term). It also includes pagination details and distinct workflow steps, making it easily distinguishable from sibling tools like get_product_details and add_item_to_cart.

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 'Flow' section provides explicit step-by-step usage guidance, including when to call get_product_details (after search, with option selection if variants exist) and when to proceed to add_item_to_cart. It doesn't explicitly say when not to use the tool or name alternative search tools, but the workflow is clear.

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

update_cart_itemAInspect

Modify existing items in your shopping cart

Update the details of items already in your shopping cart, including changing quantities, modifying product properties, or updating item-specific configurations.

Use this tool when customers need to:

  • Change the quantity of items in their cart

  • Update product variants (size, color, etc.)

  • Modify custom properties or configurations

  • Adjust item-specific details before checkout

Features:

  • Granular control over individual cart items

  • Quantity adjustments (increase or decrease)

  • Product variant and property modifications

  • Maintains cart integrity during updates

Flow:

  • Call 'search_products' tool to find products by search term.

  • Call 'get_product_details' tool to get product variants and images.

  • Call 'add_item_to_cart' tool to create new cart with item

  • Call 'update_cart_item' tool to updatem item in the cart eq. quantity

  • Call 'create_checkout_url' tool to generate a checkout URL for the cart.

Requires an existing cart with items to modify.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemYes
line_item_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
cartYes
messageNo
successYes
Behavior2/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 of behavioral disclosure. It only states that the tool modifies cart items and "maintains cart integrity during updates," which is vague. It does not disclose behavior on invalid line_item_id, whether quantities are set absolutely or incremented, side effects, reversibility, or required auth. For a mutation tool, this is a significant gap.

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 structured with clear sections: intro, use cases, features, flow, and prerequisite. It uses bullets for readability. However, it has some redundancy (first two sentences both state the purpose) and a typo ("updatem"), and the feature bullet "Maintains cart integrity during updates" is vague. Overall, it is appropriately sized but could be tightened.

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

Completeness3/5

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

The tool has a complex nested schema for selectedOptions, and the description provides a high-level overview of use cases but lacks detail on parameter semantics. The flow section helps by directing users to get_product_details for product variants, which is useful. However, it omits error scenarios, partial update behavior, and response details (though an output schema exists). For a mutation tool with this complexity, the description is only partially complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does add some meaning by mentioning quantity adjustments, product variants, and custom properties, which map roughly to the 'item' object's quantity, variantEntityId, and selectedOptions. However, it does not explain how to structure the selectedOptions object or whether productEntityId can be changed. line_item_id is not explicitly defined, though its purpose is implied by the name.

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's purpose: "Modify existing items in your shopping cart." It uses a specific verb (modify) and resource (cart items), and explicitly lists concrete operations like changing quantities, updating product variants, and modifying custom properties. This distinguishes it from sibling tools like add_item_to_cart and remove_item_from_cart.

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 explicit use cases with "Use this tool when customers need to..." and a step-by-step flow that references sibling tools. It also mentions a prerequisite ("Requires an existing cart with items to modify"). However, it does not explicitly state when NOT to use this tool vs alternatives like remove_item_from_cart, though the use cases make that clear.

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
    -
    quality
    C
    maintenance
    MCP server for SendaMeal.com enabling AI assistants to search gift meal products, filter by dietary restrictions, and get occasion-based recommendations. Powered by Cloudflare Workers and AutoRAG.
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    Enables ordering DoorDash through Poke over text, exposing tools for restaurant discovery, cart management, promotions, and order submission with purchase safety features.
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources