Skip to main content
Glama

Server Details

Send flowers in the US: search arrangements, same-day florist delivery by ZIP, checkout links

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 42 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

A4/5.0

Scored across 9 tools

Disambiguation4/5

Most tools have clearly distinct roles across search, delivery checking, checkout, florist lookup, and order status. The main overlap is between get_checkout_link and create_prefilled_checkout, though their descriptions distinguish a plain purchase link from a saved, prefilled checkout flow.

Naming Consistency4/5

The set is consistently snake_case and mostly follows a verb_noun pattern such as search_arrangements, get_arrangement_details, and check_delivery. next_available_delivery is the main deviation because it lacks an explicit verb, but it remains readable and predictable.

Tool Count5/5

Nine tools is well-scoped for a florist directory and checkout-assistance server. Each tool covers a meaningful step in browsing, delivery validation, checkout preparation, or order lookup without obvious filler.

Completeness4/5

The surface covers discovery, arrangement details, delivery availability, location-specific guidance, checkout links, and order status. Direct order placement, cancellation, and live tracking are intentionally handled on the website or via support contacts, so the main remaining gap is limited post-order management.

Available Tools

9 tools
check_deliveryCheck delivery on a dateA
Read-onlyIdempotent
Inspect

Check whether florist delivery is available to a US ZIP code on one specific date. Availability is per ZIP and date, not per arrangement. Same-day delivery requires ordering before 1:00 PM in the recipient's local time zone, Monday through Saturday. When a date is unavailable, the result includes a reason (Sunday, past date or past the same-day cutoff) when one is known.

NameRequiredDescriptionDefault
zipYesRecipient 5-digit US ZIP code.
dateYesRequested delivery date, YYYY-MM-DD, in the recipient's local date.

Output Schema

NameRequiredDescription
zipYes
dateYes
noteYes
reasonNo
availableYes
same_day_cutoffYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare a safe, idempotent, read-only, open-world call, so the bar is lower. The description still earns credit by disclosing business rules not in structured fields: the 1:00 PM local-time same-day cutoff, Monday–Saturday operation, and that failures return a reason when known.

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?

Four sentences, front-loaded with the core question the tool answers, then scope, then timing rules, then failure behavior. Slight redundancy in restating the same-day cutoff and reason cases separately, but nothing is 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?

An output schema exists so return values needn't be spelled out, yet the description still tells the agent the result carries a reason field. For a two-param read-only availability check, the timing rules and failure semantics close every gap an agent would encounter.

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 100%, so both zip (5-digit US ZIP) and date (YYYY-MM-DD, recipient local date) are already fully documented. The description adds only the framing that availability is per ZIP and date and the local-time-zone cutoff, which is a modest gain over the schema baseline.

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?

States a specific verb and resource (check delivery availability), and pins the scope precisely: per US ZIP code and one specific date, explicitly 'not per arrangement.' That scope statement also separates it from arrangement-level siblings like get_arrangement_details and search_arrangements.

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

Usage Guidelines3/5

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

Implicit usage is clear from 'one specific date,' and the Sunday/past-date notes hint at when a check will fail. However, it never names an alternative such as next_available_delivery for finding a workable date, so the agent must infer the routing from sibling names alone.

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

create_prefilled_checkoutCreate a prefilled checkout linkAInspect

Save delivery details for one arrangement on theflowersdirectory.com for 24 hours and return a checkout link that opens with the arrangement in the cart and those details filled in, plus the price breakdown (exact total when a ZIP is given). Takes the recipient's name, venue, room or unit, card message and special instructions, with the ZIP and delivery date. It does not place an order or take payment: the customer adds the street address and phone numbers, checks the details, pays and places the order on the site.

NameRequiredDescriptionDefault
zipNoRecipient ZIP code; fills the ZIP field and gives an exact total including tax.
codeYesArrangement product code, e.g. T163-1A.
dateNoRequested delivery date, YYYY-MM-DD. Requires zip. Selected at checkout if available.
clientNoName of the assistant or app making the request (used only for attribution, e.g. "chatgpt").
venue_nameNoFuneral home, hospital, church or business name, if delivering to one.
card_messageNoMessage printed on the enclosure card, including who it is from.
room_or_unitNoApartment, suite, floor or hospital room number.
recipient_nameNoRecipient's full name (for a funeral, e.g. "Family of Jane Smith").
special_instructionsNoNotes for the florist, e.g. the deceased's name and service time for a funeral.

Output Schema

NameRequiredDescription
pricingYes
productYes
deliveryNo
product_urlYes
checkout_urlYes
how_to_orderYes
expires_in_hoursYes
prefilled_fieldsYes

TDQS

A4.1/5.0
Behavior5/5

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

Adds substantial context beyond annotations: the 24-hour retention window, that it does nothing irreversible (no order, no payment), what exactly gets prefilled, and what the customer must still supply. This makes the non-idempotent, open-world write safe and predictable to reason about.

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?

Two front-loaded sentences that open with the effect and lifetime before listing inputs and non-goals. Dense but every clause carries information; only the input enumeration mildly duplicates the schema.

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

Completeness5/5

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

Given an output schema and annotations, the description covers the remaining gaps: lifetime of the saved data, safety boundaries, and division of labor between agent and customer. Nothing needed to invoke it correctly is missing.

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 100% and every parameter already documents itself, including the zip→exact total relationship. The description groups parameters by purpose but adds no syntax or format detail 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource: saves delivery details for one arrangement for 24 hours and returns a checkout link with the cart prefilled plus a price breakdown. The 'does not place an order or take payment' clause separates it from order-placement flows, though it never names the close sibling get_checkout_link, leaving a possible ambiguity unresolved.

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?

Clear context for when to use it: when the customer wants a prefilled link rather than an immediate order, with the exact handoff described (customer adds street address, phone, pays). No explicit when-not or named alternative (e.g. get_checkout_link) is given, 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.

find_local_floristsFind local floristsA
Read-onlyIdempotent
Inspect

List florists located in a US city from The Flowers Directory's city pages, with addresses, phone numbers when listed, and the date each listing was last verified. These are directory listings: an order placed through The Flowers Directory is made and delivered by a florist in the Florist One network, which may or may not be one of the listed shops.

NameRequiredDescriptionDefault
zipNoZIP code; used to find the city when no city is given.
cityNoCity name, e.g. "Worcester".
limitNo
stateNoState name or 2-letter code, e.g. "MA".

Output Schema

NameRequiredDescription
cityYes
noteYes
stateYes
floristsYes
city_pageYes
total_listedYes
location_noteNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish that this is a read-only, idempotent, non-destructive, non-open-world lookup. The description adds meaningful behavioral context beyond the annotations: it identifies The Flowers Directory city pages as the source, notes that phone numbers are only included when listed, provides a last-verified date, and explains that ordering through The Flowers Directory may not involve one of the listed shops. That caveat is especially useful for preventing misuse.

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 two sentences with no wasted text. The core action and scope are front-loaded, and the important directory-listing caveat follows immediately. It is appropriately sized for a lookup tool.

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 covers the tool's purpose, data source, returned fields, and an important limitation about ordering and fulfillment. Annotations cover safety traits and an output schema exists, so the description need not explain return values. Minor gaps remain around how zip and city inputs interact, but the schema already documents that 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 75%, with most parameters documented in the schema itself. The description adds no parameter-specific details and does not compensate for the undocumented limit parameter. Given that the schema carries most of the parameter meaning, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: list florists in a US city from The Flowers Directory's city pages. It also states what the listing includes (addresses, phone numbers when available, last-verified date), making the tool's output scope clear. It does not explicitly name sibling tools, but it implicitly distinguishes directory lookup from ordering tools by clarifying that these are directory listings.

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

Usage Guidelines3/5

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

The description implies the tool is for finding local florist listings in a US city, and the second sentence warns that these are directory listings rather than order-placement tools. However, it does not explicitly say when to use this versus siblings like check_delivery or search_arrangements, nor does it state exclusions or alternatives. Usage is therefore inferable but not fully guided.

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

get_arrangement_detailsGet arrangement detailsA
Read-onlyIdempotent
Inspect

Return full details for one arrangement by product code: all photos, size (height x width when the florist network publishes it), full description, flowers and colors, occasions it suits, price and total before tax, the substitution policy, and delivery terms. Use it to show a customer exactly what they are buying.

NameRequiredDescriptionDefault
codeYesArrangement product code, e.g. T163-1A.

Output Schema

NameRequiredDescription
urlNo
codeNo
noteNo
sizeNo
imageNo
priceYes
titleNo
colorsNo
imagesYes
best_forNo
deliveryYes
occasionsNo
attributesNo
categoriesYes
descriptionNo
product_urlNo
delivery_feeYes
flower_typesNo
total_before_taxYes
substitution_policyYes

TDQS

A4.1/5.0
Behavior4/5

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

The annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely useful behavioral nuance beyond that: size is only present 'when the florist network publishes it', and the response includes tax-inclusive totals, a substitution policy and delivery terms — expectations an agent would otherwise have to discover by trial.

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?

Two sentences, front-loaded with the action and lookup key before the field inventory. The long run-on enumeration of returned fields partially duplicates the output schema, which is the only wasted effort.

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 single-parameter read tool with an output schema and full annotation coverage, the description supplies what is needed to invoke it correctly and know what to expect. Only the error/not-found path and the upstream source of the code are left unstated, which is a minor gap.

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 100% and the single parameter already carries an example ('T163-1A'). The description only restates that the lookup is by product code, adding no format, casing, or validation detail beyond the schema, so the baseline 3 applies.

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?

States a specific verb and resource ('Return full details for one arrangement') with an explicit retrieval key (product code) and enumerates exactly what comes back. It reads clearly against the sibling search_arrangements, since the singular 'one arrangement by product code' signals a detail fetch rather than a search.

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?

'Use it to show a customer exactly what they are buying' gives a concrete decision context for calling the tool. It does not, however, say where the code comes from (presumably search_arrangements) or what to do when a code is unknown, so no exclusions or alternatives are stated.

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

get_delivery_location_guidanceDelivery guidance for a venueA
Read-onlyIdempotent
Inspect

Return practical guidance for sending flowers to a specific kind of place: funeral_home, place_of_worship, hospital, residence, business, senior_living. Covers which arrangement types are appropriate and which to avoid, venue rules (such as hospital units that do not allow flowers), what details the florist needs, which checkout field each detail goes in, timing, and suggested search filters. With a city and state or ZIP, also lists funeral homes (for funeral_home) or hospitals (for hospital) in that city from the directory, with addresses.

NameRequiredDescriptionDefault
zipNoZIP code; used to find the city when no city is given.
cityNoCity name, for local venue listings.
limitNoMaximum venue listings to return.
stateNoState name or 2-letter code, used with city.
location_typeYesOne of: funeral_home, place_of_worship, hospital, residence, business, senior_living. Common words such as church, nursing home, office or home are accepted.

Output Schema

NameRequiredDescription
avoidNo
labelYes
guidesNo
timingNo
collectNo
appropriateNo
budget_noteNo
local_venuesNo
location_typeYes
checkout_fieldsNo
suggested_searchesNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, non-destructive), so the description's job is to add semantics — and it does: it discloses that directory listings appear only for funeral_home and hospital types and only when city+state or ZIP is supplied. It doesn't explain how the guidance degrades without a location, which is the remaining 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?

Front-loaded with the core purpose in the first clause, with supporting enumeration after. The middle content list is dense but each item (venue rules, checkout field mapping, timing, search filters) tells the agent something it would otherwise have to discover by calling.

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?

Return values need not be described since an output schema exists, and the description adequately conveys scope, the required location_type, and the conditional territory-listing behavior. A fuller definition would note behavior when location_type is residence/business (no directory listing) and any validation failures.

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 coverage is 100%, so baseline is 3; the description earns extra by explaining the interaction the schema cannot — that city/state or ZIP unlocks local venue listings and that listing type depends on location_type. It doesn't clarify what happens with city but no state, or how limit interacts, so not a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description has a clear verb ('Return practical guidance') and a precisely enumerated resource (the six venue types) plus the content covered: arrangement suitability, venue rules, checkout fields, timing, and filters. It does not explicitly distinguish itself from the closest sibling, check_delivery, so an agent must infer the boundary between 'guidance' and 'delivery feasibility'.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: this is the tool to consult when sending to a funeral_home, hospital, etc. The description does give a conditional trigger ('With a city and state or ZIP, also lists funeral homes... or hospitals'), but it never says when to prefer this over check_delivery or find_local_florists, nor any exclusions.

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

get_order_statusLook up an orderA
Read-onlyIdempotent
Inspect

Look up an existing order placed on The Flowers Directory, using the order number from the confirmation email and the email address used at checkout. Returns the items, scheduled delivery date, delivery city and whether that date is upcoming, today or past. It does not provide live courier tracking; for delivery confirmation, changes or cancellations it returns the order-help phone and text numbers.

NameRequiredDescriptionDefault
emailYesEmail address the purchaser used at checkout.
order_numberYesOrder number from the confirmation email, e.g. 123456789.

Output Schema

NameRequiredDescription
itemsYes
trackingYes
order_helpYes
order_totalYes
order_numberYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world behavior, so the safety profile is covered. The description adds real value beyond that: it enumerates what is returned (items, scheduled date, city, temporal status) and explicitly scopes out live tracking, which is the main behavioral surprise an agent could hit.

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?

Front-loaded with the action and inputs, then the return payload, then the exclusion. Every sentence carries information; it is slightly longer than strictly necessary but no sentence is filler.

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?

An output schema exists, yet the description still usefully summarizes the returned fields, and it flags the absence of live tracking plus the fallback contact route. Nothing an agent needs to call this correctly or set expectations is missing.

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 100%, with both parameters self-documented, so the baseline is 3. The description corroborates the semantics (confirmation email, checkout email) but adds no syntax or format detail beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('look up an existing order') plus the exact identifying inputs (order number from confirmation email, checkout email). It implicitly separates itself from tracking tools by stating it does not provide live courier tracking, though it never names the sibling check_delivery explicitly.

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?

Gives clear usage context: use when you have the order number and checkout email. It also sets an explicit exclusion ('does not provide live courier tracking') and redirects to the returned help phone/text numbers for confirmation, changes or cancellations. It stops short of naming alternative sibling tools by name.

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

next_available_deliveryFind the next delivery datesA
Read-onlyIdempotent
Inspect

List up to 14 upcoming delivery dates available to a US ZIP code, with the earliest date, whether same-day delivery is still possible right now in the recipient's local time (1:00 PM cutoff), and how long is left before the cutoff.

NameRequiredDescriptionDefault
zipYesRecipient 5-digit US ZIP code.

Output Schema

NameRequiredDescription
zipYes
noteYes
stateYes
same_dayNo
delivery_feeNo
delivery_daysNo
earliest_dateYes
earliest_labelNo
available_datesYes
recipient_local_timeNo

TDQS

A3.9/5.0
Behavior4/5

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

Adds real behavioral context beyond the annotations: a cap of 14 dates, a 1:00 PM local-time same-day cutoff, and a remaining-time-before-cutoff value. The annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so this supplementary timing logic is the value-add — though it doesn't say what happens outside the US or when no dates are available.

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?

A single dense sentence that front-loads the result set size, then the three derived fields. Every clause carries information; nothing is padding.

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 one-parameter read-only tool with full annotations and an output schema, the description covers the search domain, output shape, and the timing rule that governs same-day results. Nothing an agent needs in order to call it correctly is missing.

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?

Only one parameter and schema coverage is 100%, with the schema already documenting the 5-digit US ZIP pattern. The description adds little beyond 'available to a US ZIP code' — it does not say whether the ZIP must be the recipient's or how invalid/unserviceable ZIPs behave. Baseline 3 applies since the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: lists upcoming delivery dates scoped to a US ZIP code, plus the earliest date and same-day feasibility. An agent knows exactly what it returns, though it never distinguishes itself from the sibling check_delivery, which likely overlaps on deliverability questions.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: an agent can infer this is for 'when can this be delivered' questions, but there is no explicit when-to-use, when-not-to-use, or pointer to check_delivery as the alternative. Nothing is stated about what to do when the ZIP is not serviceable.

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

search_arrangementsSearch flower arrangementsA
Read-onlyIdempotent
Inspect

Search The Flowers Directory catalog of fresh flower arrangements and plants for US florist delivery, by occasion (birthday, sympathy/funeral, get well, anniversary, romance, new baby, thank you and more), color, flower type, arrangement type (vase, basket, standing spray, wreath, casket spray and more), size, budget and free text. Every result includes the product code used by the other tools, the arrangement price, a photo URL, total_before_tax (price plus the flat $19.99 delivery fee) and, when known, structured attributes: arrangement type, size tier, height and width in inches, stem count, container and who it suits (sender_fit). Returns up to 20 matches, best match first.

NameRequiredDescriptionDefault
sizeNoOne of: small (under 14 in), medium (14 to 22 in), large (over 22 in), tribute (easel, casket and floor pieces for funerals).
limitNo
queryNoFree-text keywords matched against the title and description, e.g. "blue hydrangea in a vase" or "standing spray".
budgetNoMaximum all-in amount in USD before tax (arrangement price + $19.99 delivery). Use this for "around $110"-style requests.
colorsNoColors that should appear in the arrangement (any match). Known values: red, pink, white, yellow, purple, lavender, orange, blue, green, cream, peach, coral, burgundy, gold, mixed.
occasionNoOne of: sympathy, birthday, romance, anniversary, get_well, new_baby, thank_you, mothers_day, congratulations, wedding, just_because. "funeral" is accepted as sympathy.
min_priceNoMinimum arrangement price in USD.
flower_typesNoFlower types that should appear (any match). Known values: roses, lilies, tulips, sunflowers, orchids, carnations, daisies, hydrangeas, alstroemeria, chrysanthemums, gerberas, lisianthus, snapdragons, dahlias, peonies, irises, delphinium, larkspur, gladiolus, calla lilies, freesia, ranunculus, asters, proteas, anthuriums, succulents, stock, poinsettia, plants, mixed.
arrangement_typeNoOne of: vase_arrangement, basket, floor_basket, table_arrangement, centerpiece, plant, dish_garden, wreath, standing_spray, standing_heart, standing_cross, casket_spray, casket_adornment, urn_tribute. Common words like "vase", "spray", "easel", "casket" or "urn" are accepted.

Output Schema

NameRequiredDescription
noteNo
countYes
filtersYes
currencyYes
productsYes
delivery_feeYes
total_matchesYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds real behavioral value on top: result cap of 20, best-match ordering, and the return payload including product code, photo URL, and total_before_tax defined as price plus the flat $19.99 delivery fee.

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?

Two sentences, front-loaded with the search scope before the return contract. It is dense but nearly every clause carries a distinct fact (filters, result cap, price semantics, structured attributes); a slightly tighter split of the long return sentence would improve scanability.

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 9-parameter, all-optional search tool with an output schema and full annotation coverage, the description is complete enough to call correctly: it explains the filter surface, the ranking/cap behavior, and the price semantics an agent must reason about. Nothing needed for a correct invocation is missing.

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 coverage is already 89%, so baseline is 3, but the description adds genuine nuance beyond the schema — notably that budget is all-in (price + $19.99 delivery) while min_price is arrangement price only, and it broadens the occasion vocabulary beyond the enum list. That distinction materially affects correct parameter use.

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?

States a specific verb and resource ('Search The Flowers Directory catalog of fresh flower arrangements and plants') with the delivery scope ('US florist delivery'). The filtering dimensions named (occasion, color, flower type, arrangement type, size, budget, free text) let an agent separate this discovery tool from the detail/checkout siblings without opening any schema.

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 makes the usage context clear by enumerating the browsable dimensions and noting the return shape, so an agent knows this is the entry point for finding products. It does not, however, explicitly route to siblings ('use get_arrangement_details for full detail' or 'use check_delivery for serviceability'), so the when-not guidance is inferred rather than stated.

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.

  1. 9 tool updates
    • Changedcheck_delivery1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "available": {
        +      "type": "boolean"
        +    },
        +    "date": {
        +      "type": "string"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "reason": {
        +      "properties": {
        +        "code": {
        +          "type": "string"
        +        },
        +        "message": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "code",
        +        "message"
        +      ],
        +      "type": "object"
        +    },
        +    "same_day_cutoff": {
        +      "type": "string"
        +    },
        +    "zip": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "zip",
        +    "date",
        +    "available",
        +    "same_day_cutoff",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedcreate_prefilled_checkout1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "checkout_url": {
        +      "type": "string"
        +    },
        +    "delivery": {
        +      "properties": {
        +        "available": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "date": {
        +          "type": "string"
        +        },
        +        "note": {
        +          "type": "string"
        +        },
        +        "same_day_cutoff": {
        +          "type": "string"
        +        },
        +        "zip": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "zip",
        +        "date",
        +        "available",
        +        "note"
        +      ],
        +      "type": "object"
        +    },
        +    "expires_in_hours": {
        +      "type": "number"
        +    },
        +    "how_to_order": {
        +      "type": "string"
        +    },
        +    "prefilled_fields": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "pricing": {
        +      "properties": {
        +        "currency": {
        +          "type": "string"
        +        },
        +        "delivery_fee": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "note": {
        +          "type": "string"
        +        },
        +        "price": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "tax": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "total": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        }
        +      },
        +      "required": [
        +        "currency",
        +        "tax",
        +        "total",
        +        "note"
        +      ],
        +      "type": "object"
        +    },
        +    "product": {
        +      "properties": {
        +        "attributes": {
        +          "properties": {
        +            "arrangement_type": {
        +              "type": "string"
        +            },
        +            "container": {
        +              "type": "string"
        +            },
        +            "height_in": {
        +              "type": "number"
        +            },
        +            "sender_fit": {
        +              "type": "string"
        +            },
        +            "size_tier": {
        +              "type": "string"
        +            },
        +            "stem_count": {
        +              "type": "integer"
        +            },
        +            "width_in": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [],
        +          "type": "object"
        +        },
        +        "best_for": {
        +          "type": "string"
        +        },
        +        "code": {
        +          "type": "string"
        +        },
        +        "colors": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "delivery_fee": {
        +          "type": "number"
        +        },
        +        "description": {
        +          "type": "string"
        +        },
        +        "flower_types": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "image": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "occasions": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "price": {
        +          "type": "number"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "total_before_tax": {
        +          "type": "number"
        +        },
        +        "url": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "price",
        +        "delivery_fee",
        +        "total_before_tax"
        +      ],
        +      "type": "object"
        +    },
        +    "product_url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "product",
        +    "pricing",
        +    "checkout_url",
        +    "how_to_order",
        +    "product_url",
        +    "prefilled_fields",
        +    "expires_in_hours"
        +  ],
        +  "type": "object"
        +}
    • Changedfind_local_florists1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "city": {
        +      "type": "string"
        +    },
        +    "city_page": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "florists": {
        +      "items": {
        +        "properties": {
        +          "address": {
        +            "type": "string"
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "phone": {
        +            "type": "string"
        +          },
        +          "verified_date": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "location_note": {
        +      "type": "string"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "state": {
        +      "type": "string"
        +    },
        +    "total_listed": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "city",
        +    "state",
        +    "total_listed",
        +    "florists",
        +    "city_page",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedget_arrangement_details1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "attributes": {
        +      "properties": {
        +        "arrangement_type": {
        +          "type": "string"
        +        },
        +        "container": {
        +          "type": "string"
        +        },
        +        "height_in": {
        +          "type": "number"
        +        },
        +        "sender_fit": {
        +          "type": "string"
        +        },
        +        "size_tier": {
        +          "type": "string"
        +        },
        +        "stem_count": {
        +          "type": "integer"
        +        },
        +        "width_in": {
        +          "type": "number"
        +        }
        +      },
        +      "required": [],
        +      "type": "object"
        +    },
        +    "best_for": {
        +      "type": "string"
        +    },
        +    "categories": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "code": {
        +      "type": "string"
        +    },
        +    "colors": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "delivery": {
        +      "properties": {
        +        "days": {
        +          "type": "string"
        +        },
        +        "fee": {
        +          "type": "number"
        +        },
        +        "hand_delivered": {
        +          "type": "string"
        +        },
        +        "same_day_cutoff": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "fee",
        +        "same_day_cutoff",
        +        "days"
        +      ],
        +      "type": "object"
        +    },
        +    "delivery_fee": {
        +      "type": "number"
        +    },
        +    "description": {
        +      "type": "string"
        +    },
        +    "flower_types": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "image": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "images": {
        +      "items": {
        +        "properties": {
        +          "label": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "occasions": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "price": {
        +      "type": "number"
        +    },
        +    "product_url": {
        +      "type": "string"
        +    },
        +    "size": {
        +      "type": "string"
        +    },
        +    "substitution_policy": {
        +      "type": "string"
        +    },
        +    "title": {
        +      "type": "string"
        +    },
        +    "total_before_tax": {
        +      "type": "number"
        +    },
        +    "url": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "price",
        +    "delivery_fee",
        +    "total_before_tax",
        +    "images",
        +    "categories",
        +    "substitution_policy",
        +    "delivery"
        +  ],
        +  "type": "object"
        +}
    • Changedget_checkout_link1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "checkout_url": {
        +      "type": "string"
        +    },
        +    "delivery": {
        +      "properties": {
        +        "available": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "date": {
        +          "type": "string"
        +        },
        +        "note": {
        +          "type": "string"
        +        },
        +        "same_day_cutoff": {
        +          "type": "string"
        +        },
        +        "zip": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "zip",
        +        "date",
        +        "available",
        +        "note"
        +      ],
        +      "type": "object"
        +    },
        +    "how_to_order": {
        +      "type": "string"
        +    },
        +    "pricing": {
        +      "properties": {
        +        "currency": {
        +          "type": "string"
        +        },
        +        "delivery_fee": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "note": {
        +          "type": "string"
        +        },
        +        "price": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "tax": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "total": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        }
        +      },
        +      "required": [
        +        "currency",
        +        "tax",
        +        "total",
        +        "note"
        +      ],
        +      "type": "object"
        +    },
        +    "product": {
        +      "properties": {
        +        "attributes": {
        +          "properties": {
        +            "arrangement_type": {
        +              "type": "string"
        +            },
        +            "container": {
        +              "type": "string"
        +            },
        +            "height_in": {
        +              "type": "number"
        +            },
        +            "sender_fit": {
        +              "type": "string"
        +            },
        +            "size_tier": {
        +              "type": "string"
        +            },
        +            "stem_count": {
        +              "type": "integer"
        +            },
        +            "width_in": {
        +              "type": "number"
        +            }
        +          },
        +          "required": [],
        +          "type": "object"
        +        },
        +        "best_for": {
        +          "type": "string"
        +        },
        +        "code": {
        +          "type": "string"
        +        },
        +        "colors": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "delivery_fee": {
        +          "type": "number"
        +        },
        +        "description": {
        +          "type": "string"
        +        },
        +        "flower_types": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "image": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "occasions": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "price": {
        +          "type": "number"
        +        },
        +        "title": {
        +          "type": "string"
        +        },
        +        "total_before_tax": {
        +          "type": "number"
        +        },
        +        "url": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "price",
        +        "delivery_fee",
        +        "total_before_tax"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "product",
        +    "pricing",
        +    "checkout_url",
        +    "how_to_order"
        +  ],
        +  "type": "object"
        +}
    • Changedget_delivery_location_guidance1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "appropriate": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "avoid": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "budget_note": {
        +      "type": "string"
        +    },
        +    "checkout_fields": {
        +      "additionalProperties": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    },
        +    "collect": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "guides": {
        +      "items": {
        +        "properties": {
        +          "title": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "title",
        +          "url"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "label": {
        +      "type": "string"
        +    },
        +    "local_venues": {
        +      "properties": {
        +        "city": {
        +          "type": "string"
        +        },
        +        "city_page": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "error": {
        +          "type": "string"
        +        },
        +        "location_note": {
        +          "type": "string"
        +        },
        +        "note": {
        +          "type": "string"
        +        },
        +        "state": {
        +          "type": "string"
        +        },
        +        "total_listed": {
        +          "type": "integer"
        +        },
        +        "type": {
        +          "type": "string"
        +        },
        +        "venues": {
        +          "items": {
        +            "properties": {
        +              "address": {
        +                "type": "string"
        +              },
        +              "name": {
        +                "type": "string"
        +              },
        +              "phone": {
        +                "type": "string"
        +              },
        +              "verified_date": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "name"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        }
        +      },
        +      "required": [],
        +      "type": "object"
        +    },
        +    "location_type": {
        +      "type": "string"
        +    },
        +    "suggested_searches": {
        +      "items": {
        +        "properties": {
        +          "args": {
        +            "type": "object"
        +          },
        +          "for": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "for",
        +          "args"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "timing": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "location_type",
        +    "label"
        +  ],
        +  "type": "object"
        +}
    • Changedget_order_status1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "items": {
        +      "items": {
        +        "properties": {
        +          "code": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "delivery_city": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "delivery_date": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "name": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "status": {
        +            "type": "string"
        +          },
        +          "status_note": {
        +            "type": "string"
        +          },
        +          "venue": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "status",
        +          "status_note"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "order_help": {
        +      "properties": {
        +        "phone": {
        +          "type": "string"
        +        },
        +        "text": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [],
        +      "type": "object"
        +    },
        +    "order_number": {
        +      "type": "string"
        +    },
        +    "order_total": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "tracking": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "order_number",
        +    "order_total",
        +    "items",
        +    "tracking",
        +    "order_help"
        +  ],
        +  "type": "object"
        +}
    • Changednext_available_delivery1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "available_dates": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "delivery_days": {
        +      "type": "string"
        +    },
        +    "delivery_fee": {
        +      "type": "number"
        +    },
        +    "earliest_date": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "earliest_label": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "recipient_local_time": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "same_day": {
        +      "properties": {
        +        "available_now": {
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "cutoff": {
        +          "type": "string"
        +        },
        +        "minutes_until_cutoff": {
        +          "type": "integer"
        +        },
        +        "note": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "cutoff",
        +        "note"
        +      ],
        +      "type": "object"
        +    },
        +    "state": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "zip": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "zip",
        +    "state",
        +    "earliest_date",
        +    "available_dates",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_arrangements4 fields changed
      • addedInput schema / properties / arrangement_type
        Added value: +{
        +  "description": "One of: vase_arrangement, basket, floor_basket, table_arrangement, centerpiece, plant, dish_garden, wreath, standing_spray, standing_heart, standing_cross, casket_spray, casket_adornment, urn_tribute. Common words like \"vase\", \"spray\", \"easel\", \"casket\" or \"urn\" are accepted.",
        +  "type": "string"
        +}
      • changedInput schema / properties / flower_types / description
        Previous value: -"Flower types that should appear (any match). Known values: roses, lilies, tulips, sunflowers, orchids, carnations, daisies, hydrangeas, alstroemeria, chrysanthemums, gerberas, lisianthus, snapdragons, dahlias, peonies, irises, delphinium, larkspur, gladiolus, calla lilies, freesia, ranunculus, asters, proteas, anthuriums, succulents, plants, mixed."New value: +"Flower types that should appear (any match). Known values: roses, lilies, tulips, sunflowers, orchids, carnations, daisies, hydrangeas, alstroemeria, chrysanthemums, gerberas, lisianthus, snapdragons, dahlias, peonies, irises, delphinium, larkspur, gladiolus, calla lilies, freesia, ranunculus, asters, proteas, anthuriums, succulents, stock, poinsettia, plants, mixed."
      • addedInput schema / properties / size
        Added value: +{
        +  "description": "One of: small (under 14 in), medium (14 to 22 in), large (over 22 in), tribute (easel, casket and floor pieces for funerals).",
        +  "type": "string"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "count": {
        +      "type": "integer"
        +    },
        +    "currency": {
        +      "type": "string"
        +    },
        +    "delivery_fee": {
        +      "type": "number"
        +    },
        +    "filters": {
        +      "properties": {
        +        "arrangement_type": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "budget": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "colors": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "flower_types": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "min_price": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "occasion": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "query": {},
        +        "size": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        }
        +      },
        +      "required": [],
        +      "type": "object"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "products": {
        +      "items": {
        +        "properties": {
        +          "attributes": {
        +            "properties": {
        +              "arrangement_type": {
        +                "type": "string"
        +              },
        +              "container": {
        +                "type": "string"
        +              },
        +              "height_in": {
        +                "type": "number"
        +              },
        +              "sender_fit": {
        +                "type": "string"
        +              },
        +              "size_tier": {
        +                "type": "string"
        +              },
        +              "stem_count": {
        +                "type": "integer"
        +              },
        +              "width_in": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [],
        +            "type": "object"
        +          },
        +          "best_for": {
        +            "type": "string"
        +          },
        +          "code": {
        +            "type": "string"
        +          },
        +          "colors": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "delivery_fee": {
        +            "type": "number"
        +          },
        +          "description": {
        +            "type": "string"
        +          },
        +          "flower_types": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "image": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "occasions": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "price": {
        +            "type": "number"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "total_before_tax": {
        +            "type": "number"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "price",
        +          "delivery_fee",
        +          "total_before_tax"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "total_matches": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "currency",
        +    "delivery_fee",
        +    "filters",
        +    "total_matches",
        +    "count",
        +    "products"
        +  ],
        +  "type": "object"
        +}
  2. 3 tool updates
    • Changedcreate_prefilled_checkout1 field changed
      • changedInput schema / properties / code / description
        Previous value: -"Product code from search_arrangements, e.g. T163-1A."New value: +"Arrangement product code, e.g. T163-1A."
    • Changedget_arrangement_details1 field changed
      • changedInput schema / properties / code / description
        Previous value: -"Product code from search_arrangements, e.g. T163-1A."New value: +"Arrangement product code, e.g. T163-1A."
    • Changedget_checkout_link1 field changed
      • changedInput schema / properties / code / description
        Previous value: -"Product code from search_arrangements, e.g. T163-1A."New value: +"Arrangement product code, e.g. T163-1A."
  3. 7 tool updates
    • Addedcreate_prefilled_checkout
    • Addedfind_local_florists
    • Addedget_arrangement_details
    • Addedget_delivery_location_guidance
    • Addedget_order_status
    • Addednext_available_delivery
    • Changedsearch_arrangements1 field changed
      • changedInput schema / properties / query / description
        Previous value: -"Free-text keywords matched against the title and description, e.g. \"blue hydrangea in a vase\"."New value: +"Free-text keywords matched against the title and description, e.g. \"blue hydrangea in a vase\" or \"standing spray\"."
  4. 3 tool updates
    • First observedcheck_delivery
    • First observedget_checkout_link
    • First observedsearch_arrangements

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Connects conversational AI agents to live inventories of verified neighborhood retail stores through GPS-radius catalog search, zero-PII order reservations with direct merchant checkout links, real-time fulfillment tracking, and store trust reporting. Shoppers settle payment directly with merchants while orders trigger counter terminals and courier dispatch slips.
    2
    4
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Live USPS, UPS, FedEx and DHL Express parcel rates from a US origin, domestic or to Canada, the UK, Germany and Australia, from a plain-words item description: no scale, no account, no API key. Also creates checkout links, reports checkout status, tracks parcels bought on smklog.com and serves a monthly US parcel price index.
    5
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables an AI assistant to browse restaurants and menus, manage a cart, reorder past orders, review checkout details, and place food delivery orders, returning a payment link to complete payment.
    13
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources