Skip to main content
Glama

Pinflower — flowers in Prague

Server Details

Order bouquets from independent Prague florists: live prices, delivery times, pay on pinflower.cz.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.6/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct stage or concern: searching, viewing details, quoting, creating, canceling, checking status, refreshing a payment link, checking delivery, and reading store policy. Closely related tools are explicitly differentiated in their descriptions, such as check_delivery being unnecessary once search already covers a place.

Naming Consistency4/5

Most names follow a clear pinflower_ + verb_noun pattern: search_bouquets, get_bouquet, quote_order, create_order, cancel_order, get_order_status. Minor deviations are new_pay_link and store_info, which do not start with a verb, but the overall snake_case prefix convention keeps the set predictable.

Tool Count5/5

With 9 tools, the set is well-scoped for a flower ordering service: it covers discovery, details, pricing, ordering, payment link recovery, status, cancellation, and store policies. There is no redundancy or excessive granularity.

Completeness4/5

The lifecycle is nearly complete for an order-based flower shop: search, detail, quote, create, pay-link refresh, status, cancel, and delivery checks are all present. The only notable gap is the lack of an order modification tool, but the descriptions explicitly direct users to cancel and reorder instead.

Available Tools

9 tools
pinflower_cancel_orderCancel an orderA
DestructiveIdempotent
Inspect

Use this when the buyer explicitly asks to cancel an order placed through pinflower_create_order. The website's rules apply: free while the florist has not confirmed, and for a later-day order until the cut-off before its time window; a paid amount is refunded in full. Two steps: call with order_ref and confirm=true — a 6-digit code goes to the e-mail the order was placed with; then call again with the code the buyer reads from that e-mail. Not for changing an order — cancel and order again.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoThe 6-digit code from the e-mail (second call).
confirmYestrue only after the buyer confirmed they want to cancel.
order_refYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
cancelledYes
order_refYes
code_sent_toNo
refunded_czkNo

TDQS

A5/5.0
Behavior5/5

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

The annotations already mark the tool as destructive and non-read-only, and the description reinforces and expands on that by explaining the two-step confirmation flow, the emailed 6-digit code, refund behavior, and time-window rules. This adds meaningful context beyond the annotations and contradicts none of them.

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?

Every sentence serves a purpose: trigger condition, policy rules, step-by-step procedure, and exclusion of order changes. The content is dense but well organized and front-loaded with the most important usage signal.

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

Completeness5/5

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

The description fully covers when to use the tool, the ordered invocation steps, the policy constraints, and the key exclusion. With an output schema present and annotations covering safety, nothing necessary for an agent to call this tool correctly is missing.

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?

Although schema description coverage is 67%, the description explains how order_ref, confirm, and code are used across the two calls, including which parameters belong to the first versus second invocation. This adds substantial meaning beyond the raw schema.

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

Purpose5/5

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

States a specific action (cancel an order) with a clear trigger condition (buyer explicitly asks) and ties it to the related create-order tool. It also explicitly distinguishes itself from order modification, making it easy for an agent to select correctly among the sibling tools.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance: only when the buyer asks to cancel, and not for changing an order. It also details the cancellation rules and the exact two-step invocation flow, leaving no ambiguity about how to proceed.

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

pinflower_check_deliveryCheck delivery to a placeA
Read-onlyIdempotent
Inspect

Use this when the buyer asks whether Pinflower delivers to a place in Prague, how much delivery costs, how soon it can arrive, or whether flowers can come tonight — before choosing a bouquet. Pass the place as the buyer said it. Not needed when you are already searching bouquets for that place.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDelivery/pickup day: 'today', 'tomorrow' or YYYY-MM-DD (Prague). Omit for as soon as possible.
whereYesWhere the flowers go, as the buyer said it: a Prague district ('Praha 5'), a quarter ('Vinohrady', 'Smíchov') or a street address. Omit when unknown.
localeNoThe buyer's language for names, texts and links: cs, en, ru or uk (default cs).

Output Schema

ParametersJSON Schema
NameRequiredDescription
placeNo
earliestNo
floristsNo
can_deliverYes
night_deliveryNo
delivery_fee_from_czkNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds behavioral context about the scope of queries it handles (delivery feasibility, cost, timing), which goes beyond annotations. It doesn't describe return format, but an output schema exists, so this is adequate.

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 three sentences, front-loaded with the primary use case and ending with a clear exclusion. There is no wasted wording, and it reads naturally while being efficiently structured.

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

Completeness5/5

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

Given the tool's simplicity (3 params, 1 required), existing output schema, and annotations covering safety, the description covers all necessary context: when to use, what it does, and when not to use. Nothing essential is missing for an agent to call it correctly.

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 the schema already documents all parameters. The description adds one nuance: 'Pass the place as the buyer said it', reinforcing the 'where' parameter's semantics, but this is minor and doesn't significantly enhance understanding beyond the 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 tool checks delivery to a place, answering whether delivery is available, cost, arrival time, and tonight availability. It explicitly distinguishes from bouquet search by saying it's not needed when already searching bouquets, and it ties usage to pre-bouquet selection, differentiating it from other siblings like quote or order tools.

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

Usage Guidelines5/5

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

It provides explicit when-to-use conditions: when the buyer asks about delivery to a place, cost, timing, or tonight delivery before choosing a bouquet. It also gives a clear when-not-to-use: when already searching bouquets for that place, which directly references the sibling search_bouquets tool.

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

pinflower_create_orderOrder bouquets (pay on pinflower.cz)AInspect

Use this when the buyer has agreed to the total from pinflower_quote_order: it creates the order exactly like the website's checkout and returns the secure payment link on pinflower.cz. Pass the same arguments as the quote, terms_accepted=true and confirmed_total_czk = the total the buyer agreed to; if the total has changed meanwhile, nothing is created and you get the new breakdown to read back. Collect first: the bouquet(s) (bouquet_id from search; several bouquets of ONE florist with quantities in items); delivery or pickup; for delivery the street address with house number in Prague (or address_mode 'ask_recipient' when the courier should agree the address with the recipient — a surprise); the recipient's name and phone when someone else receives the flowers; the date and a time (one of the times pinflower_get_bouquet offers, or 'asap', or 'agree_with_recipient'); the buyer's name, e-mail and phone (+420…); an optional card message and note for the florist; and ask whether they have a promo code; ask whether it is a purchase for a company (IČO). Above 10 000 Kč the buyer's billing address is required. Nothing is charged here and the florist is not told until the buyer pays.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes'today', 'tomorrow' or YYYY-MM-DD.
timeYesHH:MM from the offered times, 'asap', or 'agree_with_recipient' (the florist agrees the time with the recipient by phone; delivery only).
unitNoApartment, floor, company at the door.
buyerYes
itemsNoSeveral bouquets from the SAME florist, with quantities.
localeNo
addressNoDelivery to a known address: street and house number in Prague.
companyNoBuying for a company — the invoice is issued to it.
recipientNoWho receives the flowers, when it is someone else than the buyer — the courier calls them; required when the address or the time is agreed with the recipient.
bouquet_idNoOne bouquet (shortcut for items with a single line).
florist_idNoThe florist — needed only when the order is a custom bouquet alone.
fulfilmentNo
promo_codeNoThe buyer's promo code, if they have one — works for guests and signed-in buyers alike; the checkout checks it.
address_modeNoask_recipient = the courier/florist agrees the address with the recipient by phone (a surprise); no address needed, delivery priced at the whole-city rate.
card_messageNo
courier_noteNoBell name, entrance, gate code.
florist_noteNo
order_intentYesorder_intent from pinflower_quote_order. Retrying this call (e.g. the answer got lost) keeps it — the same order comes back; a new purchase needs a new quote.
terms_acceptedYestrue only after the buyer agreed to the terms.
billing_addressNoThe buyer's billing address — required by Czech tax rules when the order is over 10 000 Kč (unless buying for a company).
marketing_opt_inNoOnly true if the buyer asked for news and offers.
confirmed_total_czkYestotal_czk from pinflower_quote_order that the buyer agreed to — a different total refuses the order.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pay_urlYes
order_refYes
total_czkYes
order_numberNo

TDQS

A4.8/5.0
Behavior5/5

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

It discloses important side effects beyond sparse annotations: nothing is charged, the florist is not told until the buyer pays, a changed total creates nothing, and retrying with the same order_intent returns the same order. This is exactly the behavioral context an agent needs before invoking a checkout-creating tool.

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

Conciseness5/5

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

Though long, the description is dense and well organized: trigger, arguments, mismatch behavior, collection checklist, conditional requirement, and side-effect safety. Every sentence carries operational value for a 22-parameter tool.

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 complex purchase-creating tool with sparse annotations, the description covers when to call it, what to collect, how to confirm the agreed total, what happens on mismatch, and what side effects occur. An output schema exists, so the return value does not need to be spelled out in prose.

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

Parameters5/5

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

The description adds significant meaning beyond the schema: pass the same arguments as the quote, set terms_accepted=true, and set confirmed_total_czk to the agreed total. It also explains that a mismatch blocks creation, lists what to collect first, and calls out the conditional billing-address requirement over 10,000 Kč.

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 names a specific action with a clear resource: it creates the order like the website's checkout and returns the secure payment link on pinflower.cz. It also ties the tool to a precise precondition (agreement on the quote total), which distinguishes it from quote and search siblings.

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 trigger is explicit: use this when the buyer has agreed to the total from pinflower_quote_order. It gives collection steps and the total-change fallback, but does not explicitly name alternatives or state 'do not use before quoting'; the when-to-use is clear, but exclusion guidance is mostly implied.

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

pinflower_get_bouquetBouquet details and timesA
Read-onlyIdempotent
Inspect

Use this when the buyer is interested in one bouquet from pinflower_search_bouquets: what is inside, its size, photos, the florist's rating, the exact price with delivery and every time it can arrive on a given day. Needs bouquet_id from a search. Not for comparing many bouquets — search does that.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDelivery/pickup day: 'today', 'tomorrow' or YYYY-MM-DD (Prague). Omit for as soon as possible.
whereNoWhere the flowers go, as the buyer said it: a Prague district ('Praha 5'), a quarter ('Vinohrady', 'Smíchov') or a street address. Omit when unknown.
localeNoThe buyer's language for names, texts and links: cs, en, ru or uk (default cs).
bouquet_idYes
fulfilmentNodelivery (default) or pickup at the florist's shop.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
slotsNo
bouquet_idYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint, so safety is covered. The description adds useful behavioral context beyond that: it computes exact delivery prices and all arrival slots for a given day, and depends on a prior search result. No contradiction with annotations.

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 compact and front-loaded with the primary use case, then the required input, then the key exclusion. Every sentence earns its place without redundancy or 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?

Given the output schema exists and annotations cover read-only/idempotent behavior, the description completes the picture: trigger condition, prerequisite, scope, and what results to expect. Nothing essential is missing for correct invocation.

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 80%, so the baseline is 3. The description adds extra meaning by explaining that bouquet_id comes specifically from a search and by linking the date parameter to arrival-time and delivery-price computation, which is not fully captured in the 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 names a specific verb and resource: getting details for one bouquet selected from pinflower_search_bouquets. It also enumerates the returned content — contents, size, photos, florist rating, exact delivery price, and arrival times — and explicitly contrasts with the search sibling for comparing many bouquets.

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 states exactly when to use this tool ('when the buyer is interested in one bouquet'), the prerequisite ('Needs bouquet_id from a search'), and the exclusion ('Not for comparing many bouquets — search does that'). This gives the agent clear routing guidance versus its siblings.

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

pinflower_get_order_statusOrder statusA
Read-onlyIdempotent
Inspect

Use this when the buyer asks what is happening with an order placed through pinflower_create_order — whether it is paid, confirmed by the florist, on the way or delivered. Needs the order_ref that pinflower_create_order returned. It changes nothing — for a new payment link use pinflower_new_pay_link, to cancel pinflower_cancel_order.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeNoThe buyer's language for names, texts and links: cs, en, ru or uk (default cs).
order_refYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
paidYes
stepYes
order_refYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover the read-only, idempotent, non-destructive profile. The description reinforces 'It changes nothing' (redundant) but adds the prerequisite that order_ref must come from pinflower_create_order, which is useful context beyond annotations.

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?

Two sentences, front-loaded with the use case, then the prerequisite and exclusions. No filler or repetition.

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

Completeness5/5

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

For a simple read-only status tool with an output schema present, the description covers purpose, required parameter, and differentiation from siblings. Nothing an agent needs 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.

Parameters4/5

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

Schema description coverage is 50% (locale documented, order_ref not). The description compensates for order_ref by explaining its origin ('the order_ref that pinflower_create_order returned'), which is essential. It doesn't add extra detail for locale, but the schema already covers it.

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 clear, specific purpose: checking the status of an order (paid, confirmed, on the way, delivered) and ties it to a prior creation step. It explicitly names alternatives (pinflower_new_pay_link, pinflower_cancel_order) that it is not, distinguishing it from siblings.

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

Usage Guidelines5/5

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

It gives a direct when-to-use condition ('when the buyer asks what is happening with an order'), requires a specific prerequisite (order_ref from pinflower_create_order), and explicitly lists exclusions for two other tools. This is clear, actionable guidance.

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

pinflower_quote_orderPrice the orderA
Read-onlyIdempotent
Inspect

Use this when the buyer has chosen what to order and you have the details: it prices the order exactly as the checkout will charge it — the bouquet(s), add-ons, the shop's launch discount or the buyer's promo code, the delivery fee — and checks the time, without creating anything. Collect first: the bouquet(s) (bouquet_id from search; several bouquets of ONE florist with quantities in items); delivery or pickup; for delivery the street address with house number in Prague (or address_mode 'ask_recipient' when the courier should agree the address with the recipient — a surprise); the recipient's name and phone when someone else receives the flowers; the date and a time (one of the times pinflower_get_bouquet offers, or 'asap', or 'agree_with_recipient'); the buyer's name, e-mail and phone (+420…); an optional card message and note for the florist; and ask whether they have a promo code; ask whether it is a purchase for a company (IČO). Above 10 000 Kč the buyer's billing address is required. Read the breakdown and the terms link back to the buyer; after their yes call pinflower_create_order with the same arguments, terms_accepted=true and confirmed_total_czk. Call it again after any change.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes'today', 'tomorrow' or YYYY-MM-DD.
timeYesHH:MM from the offered times, 'asap', or 'agree_with_recipient' (the florist agrees the time with the recipient by phone; delivery only).
unitNoApartment, floor, company at the door.
buyerYes
itemsNoSeveral bouquets from the SAME florist, with quantities.
localeNo
addressNoDelivery to a known address: street and house number in Prague.
companyNoBuying for a company — the invoice is issued to it.
recipientNoWho receives the flowers, when it is someone else than the buyer — the courier calls them; required when the address or the time is agreed with the recipient.
bouquet_idNoOne bouquet (shortcut for items with a single line).
fulfilmentNo
promo_codeNoThe buyer's promo code, if they have one — works for guests and signed-in buyers alike; the checkout checks it.
address_modeNoask_recipient = the courier/florist agrees the address with the recipient by phone (a surprise); no address needed, delivery priced at the whole-city rate.
card_messageNo
courier_noteNoBell name, entrance, gate code.
florist_noteNo
billing_addressNoThe buyer's billing address — required by Czech tax rules when the order is over 10 000 Kč (unless buying for a company).
marketing_opt_inNoOnly true if the buyer asked for news and offers.

Output Schema

ParametersJSON Schema
NameRequiredDescription
discountNo
goods_czkYes
next_stepYes
terms_urlYes
total_czkYes
delivery_fee_czkYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare the tool read-only, idempotent, and non-destructive; the description adds that it mirrors the checkout's final price (including launch discount or promo code and delivery fee) and validates the requested time. It also discloses that the call returns a breakdown with a terms link for the buyer, which is useful and not contradictory to the annotations.

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 front-loaded with trigger and behavior, then procedurally lists required information. It is dense but not padded; the only structural weakness is the long run-on collection checklist that would be easier to scan as bullets.

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

Completeness5/5

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

Given the tool's complexity (18 parameters, nested objects, enums) and the existence of an output schema, the description is complete: it covers triggers, prerequisites, conditional requirements, next steps, and re-invocation. Minor unmentioned parameters like locale and unit are sufficiently documented in the schema.

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?

Even though the schema covers 72% of parameters, the description adds crucial semantics: items must be from ONE florist, address is 'street and house number in Prague,' address_mode='ask_recipient' is linked to a surprise and whole-city rate, recipient is required when someone else receives flowers, and billing_address is required above 10 000 Kč. It also prescribes the order and manner of collecting buyer, company, and promo-code data, effectively compensating for schema gaps.

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 specifies a concrete action ('prices the order exactly as the checkout will charge it'), names the resource (the order), and enumerates the pricing components (bouquets, add-ons, discounts/promo, delivery fee). It also differentiates from the sibling pinflower_create_order by stating 'without creating anything' and referring the buyer's 'yes' to that tool.

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

Usage Guidelines5/5

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

It leads with an explicit trigger condition ('when the buyer has chosen what to order and you have the details') and lays out the information to collect before calling. It names pinflower_get_bouquet as the source for valid times and instructs to call pinflower_create_order with the same arguments after acceptance, and to 'Call it again after any change' – giving clear when-to-use and when-to-recall guidance.

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

pinflower_search_bouquetsFind bouquetsA
Read-onlyIdempotent
Inspect

Use this when the buyer wants flowers delivered in Prague (or picked up there) and you need concrete bouquets: it returns only bouquets that can really arrive at the given place and time, with price, delivery fee, total and the earliest delivery time, in the storefront's recommended order. Pass what the buyer said: free text, occasion, budget, where, date and a deliver-by time. Do not use it for general flower advice or for orders outside Prague. Show 3–6 results; then use pinflower_get_bouquet for details or pinflower_create_order to order.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoDelivery/pickup day: 'today', 'tomorrow' or YYYY-MM-DD (Prague). Omit for as soon as possible.
sortNorecommended (default, the storefront's order), cheapest, most expensive, or soonest arrival.
limitNoHow many results (default 6).
queryNoFree text in any language: flower, colour or bouquet name, e.g. 'red roses', 'tulipány', 'пионы'.
styleNoas_pictured = looks like the photo; florists_style = composed fresh by the florist in that spirit.
whereNoWhere the flowers go, as the buyer said it: a Prague district ('Praha 5'), a quarter ('Vinohrady', 'Smíchov') or a street address. Omit when unknown.
detailNofull adds composition and a short description (default short).
localeNoThe buyer's language for names, texts and links: cs, en, ru or uk (default cs).
categoryNoA category slug as results show it (e.g. roses, tulips).
currencyNoAdd an approximate EUR/USD preview for a buyer abroad (default czk). The charge is always in CZK.
occasionNoOnly when the buyer named the occasion. Never assume 'sympathy'.
ready_nowNoOnly bouquets already made and waiting (fastest).
deliver_byNoHH:MM (24 h): must arrive by then. Without date it means today.
fulfilmentNodelivery (default) or pickup at the florist's shop.
free_deliveryNoOnly bouquets with free delivery.
budget_max_czkNoBouquet price limit in CZK (delivery not included).
budget_min_czkNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
emptyNo
resultsYes
currencyNo
interpretedYes
total_foundYes

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already mark the call as read-only and idempotent, and the description adds a concrete behavioral contract: only bouquets that can actually arrive at the given place/time, with price, delivery fee, total, earliest delivery time, and the storefront's recommended order. No contradiction with annotations.

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 four purposeful, information-dense sentences with no filler. It front-loads the trigger condition and behavioral guarantee, then gives input guidance, exclusions, and next steps efficiently.

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

Completeness5/5

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

Despite 17 parameters, the description plus 94% schema coverage and an output schema cover the full calling context: when to use it, what to pass, what results contain, and what to do next. Nothing essential for selecting and invoking the tool 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 94%, so the schema already documents the parameters well. The description adds useful guidance by telling the agent to pass the buyer's own words for free text, occasion, budget, where, date, and deliver-by time, plus an explicit result-count expectation of 3–6.

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 — returning concrete, deliverable bouquets — and scopes it to Prague delivery/pickup. It clearly distinguishes the tool from general flower advice and from other tools like get_bouquet or store_info.

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

Usage Guidelines5/5

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

It explicitly says when to use this tool (buyer wants flowers delivered/picked up in Prague and needs concrete bouquets) and when not to ('Do not use it for general flower advice or for orders outside Prague'). It also routes follow-up actions to pinflower_get_bouquet and pinflower_create_order.

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

pinflower_store_infoHow Pinflower worksA
Read-onlyIdempotent
Inspect

Use this when the buyer asks how ordering works: payment and when the card is charged, delivery area and fees, anonymous delivery and the card message, what happens if nobody is home, returns and complaints, or how to contact Pinflower. Answers come from the shop's own pages, with links. Not for bouquet availability — use search for that.

ParametersJSON Schema
NameRequiredDescriptionDefault
localeNoThe buyer's language for names, texts and links: cs, en, ru or uk (default cs).

Output Schema

ParametersJSON Schema
NameRequiredDescription
faqYes
factsNo
linksYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds valuable context that answers come from the shop's own pages with links, which informs the agent about the response format and source. No contradiction with annotations.

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?

Two sentences, front-loaded with the primary use case, then the exclusion. Zero filler, every clause earns its place.

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 read-only informational tool with a single well-documented parameter and an output schema, the description covers the key decision factors: when to invoke, what it returns (links from shop pages), and what it excludes. Nothing an agent needs 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 description coverage is 100%, with the locale parameter fully documented via enum and description. The description doesn't need to add param detail, and it doesn't – a baseline 3 is appropriate since schema carries the meaning.

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 verb ('use this when') and resource ('how ordering works'), and explicitly excludes bouquet availability, naming the alternative tool. It clearly distinguishes from siblings like pinflower_search_bouquets and pinflower_get_bouquet.

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

Usage Guidelines5/5

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

It explicitly says when to use (buyer asks about ordering mechanics) and when not to use (bouquet availability), pointing to 'search'. This leaves no ambiguity about routing to the correct tool.

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
    • First observedpinflower_cancel_order
    • First observedpinflower_check_delivery
    • First observedpinflower_create_order
    • First observedpinflower_get_bouquet
    • First observedpinflower_get_order_status
    • First observedpinflower_new_pay_link
    • First observedpinflower_quote_order
    • First observedpinflower_search_bouquets
    • First observedpinflower_store_info

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources