flowers
Server Details
Find flower arrangements, check US florist delivery by ZIP and date, get a purchase link + pricing
- Status
- Healthy
- Uptime
- 100.0% over 20 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 3 tools
Each tool addresses a distinct step in the florist purchasing flow: search for arrangements, check delivery availability by ZIP/date, and obtain a checkout link with pricing. There is slight overlap where get_checkout_link also confirms delivery, but its primary purpose is clearly the purchase link, so no confusion arises.
All three tool names follow the same verb_noun snake_case pattern: check_delivery, get_checkout_link, search_arrangements. The verbs are different but the structure is consistent and readable.
Three tools are appropriate for the server's scope, which covers the essential pre-purchase actions: discovering products, verifying delivery feasibility, and initiating checkout. Each tool is non-redundant and the count is within the ideal 3-15 range.
The tool set covers the full customer journey from search to checkout without dead ends. Search returns all necessary product data, check_delivery verifies feasibility, and get_checkout_link provides the final purchase link with pricing and delivery confirmation, covering all needed steps.
Available Tools
3 toolscheck_deliveryCheck delivery availabilityARead-onlyIdempotentInspect
Check whether florist delivery is available to a US ZIP code on a given 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.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | Yes | Recipient 5-digit US ZIP code. | |
| date | Yes | Requested delivery date, YYYY-MM-DD, in the recipient's local date. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is read-only and idempotent. The description adds useful behavioral context beyond those annotations, including the per-ZIP/per-date granularity and the same-day ordering cutoff in the recipient's local time zone. No return format or edge-case behavior is described, but for a simple availability check this is not a major gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short, purposeful sentences. The primary function is front-loaded, followed by the key scoping distinction and the operational cutoff. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only availability check with two fully documented parameters, the description is complete. It covers what the tool does, the granularity of availability, and the key same-day rule. The return value is reasonably implied by 'check whether... is available,' and no output schema exists to demand more.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both parameters and their formats. The description reinforces the semantics ('US ZIP code', 'given date') but does not add new parameter-level meaning beyond the schema; the same-day cutoff is operational context rather than parameter syntax.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('check whether florist delivery is available') and a precise resource/scope ('US ZIP code on a given date'). It also explicitly distinguishes itself from arrangement-level questions by stating availability is 'per ZIP and date, not per arrangement,' which separates it from sibling tools like search_arrangements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: checking delivery availability for a ZIP and date, and it warns that same-day delivery has a cutoff. It provides a when-not signal via 'not per arrangement,' but it does not name explicit alternatives such as 'use search_arrangements for arrangement-specific delivery details.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_checkout_linkGet a purchase link with pricingARead-onlyIdempotentInspect
Return the purchase link for an arrangement plus a price breakdown. With a recipient ZIP the breakdown includes the exact delivery fee, tax and order total; with a ZIP and date it also confirms delivery availability. Opening the link adds the arrangement to the cart and opens the cart panel; the customer clicks Checkout and enters the recipient address, delivery date, card message and payment there.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | No | Recipient ZIP code, for an exact total including tax. | |
| code | Yes | Product code from search_arrangements, e.g. T163-1A. | |
| date | No | Requested delivery date, YYYY-MM-DD. Requires zip. | |
| client | No | Name of the assistant or app making the request (used only for attribution, e.g. "chatgpt"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is covered. The description adds valuable behavioral context: opening the link adds the arrangement to the cart and opens the cart panel, and the customer completes checkout. This goes beyond the annotations and helps the agent understand side effects on the user's session.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured paragraph that front-loads the core purpose and then explains conditional behavior. It is slightly long but every sentence adds meaningful information about the link's behavior and the checkout flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description explains what the return value contains (purchase link plus price breakdown) and the conditional additions. It also covers the downstream effect of opening the link. It does not specify the exact format of the link or breakdown, but the description is sufficient for an agent to invoke the tool and understand the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters. The description adds context about how zip and date affect the breakdown (exact delivery fee, tax, order total, delivery availability), which is useful but not essential since the schema already covers the parameters. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Return'), a specific resource ('purchase link for an arrangement'), and adds a price breakdown, which clearly distinguishes it from siblings like check_delivery and search_arrangements. The title reinforces the purpose without being a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to include a ZIP and a date, and implies the tool is for generating a purchase link rather than checking delivery or searching. It does not explicitly name alternatives or state when not to use it, but the context is clear enough for an agent to select it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_arrangementsSearch flower arrangementsARead-onlyIdempotentInspect
Find flower arrangements in The Flowers Directory catalog by occasion, color, flower type, budget and free text. Every result includes the product code needed by check_delivery and get_checkout_link, the arrangement price, and total_before_tax (price plus the flat $19.99 delivery fee). Returns up to 20 matches, best match first.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | Free-text keywords matched against the title and description, e.g. "blue hydrangea in a vase". | |
| budget | No | Maximum all-in amount in USD before tax (arrangement price + $19.99 delivery). Use this for "around $110"-style requests. | |
| colors | No | Colors 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. | |
| occasion | No | One of: sympathy, birthday, romance, anniversary, get_well, new_baby, thank_you, mothers_day, congratulations, wedding, just_because. "funeral" is accepted as sympathy. | |
| min_price | No | Minimum arrangement price in USD. | |
| flower_types | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds valuable behavioral detail beyond annotations: returns up to 20 matches, orders by best match first, and discloses exactly what each result contains, including the total_before_tax calculation (price plus $19.99 delivery fee). This is substantial beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: the first states the purpose and filters, the second covers result composition and pricing semantics, and the third states the result cap and ordering. There is no redundant or filler content; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by defining the key return fields, the pricing semantics, the 20-result limit, and match ordering. All 7 optional parameters are already documented in the schema, and annotations cover safety and idempotence. Nothing critical is missing for a read-only search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (86%), and the schema already documents each parameter with known values and formats. The description mostly restates the filter dimensions at a high level and adds the pricing formula that clarifies the 'budget' parameter semantics. Since the schema carries the parameter documentation burden, a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Find flower arrangements in The Flowers Directory catalog') and enumerates the main filter dimensions. It also distinguishes itself from sibling tools by noting that results include the product code needed by check_delivery and get_checkout_link, making its role as the catalog search step clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when the tool should be used: whenever an agent needs to find or search catalog arrangements. It implicitly routes the agent to sibling tools afterward by stating the result contains the product code they need. It does not explicitly state when not to use it or name alternatives, but the context is sufficient for a search-vs-delivery/checkout distinction.
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.
3 tool updates
- First observed
check_delivery - First observed
get_checkout_link - First observed
search_arrangements
Related MCP Connectors
Send real gifts to 190+ countries: search, check delivery, get a secure checkout link.
Compare flower delivery in Germany: find bouquets by text or photo, order at partner florists.
41Search US wholesale plant growers' live availability lists and price a whole plant list. Read-only.
Order bouquets from independent Prague florists: live prices, delivery times, pay on pinflower.cz.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables 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.13MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to deconstruct outfit photos into clothing pieces, discover 100% in-stock occasion looks, verify live size and fabric availability, and generate direct one-click checkout links.4,228 npm1MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to browse product catalogs, search products with filters, and initiate checkouts, generating order summaries and checkout URLs.-
- AlicenseAqualityCmaintenanceEnables AI agents to search for products, manage shopping carts, and place grocery orders on Instacart using browser automation. It includes comprehensive tools for store discovery, product searching, and secure checkout with explicit user confirmation.1156 npm10MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.