Blumen Komander München

First German florist with a public MCP server. Search bouquets and order flowers via AI in Munich.

Should I use this

Quality & Safety

A
Description quality
85%
Schema completeness
91%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'update_cart' description lacks action verbin update_cart
  • LOWTool 'get_order_status' description lacks action verbin get_order_status

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,618Tokens (tool definitions)
~2.1 KBTypical response size
Significant attention impact (2.83% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "blumen-komander-mcp": {
      "command": "npx",
      "args": [
        "blumen-komander-mcp"
      ]
    }
  }
}

Runnable packages

npmblumen-komander-mcp1.2.0stdio

Remote endpoints

https://mcp.blumen-verschicken.online/ssesse
https://mcp.blumen-verschicken.online/mcpstreamable-http

What it can do

Tool inventory

Tools (11)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_flowers(occasion, color, flower_type, style, maxPrice, ...)

Sucht verfügbare Blumensträuße bei Blumen Komander München. Filtert nach Anlass, Farbe, Stil und Budget. Gibt standardmäßig 24 Sträuße zurück, treffer_gesamt nennt die tatsächliche Zahl - mit offset lassen sich weitere nachladen. Zubehör wie Vasen, Ballons, Pralinen und Grußkarten steht getrennt unter zubehoer und ist kein Blumenvorschlag. Zu einem Strauß liefert get_product_image das Foto.

Input Schema

{
  "type": "object",
  "properties": {
    "occasion": {
      "description": "Anlass für die Blumen",
      "type": "string",
      "enum": [
        "geburtstag",
        "jubiläum",
        "hochzeit",
        "trauer",
        "liebe",
        "dankeschön",
        "business",
        "muttertag",
        "ostern",
        "weihnachten",
        "allgemein"
      ]
    },
    "color": {
      "description": "Gewünschte Farbe",
      "type": "string",
      "enum": [
        "rot",
        "rosa",
        "weiß",
        "gelb",
        "orange",
        "lila",
        "gemischt",
        "grün"
      ]
    },
    "flower_type": {
      "description": "Blumenart",
      "type": "string",
      "enum": [
        "rosen",
        "tulpen",
        "ranunkeln",
        "pfingstrosen",
        "sonnenblumen",
        "gemischt",
        "saisonal"
      ]
    },
    "style": {
      "description": "Stil des Straußes",
      "type": "string",
      "enum": [
        "klassisch",
        "modern",
        "romantisch",
        "minimalistisch",
        "wild",
        "elegant"
      ]
    },
    "maxPrice": {
      "description": "Höchstpreis in EUR",
      "type": "number"
    },
    "minPrice": {
      "description": "Mindestpreis in EUR",
      "type": "number"
    },
    "limit": {
      "description": "Wieviele Sträuße zurückgeben (Standard 24, höchstens 50)",
      "type": "number"
    },
    "offset": {
      "description": "Für weitere Seiten: wieviele Treffer überspringen",
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_product_image(handle, product_id, alle_bilder)

Liefert das Foto eines Straußes als echtes Bild, nicht nur als Link - der Kunde sieht den Strauß also im Chat, ohne die Website zu öffnen. Braucht handle oder product_id aus der Antwort von search_flowers. Standardmäßig kommt nur das Hauptbild; mit alle_bilder: true kommen die weiteren Ansichten (höchstens 3 pro Aufruf). Gezielt für die ein bis drei Sträuße aufrufen, über die der Kunde wirklich spricht, nicht für alle Suchtreffer - jedes Bild kostet Kontext.

Input Schema

{
  "type": "object",
  "properties": {
    "handle": {
      "description": "Handle des Produkts, z. B. 'mary'. Steht in der Antwort von search_flowers.",
      "type": "string"
    },
    "product_id": {
      "description": "Alternativ die Produkt-ID aus search_flowers, z. B. 'prod_...'",
      "type": "string"
    },
    "alle_bilder": {
      "description": "true = alle vorhandenen Ansichten (höchstens 3). Standard: nur das Hauptbild.",
      "type": "boolean"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_availability(date, postalCode)

Prüft ob Blumen Komander München an einem bestimmten Datum in eine bestimmte PLZ liefern kann. Lieferung ist bei Blumen Komander immer kostenlos - keine Liefergebühr. Gibt Same-Day Cutoff zurück.

Input Schema

{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "description": "Lieferdatum im Format YYYY-MM-DD"
    },
    "postalCode": {
      "description": "Ziel-Postleitzahl in München (z.B. 80799)",
      "type": "string"
    }
  },
  "required": [
    "date"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_order_details(variant_id, quantity, delivery_date, first_name, last_name, ...)

Prüft, welche Angaben für eine Bestellung schon vorliegen und welche noch fehlen - ohne einen Warenkorb anzulegen und ohne etwas zu buchen. Alle Parameter sind freiwillig, die KI kann also jederzeit mit dem aktuellen Zwischenstand fragen. Die Antwort trennt fehlende Pflichtangaben von fehlenden freiwilligen Angaben, erklärt zu jeder, wofür sie gebraucht wird bzw. was ohne sie passiert, und liefert unter 'dem_kunden_sagen' einen fertigen Satz für den Kunden sowie den kompletten Bestellablauf. Vor create_cart aufrufen, damit der Kunde den ganzen Ablauf kennt, ohne die Website zu öffnen.

Input Schema

{
  "type": "object",
  "properties": {
    "variant_id": {
      "description": "ID der gewählten Produktvariante",
      "type": "string"
    },
    "quantity": {
      "description": "Anzahl",
      "type": "number"
    },
    "delivery_date": {
      "description": "Lieferdatum YYYY-MM-DD",
      "type": "string"
    },
    "first_name": {
      "description": "Vorname Empfänger",
      "type": "string"
    },
    "last_name": {
      "description": "Nachname Empfänger",
      "type": "string"
    },
    "address_1": {
      "description": "Straße und Hausnummer",
      "type": "string"
    },
    "postal_code": {
      "description": "PLZ",
      "type": "string"
    },
    "city": {
      "description": "Stadt",
      "type": "string"
    },
    "phone": {
      "description": "Telefonnummer Empfänger",
      "type": "string"
    },
    "email": {
      "description": "E-Mail des Bestellers",
      "type": "string"
    },
    "billing_first_name": {
      "description": "Vorname Rechnungsadresse",
      "type": "string"
    },
    "billing_last_name": {
      "description": "Nachname Rechnungsadresse",
      "type": "string"
    },
    "billing_address_1": {
      "description": "Straße Rechnungsadresse",
      "type": "string"
    },
    "billing_postal_code": {
      "description": "PLZ Rechnungsadresse",
      "type": "string"
    },
    "billing_city": {
      "description": "Stadt Rechnungsadresse",
      "type": "string"
    },
    "greeting_card": {
      "description": "Text für die Grußkarte",
      "type": "string"
    },
    "payment_provider": {
      "description": "Zahlungsart",
      "type": "string",
      "enum": [
        "stripe",
        "paypal",
        "sepa"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_cart(variant_id, quantity, delivery_date, first_name, last_name, ...)

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

{
  "type": "object",
  "properties": {
    "variant_id": {
      "type": "string",
      "description": "ID der gewählten Produktvariante"
    },
    "quantity": {
      "description": "Anzahl (Standard: 1)",
      "type": "number"
    },
    "delivery_date": {
      "type": "string",
      "description": "Lieferdatum YYYY-MM-DD, bei Abholung das Abholdatum"
    },
    "first_name": {
      "type": "string",
      "description": "Vorname Empfänger"
    },
    "last_name": {
      "type": "string",
      "description": "Nachname Empfänger"
    },
    "address_1": {
      "description": "Straße und Hausnummer - Pflicht bei Lieferung, entfällt bei Abholung",
      "type": "string"
    },
    "postal_code": {
      "description": "PLZ - Pflicht bei Lieferung, entfällt bei Abholung",
      "type": "string"
    },
    "city": {
      "description": "Stadt (Standard: München)",
      "type": "string"
    },
    "phone": {
      "description": "Telefonnummer Empfänger",
      "type": "string"
    },
    "email": {
      "type": "string",
      "description": "E-Mail des Bestellers"
    },
    "delivery_mode": {
      "description": "lieferung (Standard) oder abholung im Laden, Heßstraße 37, 80798 München",
      "type": "string",
      "enum": [
        "lieferung",
        "abholung"
      ]
    },
    "pickup_time": {
      "description": "Nur bei Abholung: Wunschuhrzeit, z. B. '14:00'. Öffnungszeiten Mo-Fr 08:00-18:30, Sa 08:00-13:00.",
      "type": "string"
    },
    "express": {
      "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"
    },
    "wunsch_text": {
      "description": "Nur beim Wunschstrauß: Beschreibung, was gebunden werden soll. Ohne diesen Text kann der Wunschstrauß nicht gebunden werden, er ist dort Pflicht.",
      "type": "string"
    },
    "billing_first_name": {
      "description": "Vorname Rechnungsadresse",
      "type": "string"
    },
    "billing_last_name": {
      "description": "Nachname Rechnungsadresse",
      "type": "string"
    },
    "billing_address_1": {
      "description": "Straße Rechnungsadresse",
      "type": "string"
    },
    "billing_postal_code": {
      "description": "PLZ Rechnungsadresse",
      "type": "string"
    },
    "billing_city": {
      "description": "Stadt Rechnungsadresse",
      "type": "string"
    },
    "greeting_card": {
      "description": "Text für die Grußkarte",
      "type": "string"
    },
    "payment_provider": {
      "description": "Zahlungsmethode: stripe (Kreditkarte, Apple Pay, Google Pay), paypal oder sepa (SEPA-Lastschrift). Standard: stripe.",
      "type": "string",
      "enum": [
        "stripe",
        "paypal",
        "sepa"
      ]
    }
  },
  "required": [
    "variant_id",
    "delivery_date",
    "first_name",
    "last_name",
    "email"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡add_to_cart(cart_id, variant_id, quantity, wunsch_text)

Legt einen weiteren Artikel in einen bestehenden Warenkorb - einen zweiten Strauß oder Zubehör wie Vase, Grußkarte, Pralinen, Ballon oder Prosecco aus der Liste zubehoer von search_flowers. Braucht die cart_id aus create_cart. Solange nicht bezahlt wurde, ist das jederzeit möglich.

Input Schema

{
  "type": "object",
  "properties": {
    "cart_id": {
      "type": "string",
      "description": "ID des bestehenden Warenkorbs aus create_cart"
    },
    "variant_id": {
      "type": "string",
      "description": "ID der Variante, die dazu soll - ein weiterer Strauß oder Zubehör wie Vase, Grußkarte, Pralinen, Ballon oder Prosecco aus der Liste zubehoer von search_flowers"
    },
    "quantity": {
      "description": "Anzahl (Standard: 1)",
      "type": "number"
    },
    "wunsch_text": {
      "description": "Nur beim Wunschstrauß: Beschreibung, was gebunden werden soll",
      "type": "string"
    }
  },
  "required": [
    "cart_id",
    "variant_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡update_cart(cart_id, delivery_date, first_name, last_name, address_1, ...)

Ändert einen bestehenden Warenkorb, statt einen neuen anzulegen: Liefer- oder Abholdatum, Adresse, Telefonnummer, E-Mail, Grußkartentext, Abholzeit oder Zahlungsart. Nur die Felder übergeben, die sich ändern. Bei neuem Datum oder neuer PLZ wird das Liefergebiet erneut geprüft und bei einem Problem nichts geändert. Ein bereits bezahlter Warenkorb wird abgelehnt.

Input Schema

{
  "type": "object",
  "properties": {
    "cart_id": {
      "type": "string",
      "description": "ID des bestehenden Warenkorbs"
    },
    "delivery_date": {
      "description": "Neues Lieferdatum YYYY-MM-DD, bei Abholung das Abholdatum",
      "type": "string"
    },
    "first_name": {
      "description": "Vorname Empfänger",
      "type": "string"
    },
    "last_name": {
      "description": "Nachname Empfänger",
      "type": "string"
    },
    "address_1": {
      "description": "Straße und Hausnummer",
      "type": "string"
    },
    "postal_code": {
      "description": "PLZ",
      "type": "string"
    },
    "city": {
      "description": "Stadt",
      "type": "string"
    },
    "phone": {
      "description": "Telefonnummer Empfänger",
      "type": "string"
    },
    "email": {
      "description": "E-Mail des Bestellers",
      "type": "string"
    },
    "greeting_card": {
      "description": "Neuer Grußkartentext. Leerer Text entfernt die Karte.",
      "type": "string"
    },
    "pickup_time": {
      "description": "Nur bei Abholung: Wunschuhrzeit",
      "type": "string"
    },
    "payment_provider": {
      "description": "Andere Zahlungsart wählen",
      "type": "string",
      "enum": [
        "stripe",
        "paypal",
        "sepa"
      ]
    }
  },
  "required": [
    "cart_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_express(address)

Fragt den Preis für eine Express-Lieferung per Kurier an, ohne etwas anzulegen. Der Preis kommt live vom Kurierdienst und gilt etwa 15 Minuten. Vor create_cart mit express: true aufrufen und dem Kunden den Zuschlag nennen - die normale Lieferung ist kostenlos, Express kostet extra.

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Vollständige Lieferadresse, z. B. 'Leopoldstraße 1, 80802 München'"
    }
  },
  "required": [
    "address"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_checkout_link(cart_id)

Gibt den direkten Checkout-Link für einen bestehenden Warenkorb zurück. Der Kunde klickt auf den Link und zahlt.

Input Schema

{
  "type": "object",
  "properties": {
    "cart_id": {
      "type": "string",
      "description": "ID des Warenkorbs"
    }
  },
  "required": [
    "cart_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_shop_info

Gibt allgemeine Informationen über Blumen Komander zurück - Öffnungszeiten, Liefergebiet, Kontakt, verfügbare Zahlungsmethoden.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_order_status(order_number, email)

Fragt den Status einer bestehenden Bestellung bei Blumen Komander ab - eingegangen, in Vorbereitung, unterwegs oder geliefert, inkl. Lieferdatum. Zur Verifikation werden Bestellnummer (aus der Bestellbestätigung) und die E-Mail-Adresse des Bestellers benötigt. Gibt keine Adressdaten zurück.

Input Schema

{
  "type": "object",
  "properties": {
    "order_number": {
      "type": "string",
      "description": "Bestellnummer (z.B. 114, steht in der Bestellbestätigung)"
    },
    "email": {
      "type": "string",
      "description": "E-Mail-Adresse des Bestellers (zur Verifikation)"
    }
  },
  "required": [
    "order_number",
    "email"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools
verifiedversion not recorded11 tools
verifiedversion not recorded11 tools
verifiedversion not recorded11 tools
verifiedversion not recorded11 tools
verifiedversion not recorded11 tools