Koskamo

Blumen Komander MCP

An MCP server for a Munich florist that allows AI agents to search for flower bouquets by occasion, color, and budget; check delivery availability for specific dates and postal codes; and prepare a shopping cart with delivery details. The server provides a checkout link for the human user to complete the payment, ensuring no autonomous payment processing by the AI.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Blumen Komander MCP logo, by Blumen KomanderCommunity listingLegacy SSENo sign-inEndpoint checked 2026-11-01Published by Blumen Komander
MCP endpoint (Legacy SSE)
https://mcp.blumen-verschicken.online/sse
Vendor documentation

What you can do with it

  • Search for flower bouquets by occasion, color, and budget
  • Check delivery availability for a specific date and postal code
  • Prepare a shopping cart with delivery address and date
  • Retrieve a checkout link for the customer to complete payment

Source and maintenance

Community listingRegistry 1.2.0
Maintenance checked

Protocol and capabilities

Server
blumen-komander 1.2.0
MCP protocol
2025-06-18
Tools
11 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

11 advertised

search_flowers
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

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

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.

get_product_image input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "handle": {
      "type": "string",
      "description": "Handle des Produkts, z. B. 'mary'. Steht in der Antwort von search_flowers."
    },
    "product_id": {
      "type": "string",
      "description": "Alternativ die Produkt-ID aus search_flowers, z. B. 'prod_...'"
    },
    "alle_bilder": {
      "type": "boolean",
      "description": "true = alle vorhandenen Ansichten (höchstens 3). Standard: nur das Hauptbild."
    }
  }
}
get_product_image annotations
{
  "title": "Produktfoto zeigen",
  "readOnlyHint": true,
  "openWorldHint": false
}
check_availability
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

check_availability input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "date"
  ],
  "properties": {
    "date": {
      "type": "string",
      "description": "Lieferdatum im Format YYYY-MM-DD"
    },
    "postalCode": {
      "type": "string",
      "description": "Ziel-Postleitzahl in München (z.B. 80799)"
    }
  }
}
check_availability annotations
{
  "title": "Liefertermin prüfen",
  "readOnlyHint": true,
  "openWorldHint": false
}
check_order_details
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

check_order_details input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "city": {
      "type": "string",
      "description": "Stadt"
    },
    "email": {
      "type": "string",
      "description": "E-Mail des Bestellers"
    },
    "phone": {
      "type": "string",
      "description": "Telefonnummer Empfänger"
    },
    "quantity": {
      "type": "number",
      "description": "Anzahl"
    },
    "address_1": {
      "type": "string",
      "description": "Straße und Hausnummer"
    },
    "last_name": {
      "type": "string",
      "description": "Nachname Empfänger"
    },
    "first_name": {
      "type": "string",
      "description": "Vorname Empfänger"
    },
    "variant_id": {
      "type": "string",
      "description": "ID der gewählten Produktvariante"
    },
    "postal_code": {
      "type": "string",
      "description": "PLZ"
    },
    "billing_city": {
      "type": "string",
      "description": "Stadt Rechnungsadresse"
    },
    "delivery_date": {
      "type": "string",
      "description": "Lieferdatum YYYY-MM-DD"
    },
    "greeting_card": {
      "type": "string",
      "description": "Text für die Grußkarte"
    },
    "payment_provider": {
      "enum": [
        "stripe",
        "paypal",
        "sepa"
      ],
      "type": "string",
      "description": "Zahlungsart"
    },
    "billing_address_1": {
      "type": "string",
      "description": "Straße Rechnungsadresse"
    },
    "billing_last_name": {
      "type": "string",
      "description": "Nachname Rechnungsadresse"
    },
    "billing_first_name": {
      "type": "string",
      "description": "Vorname Rechnungsadresse"
    },
    "billing_postal_code": {
      "type": "string",
      "description": "PLZ Rechnungsadresse"
    }
  }
}
check_order_details annotations
{
  "title": "Bestellangaben prüfen",
  "readOnlyHint": true,
  "openWorldHint": false
}
create_cart
Advertised by the server during the last successful anonymous check.

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'.

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

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.

add_to_cart input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "cart_id",
    "variant_id"
  ],
  "properties": {
    "cart_id": {
      "type": "string",
      "description": "ID des bestehenden Warenkorbs aus create_cart"
    },
    "quantity": {
      "type": "number",
      "description": "Anzahl (Standard: 1)"
    },
    "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"
    },
    "wunsch_text": {
      "type": "string",
      "description": "Nur beim Wunschstrauß: Beschreibung, was gebunden werden soll"
    }
  }
}
add_to_cart annotations
{
  "title": "Artikel hinzufügen",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
update_cart
Advertised by the server during the last successful anonymous check.

Ä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.

update_cart input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "cart_id"
  ],
  "properties": {
    "city": {
      "type": "string",
      "description": "Stadt"
    },
    "email": {
      "type": "string",
      "description": "E-Mail des Bestellers"
    },
    "phone": {
      "type": "string",
      "description": "Telefonnummer Empfänger"
    },
    "cart_id": {
      "type": "string",
      "description": "ID des bestehenden Warenkorbs"
    },
    "address_1": {
      "type": "string",
      "description": "Straße und Hausnummer"
    },
    "last_name": {
      "type": "string",
      "description": "Nachname Empfänger"
    },
    "first_name": {
      "type": "string",
      "description": "Vorname Empfänger"
    },
    "pickup_time": {
      "type": "string",
      "description": "Nur bei Abholung: Wunschuhrzeit"
    },
    "postal_code": {
      "type": "string",
      "description": "PLZ"
    },
    "delivery_date": {
      "type": "string",
      "description": "Neues Lieferdatum YYYY-MM-DD, bei Abholung das Abholdatum"
    },
    "greeting_card": {
      "type": "string",
      "description": "Neuer Grußkartentext. Leerer Text entfernt die Karte."
    },
    "payment_provider": {
      "enum": [
        "stripe",
        "paypal",
        "sepa"
      ],
      "type": "string",
      "description": "Andere Zahlungsart wählen"
    }
  }
}
update_cart annotations
{
  "title": "Warenkorb ändern",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
check_express
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

check_express input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "address"
  ],
  "properties": {
    "address": {
      "type": "string",
      "description": "Vollständige Lieferadresse, z. B. 'Leopoldstraße 1, 80802 München'"
    }
  }
}
check_express annotations
{
  "title": "Express-Preis anfragen",
  "readOnlyHint": true,
  "openWorldHint": true
}
get_checkout_link
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

get_checkout_link input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "cart_id"
  ],
  "properties": {
    "cart_id": {
      "type": "string",
      "description": "ID des Warenkorbs"
    }
  }
}
get_checkout_link annotations
{
  "title": "Zahlungslink holen",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_shop_info
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

get_shop_info input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
get_shop_info annotations
{
  "title": "Ladeninformationen",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_order_status
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

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

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1538 ms
95th percentile latency
1538 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1538 ms · metadata changed · 11 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport sse blumen-komander-mcp-blumen-verschicken https://mcp.blumen-verschicken.online/sse

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "blumen-komander-mcp-blumen-verschicken": {
      "type": "sse",
      "url": "https://mcp.blumen-verschicken.online/sse",
      "disabled": false
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport sse blumen-komander-mcp-blumen-verschicken https://mcp.blumen-verschicken.online/sse

Let your agent find its tools

Find servers like Blumen Komander MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.