Skip to main content
Glama

Blumee — flower delivery comparison (Germany)

Server Details

Compare flower delivery in Germany: find bouquets by text or photo, order at partner florists.

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
99.8% over 30 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation4/5

The four tools have largely distinct purposes: browse_catalog handles structured attribute filtering, search_flower_offers handles free-form text, match_bouquet_photo handles images, and get_flower_offer retrieves a single offer by id. The only mild overlap is between browse_catalog and search_flower_offers, but the descriptions explicitly delineate when to use each, keeping ambiguity low.

Naming Consistency5/5

All tool names use consistent snake_case with a clear verb_noun pattern (browse_catalog, get_flower_offer, match_bouquet_photo, search_flower_offers). The naming is predictable and readable throughout, with no mixing of conventions.

Tool Count4/5

Four tools is a tight, well-scoped set that maps cleanly onto the core workflows (browse, search, photo-match, detail lookup). It is slightly on the lean side, but each tool clearly earns its place with no redundancy.

Completeness4/5

The surface covers the main discovery and comparison lifecycle: structured browsing, free-form search, visual matching, and per-offer detail with cross-shop/size comparison via same_bouquet_offers. Minor gaps exist (no dedicated shop listing or explicit price-comparison aggregate), but agents can work around these using existing tools.

Available Tools

4 tools
browse_catalogBrowse catalogA
Read-onlyIdempotent
Inspect

List offers by exact attributes: flower, colour, occasion, shop, price range, delivery time, with sorting and paging. Use this to answer "what does shop X have", "cheapest tulips", or to page through everything matching a filter. The first call (no cursor) also returns available_values — the valid flower, colour, occasion and shop values. For free-form wishes use search_flower_offers.

NameRequiredDescriptionDefault
sortNoResult order. Default mixes shops.
limitNoHow many offers to return (default 8, max 20).
shopsNoShop names exactly as listed in available_values.shops.
colorsNoColour values exactly as listed in available_values.colors.
cursorNonext_cursor from a previous browse_catalog call, for the next page.
flowersNoGerman flower names exactly as listed in available_values.flowers (e.g. "Rose", "Tulpe").
occasionsNoOccasion keywords, e.g. "birthday", "valentines", "Geburtstag". Matched as substrings.
max_price_eurNoUpper price limit in EUR, inclusive. Hard filter.
min_price_eurNoLower price limit in EUR. Hard filter.
max_delivery_daysNoLatest acceptable delivery, in days from today, for an address in Germany (1 = tomorrow). If the user names a date, convert it to days. Hard filter on the shop-stated delivery time.

Output Schema

NameRequiredDescription
offersYes
next_cursorYes
total_matchesYes
available_valuesNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare the safe read-only/idempotent profile, so the bar is lower. The description adds genuinely useful behavior beyond that: the first call (no cursor) returns available_values with valid filter values, clarifying the pagination/initialization flow. It stops short of describing result shape, but the output schema covers that.

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?

Three front-loaded sentences: filtering dimensions, selection scenarios, and the initial-call/alternative guidance. No sentence is wasted and the most decision-relevant information leads.

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?

With an output schema covering return values and annotations covering the safety profile, the description supplies what's left: the attribute-matching model, the initial available_values behavior, and routing to the free-form sibling. Nothing needed 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?

Schema description coverage is 100%, so the schema fully documents the 10 parameters including exact-value and substring-match conventions. The description restates the filter set without adding syntax or edge-case 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 (List) and resource (offers) plus the filtering dimensions (flower, colour, occasion, shop, price, delivery), and explicitly routes free-form queries to search_flower_offers. An agent can distinguish this from siblings like get_flower_offer and match_bouquet_photo without opening a schema.

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?

Gives concrete when-to-use examples ("what does shop X have", "cheapest tulips", paging) and names the alternative for free-form wishes. The condition that selects search_flower_offers over this tool is stated explicitly.

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

get_flower_offerGet flower offerA
Read-onlyIdempotent
Inspect

Get full details of one offer by id: description, all images, size, species, delivery terms — and the same bouquet in other sizes or at other shops (same_bouquet_offers), for comparing prices. Use after a search when the user asks about a specific offer.

NameRequiredDescriptionDefault
offer_idYesOffer id (UUID) as returned by any Blumee search tool.

Output Schema

NameRequiredDescription
offerYes
same_bouquet_offersYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description adds real behavioral context beyond them: it discloses that the response is enriched with the same bouquet at other sizes/shops for price comparison, which is non-obvious aggregation behavior. It omits what happens on an unknown id, which keeps it short of a 5.

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, no filler. The return contents are front-loaded immediately after the verb+resource, and the usage trigger is placed last where it doesn't obstruct the core statement.

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 single-parameter read with an output schema and full annotation coverage, the description supplies everything an agent needs: what it fetches, the id's provenance, the extra cross-shop data, and when to reach for it. No meaningful gap remains.

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% — the schema itself documents that offer_id is a UUID returned by any Blumee search tool. The description's 'by id' adds no syntax, format, or sourcing detail beyond that, 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 (get one offer by id) and enumerates the payload it returns: description, images, size, species, delivery terms, and same_bouquet_offers price comparisons. This is clearly distinguishable from the sibling search/browse/match tools, which operate on sets rather than a single offer.

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 a concrete trigger: 'Use after a search when the user asks about a specific offer.' That tells the agent when this tool applies and implicitly positions the search siblings as the discovery step, though it never states an explicit when-not or names an alternative by name.

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

match_bouquet_photoMatch bouquet photoA
Read-onlyIdempotent
Inspect

Use this tool when the user provides a photo of a bouquet or flower arrangement and wants to find visually similar products available through Blumee. Identifies the flowers and colours in the photo (Pl@ntNet + vision model) and returns the closest real offers. Send the photo as image_file (attached file), image_url (public https) or image_base64 — exactly one. If you can see the photo but cannot pass it to this tool, call search_flower_offers with your own description instead. Takes ~5-15 s.

NameRequiredDescriptionDefault
limitNoHow many offers to return (default 8, max 20).
image_urlNoPublic https URL of the photo (JPEG, PNG, WebP or HEIC, max 8 MB).
image_fileNoThe photo the user attached (ChatGPT fills this automatically from the attachment).
image_base64NoBase64 of the image file, for programmatic clients only (max 8 MB decoded).
max_price_eurNoUpper price limit in EUR, inclusive. Hard filter.
max_delivery_daysNoLatest acceptable delivery, in days from today, for an address in Germany (1 = tomorrow). If the user names a date, convert it to days. Hard filter on the shop-stated delivery time.

Output Schema

NameRequiredDescription
hintNoWhat to try next when the result is empty.
offersYes
analysisYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, non-destructive. The description adds latency expectations (~5-15 s), the internal pipeline (Pl@ntNet + vision model), and the mutually-exclusive input constraint, which the annotations cannot express. It does not discuss failure modes when no match is found.

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 trigger condition, then mechanism, input options, fallback, and latency. Every sentence carries information, though the parenthetical about Pl@ntNet is slightly incidental and the sentence could be tightened.

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?

With an output schema present, the description need not explain return values. It covers trigger, input routing, fallback path, and runtime — everything an agent needs before invoking a 6-parameter, no-required-parameter tool.

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 the baseline is 3. The description earns above baseline by stating that exactly one of image_file/image_url/image_base64 must be supplied — a cross-parameter constraint the schema cannot express — and by clarifying what image_file represents (the attached photo, auto-filled by the client).

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 (match), resource (bouquet photo), and the concrete outcome: identifying flowers/colours and returning visually similar real offers. This is clearly distinguishable from browse_catalog, get_flower_offer, and search_flower_offers.

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?

Explicitly frames the trigger condition (user provides a bouquet photo and wants similar products) and names a concrete alternative path: if the photo cannot be passed through, call search_flower_offers with a description. This is exactly the when/when-not/alternatives structure.

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

search_flower_offersSearch flower offersA
Read-onlyIdempotent
Inspect

Find real flower bouquets and potted plants for sale, from a description. Use this whenever the user asks for flowers in words: a flower type, colour, occasion, recipient, budget or delivery deadline (e.g. 'red roses under 40 EUR for tomorrow', 'something cheerful for a colleague'). Pass the request as query in any language; add structured fields when you know them. Also use it when the user shows a photo but match_bouquet_photo cannot receive the file: describe the flowers, colours and style you see and search with those. Returns ranked offers with price, shop, delivery time and links.

NameRequiredDescriptionDefault
limitNoHow many offers to return (default 8, max 20).
queryYesWhat the user is looking for, in their own words, any language (e.g. 'pink peonies for my mum's birthday'). Required.
styleNoStyle, e.g. rustic, minimalist, romantic, wild meadow.
colorsNoColours, any language.
flowersNoFlower or plant types, any language (e.g. ["roses", "eucalyptus"]).
occasionNoOccasion, e.g. birthday, thank you, wedding, anniversary.
recipientNoWho the flowers are for, e.g. mother, colleague, partner.
max_price_eurNoUpper price limit in EUR, inclusive. Hard filter.
min_price_eurNoLower price limit in EUR. Hard filter.
max_delivery_daysNoLatest acceptable delivery, in days from today, for an address in Germany (1 = tomorrow). If the user names a date, convert it to days. Hard filter on the shop-stated delivery time.

Output Schema

NameRequiredDescription
hintNoWhat to try next when the result is empty.
offersYes
total_matchesYes
query_understoodYes

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and a closed-world scope, so the safety profile is covered. The description adds genuine context on top of that: results are ranked offers carrying price, shop, delivery time and links, and the tool searches real listed inventory rather than generating suggestions. It stops short of describing pagination or ranking criteria, which keeps it below a 5.

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?

One front-loaded paragraph that opens with the core purpose before branching into usage cases, the photo fallback, and the return shape. Dense and mostly waste-free, though the photo-fallback sentence is long and slightly convoluted.

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?

A complete picture for a 10-parameter search tool: purpose, trigger conditions, query-vs-structured-field guidance, the sibling fallback path, and an indication of what comes back. With an output schema present and full schema coverage, nothing an agent needs in order to call this 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 100%, so the structural baseline is 3. The description still earns credit by explaining the intended split between free-text 'query' (any language, user's own words) and the optional structured fields ('add structured fields when you know them'), which tells the agent how to combine the two rather than just what each field holds.

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 ('Find real flower bouquets and potted plants for sale') and scopes the input as 'from a description'. It also explicitly carves out its relationship to the sibling match_bouquet_photo, so an agent can separate the two tools without opening either schema.

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?

Gives explicit when-to-use conditions ('whenever the user asks for flowers in words') with concrete worked examples covering type, colour, occasion, recipient, budget and deadline. It also names the alternative and the exact condition that routes to it: use this when a photo is shown but match_bouquet_photo cannot receive the file.

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. 2 tool updates
    • Changedbrowse_catalog1 field changed
      • changedInput schema / properties / occasions / description
        Previous value: -"Occasion keywords, e.g. \"birthday\", \"funeral\", \"Geburtstag\". Matched as substrings."New value: +"Occasion keywords, e.g. \"birthday\", \"valentines\", \"Geburtstag\". Matched as substrings."
    • Changedsearch_flower_offers1 field changed
      • changedInput schema / properties / occasion / description
        Previous value: -"Occasion, e.g. birthday, funeral, thank you, wedding, anniversary."New value: +"Occasion, e.g. birthday, thank you, wedding, anniversary."
  2. 4 tool updates
    • Changedbrowse_catalog1 field changed
      • addedOutput schema / properties / offers / items / properties / image_url / description
        Added value: +"Product photo, ~640 px WebP on img.blumee.app (the shop original until it is mirrored)."
    • Changedget_flower_offer2 fields changed
      • addedOutput schema / properties / offer / properties / image_url / description
        Added value: +"Product photo, ~640 px WebP on img.blumee.app (the shop original until it is mirrored)."
      • addedOutput schema / properties / offer / properties / image_urls / description
        Added value: +"Up to 5 product photos, largest hosted copy of each."
    • Changedmatch_bouquet_photo1 field changed
      • addedOutput schema / properties / offers / items / properties / image_url / description
        Added value: +"Product photo, ~640 px WebP on img.blumee.app (the shop original until it is mirrored)."
    • Changedsearch_flower_offers1 field changed
      • addedOutput schema / properties / offers / items / properties / image_url / description
        Added value: +"Product photo, ~640 px WebP on img.blumee.app (the shop original until it is mirrored)."
  3. 4 tool updates
    • First observedbrowse_catalog
    • First observedget_flower_offer
    • First observedmatch_bouquet_photo
    • First observedsearch_flower_offers

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to order flowers from a Munich florist, including search, availability check, cart creation, and checkout link generation.
    66 npm
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Enables users to search parts and products across German and global retailers, inspect item details, and manage per-store shopping carts with accurate shipping, pickup options, and free-shipping thresholds.
    11
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Crane rental (Kranvermietung) data for Germany and Austria from KranVergleich.de: find rental companies by city, price ranges for 8 crane types, crane type recommendation and supplier availability per PLZ.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources