Skip to main content
Glama

Blumen Komander München

create_cart

Legt einen Warenkorb bei Blumen Komander an und fügt einen Blumenstrauß hinzu. Setzt Lieferdatum, Lieferadresse, Zahlungsmethode und optional eine Grußkarte. PFLICHTANGABEN: gewählter Strauß, Lieferdatum, Vor- und Nachname des Empfängers, Straße und Hausnummer, PLZ, E-Mail des Bestellers. FREIWILLIG, aber dem Kunden aktiv anbieten: Telefonnummer des Empfängers (sonst kann der Fahrer nicht anrufen, wenn niemand öffnet), Grußkartentext (sonst kommt der Strauß ohne Karte), abweichende Rechnungsadresse (sonst gilt die Lieferadresse), Zahlungsart (Standard Kreditkarte/Apple Pay/Google Pay = stripe, sonst paypal oder sepa), Anzahl (Standard 1) und Ort (Standard München). Die Antwort enthält unter 'angaben' eine Liste aller nicht ausgefüllten Felder samt Kennzeichnung Pflicht/freiwillig und dem Satz 'dem_kunden_sagen' - diesen Hinweis dem Kunden weitergeben, damit er den kompletten Ablauf kennt, ohne die Website zu öffnen. Den vollständigen Bestellablauf liefert get_shop_info unter 'bestellablauf'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoStadt (Standard: München)
emailYesE-Mail des Bestellers
phoneNoTelefonnummer Empfänger
expressNotrue = Express-Lieferung per Kurier noch heute. Der Preis wird live bei Uber angefragt und als eigene Position berechnet. Vorher check_express aufrufen und dem Kunden den Preis nennen. Nicht mit Abholung kombinierbar.
quantityNoAnzahl (Standard: 1)
address_1NoStraße und Hausnummer - Pflicht bei Lieferung, entfällt bei Abholung
last_nameYesNachname Empfänger
first_nameYesVorname Empfänger
variant_idYesID der gewählten Produktvariante
pickup_timeNoNur bei Abholung: Wunschuhrzeit, z. B. '14:00'. Öffnungszeiten Mo-Fr 08:00-18:30, Sa 08:00-13:00.
postal_codeNoPLZ - Pflicht bei Lieferung, entfällt bei Abholung
wunsch_textNoNur beim Wunschstrauß: Beschreibung, was gebunden werden soll. Ohne diesen Text kann der Wunschstrauß nicht gebunden werden, er ist dort Pflicht.
billing_cityNoStadt Rechnungsadresse
delivery_dateYesLieferdatum YYYY-MM-DD, bei Abholung das Abholdatum
delivery_modeNolieferung (Standard) oder abholung im Laden, Heßstraße 37, 80798 München
greeting_cardNoText für die Grußkarte
payment_providerNoZahlungsmethode: stripe (Kreditkarte, Apple Pay, Google Pay), paypal oder sepa (SEPA-Lastschrift). Standard: stripe.
billing_address_1NoStraße Rechnungsadresse
billing_last_nameNoNachname Rechnungsadresse
billing_first_nameNoVorname Rechnungsadresse
billing_postal_codeNoPLZ Rechnungsadresse

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • changedInput schema / properties / address_1 / description
      Previous value: -"Straße und Hausnummer"New value: +"Straße und Hausnummer - Pflicht bei Lieferung, entfällt bei Abholung"
    • changedInput schema / properties / delivery_date / description
      Previous value: -"Lieferdatum YYYY-MM-DD"New value: +"Lieferdatum YYYY-MM-DD, bei Abholung das Abholdatum"
    • addedInput schema / properties / delivery_mode
      Added value: +{
      +  "description": "lieferung (Standard) oder abholung im Laden, Heßstraße 37, 80798 München",
      +  "enum": [
      +    "lieferung",
      +    "abholung"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / express
      Added value: +{
      +  "description": "true = Express-Lieferung per Kurier noch heute. Der Preis wird live bei Uber angefragt und als eigene Position berechnet. Vorher check_express aufrufen und dem Kunden den Preis nennen. Nicht mit Abholung kombinierbar.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / pickup_time
      Added value: +{
      +  "description": "Nur bei Abholung: Wunschuhrzeit, z. B. '14:00'. Öffnungszeiten Mo-Fr 08:00-18:30, Sa 08:00-13:00.",
      +  "type": "string"
      +}
    • changedInput schema / properties / postal_code / description
      Previous value: -"PLZ"New value: +"PLZ - Pflicht bei Lieferung, entfällt bei Abholung"
    • addedInput schema / properties / wunsch_text
      Added value: +{
      +  "description": "Nur beim Wunschstrauß: Beschreibung, was gebunden werden soll. Ohne diesen Text kann der Wunschstrauß nicht gebunden werden, er ist dort Pflicht.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "variant_id",
      -  "delivery_date",
      -  "first_name",
      -  "last_name",
      -  "address_1",
      -  "postal_code",
      -  "email"
      -]New value: +[
      +  "variant_id",
      +  "delivery_date",
      +  "first_name",
      +  "last_name",
      +  "email"
      +]
  2. Changed1 schema field changed
    • addedInput schema / properties / payment_provider
      Added value: +{
      +  "description": "Zahlungsmethode: stripe (Kreditkarte, Apple Pay, Google Pay), paypal oder sepa (SEPA-Lastschrift). Standard: stripe.",
      +  "enum": [
      +    "stripe",
      +    "paypal",
      +    "sepa"
      +  ],
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description discloses meaningful behavioral traits: it returns a list of unfilled fields under 'angaben' with a customer-facing message 'dem_kunden_sagen' to be relayed, and it describes the data points it sets (delivery date, address, payment method, optional card). 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.

Conciseness4/5

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

The description is long but densely informative, front-loaded with the core purpose and organized with clear labels such as PFLICHTANGABEN and FREIWILLIG. It could benefit from line breaks or bullet points, but nearly every sentence carries useful information and nothing feels redundant.

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 tool with 21 parameters and no output schema, the description is remarkably complete. It covers required vs optional fields, defaults, response structure, how to communicate the full flow to the customer, and points to get_shop_info for the complete ordering workflow. The schema provides the remaining parameter-level detail.

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 schema covers 100% of parameters, so the baseline is 3, but the description adds substantial operational meaning: it marks fields as PFLICHTANGABEN, lists optional-but-recommended fields with customer-facing rationales (e.g., phone so the driver can call, greeting card text so the bouquet arrives with a card), and states defaults (stripe payment, quantity 1, city München).

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

Purpose5/5

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

The description opens with a specific action: 'Legt einen Warenkorb bei Blumen Komander an' and clarifies that it also adds a bouquet and sets delivery/payment/optional greeting card details. This clearly identifies a create-operation on a cart and inherently differentiates it from add_to_cart and update_cart.

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 context for using the tool is implied: you use it to create a cart and place an order. The description gives practical guidance on which optional fields to offer the customer and how to handle the response, but it never explicitly states when to use create_cart versus add_to_cart/update_cart, and no exclusions or alternative triggers are provided.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.