Koskamo

The Flowers Directory MCP

This MCP server allows AI agents to search for flower arrangements, check delivery availability by ZIP code and date, retrieve arrangement details, and generate checkout links with pricing. It does not place orders or process payments directly.

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.

The Flowers Directory MCP logo, by The Flowers DirectoryVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by The Flowers Directory
MCP endpoint (Streamable HTTP)
https://www.theflowersdirectory.com/mcp
Vendor documentation

What its tools do

9 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

Can change data (1)

9 of 9 have a description · 9 of 9 declare behavior hints · 7 of 9 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to theflowersdirectory.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search for flower arrangements by occasion, color, or budget
  • Check same-day delivery availability for a specific ZIP code
  • Generate a pre-filled checkout link with recipient details
  • Find local florist listings by city

Source and maintenance

Vendor evidenceRegistry 1.1.0

Protocol and capabilities

Server
the-flowers-directory 1.1.0
MCP protocol negotiated in check
2025-06-18
Tools
9 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

The Flowers Directory sells fresh flower arrangements and plants hand-delivered by local florists across the United States (34,000+ cities): birthday, sympathy and funeral, get well, anniversary, romance, new baby, thank you, congratulations and more. Typical flow: search_arrangements (get_arrangement_details for one item) -> next_available_delivery or check_delivery for the recipient ZIP -> get_checkout_link, or create_prefilled_checkout for a link that opens checkout with the recipient's details filled in. get_delivery_location_guidance covers funeral homes, hospitals, places of worship, offices, homes and senior living, including local funeral home and hospital listings. find_local_florists lists florists in a city from the directory. get_order_status looks up an existing order by order number and the purchaser's email. Prices are USD; every order adds a flat $19.99 delivery fee; tax is quoted when a ZIP is given. Same-day delivery needs the order placed before 1:00 PM in the recipient's local time zone; delivery runs Monday through Saturday (no Sunday delivery). Availability is checked per ZIP code and date, not per arrangement; local florists may substitute flowers of equal or greater value. No tool places an order or takes payment: the customer reviews and pays on theflowersdirectory.com. US delivery addresses only.

Tools

9 advertised

search_arrangements — Search flower arrangements
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search The Flowers Directory catalog of fresh flower arrangements and plants for US florist delivery, by occasion (birthday, sympathy/funeral, get well, anniversary, romance, new baby, thank you and more), color, flower type, arrangement type (vase, basket, standing spray, wreath, casket spray and more), size, budget and free text. Every result includes the product code used by the other tools, the arrangement price, a photo URL, total_before_tax (price plus the flat $19.99 delivery fee) and, when known, structured attributes: arrangement type, size tier, height and width in inches, stem count, container and who it suits (sender_fit). Returns up to 20 matches, best match first.

search_arrangements input schema
{
  "type": "object",
  "properties": {
    "size": {
      "type": "string",
      "description": "One of: small (under 14 in), medium (14 to 22 in), large (over 22 in), tribute (easel, casket and floor pieces for funerals)."
    },
    "limit": {
      "type": "integer",
      "default": 8,
      "maximum": 20,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "description": "Free-text keywords matched against the title and description, e.g. \"blue hydrangea in a vase\" or \"standing spray\"."
    },
    "budget": {
      "type": "number",
      "description": "Maximum all-in amount in USD before tax (arrangement price + $19.99 delivery). Use this for \"around $110\"-style requests."
    },
    "colors": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Colors that should appear in the arrangement (any match). Known values: red, pink, white, yellow, purple, lavender, orange, blue, green, cream, peach, coral, burgundy, gold, mixed."
    },
    "occasion": {
      "type": "string",
      "description": "One of: sympathy, birthday, romance, anniversary, get_well, new_baby, thank_you, mothers_day, congratulations, wedding, just_because. \"funeral\" is accepted as sympathy."
    },
    "min_price": {
      "type": "number",
      "description": "Minimum arrangement price in USD."
    },
    "flower_types": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Flower types that should appear (any match). Known values: roses, lilies, tulips, sunflowers, orchids, carnations, daisies, hydrangeas, alstroemeria, chrysanthemums, gerberas, lisianthus, snapdragons, dahlias, peonies, irises, delphinium, larkspur, gladiolus, calla lilies, freesia, ranunculus, asters, proteas, anthuriums, succulents, stock, poinsettia, plants, mixed."
    },
    "arrangement_type": {
      "type": "string",
      "description": "One of: vase_arrangement, basket, floor_basket, table_arrangement, centerpiece, plant, dish_garden, wreath, standing_spray, standing_heart, standing_cross, casket_spray, casket_adornment, urn_tribute. Common words like \"vase\", \"spray\", \"easel\", \"casket\" or \"urn\" are accepted."
    }
  },
  "additionalProperties": false
}
search_arrangements output schema
{
  "type": "object",
  "required": [
    "currency",
    "delivery_fee",
    "filters",
    "total_matches",
    "count",
    "products"
  ],
  "properties": {
    "note": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "filters": {
      "type": "object",
      "required": [],
      "properties": {
        "size": {
          "type": [
            "string",
            "null"
          ]
        },
        "query": {},
        "budget": {
          "type": [
            "number",
            "null"
          ]
        },
        "colors": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "occasion": {
          "type": [
            "string",
            "null"
          ]
        },
        "min_price": {
          "type": [
            "number",
            "null"
          ]
        },
        "flower_types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "arrangement_type": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "currency": {
      "type": "string"
    },
    "products": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "price",
          "delivery_fee",
          "total_before_tax"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "image": {
            "type": [
              "string",
              "null"
            ]
          },
          "price": {
            "type": "number"
          },
          "title": {
            "type": "string"
          },
          "colors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "best_for": {
            "type": "string"
          },
          "occasions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "attributes": {
            "type": "object",
            "required": [],
            "properties": {
              "width_in": {
                "type": "number"
              },
              "container": {
                "type": "string"
              },
              "height_in": {
                "type": "number"
              },
              "size_tier": {
                "type": "string"
              },
              "sender_fit": {
                "type": "string"
              },
              "stem_count": {
                "type": "integer"
              },
              "arrangement_type": {
                "type": "string"
              }
            }
          },
          "description": {
            "type": "string"
          },
          "delivery_fee": {
            "type": "number"
          },
          "flower_types": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total_before_tax": {
            "type": "number"
          }
        }
      }
    },
    "delivery_fee": {
      "type": "number"
    },
    "total_matches": {
      "type": "integer"
    }
  }
}
search_arrangements annotations
{
  "title": "Search flower arrangements",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_arrangement_details — Get arrangement details
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Return full details for one arrangement by product code: all photos, size (height x width when the florist network publishes it), full description, flowers and colors, occasions it suits, price and total before tax, the substitution policy, and delivery terms. Use it to show a customer exactly what they are buying.

get_arrangement_details input schema
{
  "type": "object",
  "required": [
    "code"
  ],
  "properties": {
    "code": {
      "type": "string",
      "description": "Arrangement product code, e.g. T163-1A."
    }
  },
  "additionalProperties": false
}
get_arrangement_details output schema
{
  "type": "object",
  "required": [
    "price",
    "delivery_fee",
    "total_before_tax",
    "images",
    "categories",
    "substitution_policy",
    "delivery"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "code": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "size": {
      "type": "string"
    },
    "image": {
      "type": [
        "string",
        "null"
      ]
    },
    "price": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "colors": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "images": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "label": {
            "type": "string"
          }
        }
      }
    },
    "best_for": {
      "type": "string"
    },
    "delivery": {
      "type": "object",
      "required": [
        "fee",
        "same_day_cutoff",
        "days"
      ],
      "properties": {
        "fee": {
          "type": "number"
        },
        "days": {
          "type": "string"
        },
        "hand_delivered": {
          "type": "string"
        },
        "same_day_cutoff": {
          "type": "string"
        }
      }
    },
    "occasions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "attributes": {
      "type": "object",
      "required": [],
      "properties": {
        "width_in": {
          "type": "number"
        },
        "container": {
          "type": "string"
        },
        "height_in": {
          "type": "number"
        },
        "size_tier": {
          "type": "string"
        },
        "sender_fit": {
          "type": "string"
        },
        "stem_count": {
          "type": "integer"
        },
        "arrangement_type": {
          "type": "string"
        }
      }
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "description": {
      "type": "string"
    },
    "product_url": {
      "type": "string"
    },
    "delivery_fee": {
      "type": "number"
    },
    "flower_types": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "total_before_tax": {
      "type": "number"
    },
    "substitution_policy": {
      "type": "string"
    }
  }
}
get_arrangement_details annotations
{
  "title": "Get arrangement details",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
check_delivery — Check delivery on a date
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Check whether florist delivery is available to a US ZIP code on one specific date. Availability is per ZIP and date, not per arrangement. Same-day delivery requires ordering before 1:00 PM in the recipient's local time zone, Monday through Saturday. When a date is unavailable, the result includes a reason (Sunday, past date or past the same-day cutoff) when one is known.

check_delivery input schema
{
  "type": "object",
  "required": [
    "zip",
    "date"
  ],
  "properties": {
    "zip": {
      "type": "string",
      "pattern": "^\\d{5}$",
      "description": "Recipient 5-digit US ZIP code."
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Requested delivery date, YYYY-MM-DD, in the recipient's local date."
    }
  },
  "additionalProperties": false
}
check_delivery output schema
{
  "type": "object",
  "required": [
    "zip",
    "date",
    "available",
    "same_day_cutoff",
    "note"
  ],
  "properties": {
    "zip": {
      "type": "string"
    },
    "date": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "reason": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    },
    "available": {
      "type": "boolean"
    },
    "same_day_cutoff": {
      "type": "string"
    }
  }
}
check_delivery annotations
{
  "title": "Check delivery on a date",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
next_available_delivery — Find the next delivery dates
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List up to 14 upcoming delivery dates available to a US ZIP code, with the earliest date, whether same-day delivery is still possible right now in the recipient's local time (1:00 PM cutoff), and how long is left before the cutoff.

next_available_delivery input schema
{
  "type": "object",
  "required": [
    "zip"
  ],
  "properties": {
    "zip": {
      "type": "string",
      "pattern": "^\\d{5}$",
      "description": "Recipient 5-digit US ZIP code."
    }
  },
  "additionalProperties": false
}
next_available_delivery output schema
{
  "type": "object",
  "required": [
    "zip",
    "state",
    "earliest_date",
    "available_dates",
    "note"
  ],
  "properties": {
    "zip": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "state": {
      "type": [
        "string",
        "null"
      ]
    },
    "same_day": {
      "type": "object",
      "required": [
        "cutoff",
        "note"
      ],
      "properties": {
        "note": {
          "type": "string"
        },
        "cutoff": {
          "type": "string"
        },
        "available_now": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "minutes_until_cutoff": {
          "type": "integer"
        }
      }
    },
    "delivery_fee": {
      "type": "number"
    },
    "delivery_days": {
      "type": "string"
    },
    "earliest_date": {
      "type": [
        "string",
        "null"
      ]
    },
    "earliest_label": {
      "type": [
        "string",
        "null"
      ]
    },
    "available_dates": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "recipient_local_time": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
next_available_delivery annotations
{
  "title": "Find the next delivery dates",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_checkout_link — Get a purchase link with pricing
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Return the purchase link for an arrangement plus a price breakdown. With a recipient ZIP the breakdown includes the exact delivery fee, tax and order total; with a ZIP and date it also confirms delivery availability. Opening the link adds the arrangement to the cart and opens the cart panel; the customer clicks Checkout and enters the recipient address, delivery date, card message and payment there.

get_checkout_link input schema
{
  "type": "object",
  "required": [
    "code"
  ],
  "properties": {
    "zip": {
      "type": "string",
      "pattern": "^\\d{5}$",
      "description": "Recipient ZIP code, for an exact total including tax."
    },
    "code": {
      "type": "string",
      "description": "Arrangement product code, e.g. T163-1A."
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Requested delivery date, YYYY-MM-DD. Requires zip."
    },
    "client": {
      "type": "string",
      "description": "Name of the assistant or app making the request (used only for attribution, e.g. \"chatgpt\")."
    }
  },
  "additionalProperties": false
}
get_checkout_link output schema
{
  "type": "object",
  "required": [
    "product",
    "pricing",
    "checkout_url",
    "how_to_order"
  ],
  "properties": {
    "pricing": {
      "type": "object",
      "required": [
        "currency",
        "tax",
        "total",
        "note"
      ],
      "properties": {
        "tax": {
          "type": [
            "number",
            "null"
          ]
        },
        "note": {
          "type": "string"
        },
        "price": {
          "type": [
            "number",
            "null"
          ]
        },
        "total": {
          "type": [
            "number",
            "null"
          ]
        },
        "currency": {
          "type": "string"
        },
        "delivery_fee": {
          "type": [
            "number",
            "null"
          ]
        }
      }
    },
    "product": {
      "type": "object",
      "required": [
        "price",
        "delivery_fee",
        "total_before_tax"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "code": {
          "type": "string"
        },
        "image": {
          "type": [
            "string",
            "null"
          ]
        },
        "price": {
          "type": "number"
        },
        "title": {
          "type": "string"
        },
        "colors": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "best_for": {
          "type": "string"
        },
        "occasions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "attributes": {
          "type": "object",
          "required": [],
          "properties": {
            "width_in": {
              "type": "number"
            },
            "container": {
              "type": "string"
            },
            "height_in": {
              "type": "number"
            },
            "size_tier": {
              "type": "string"
            },
            "sender_fit": {
              "type": "string"
            },
            "stem_count": {
              "type": "integer"
            },
            "arrangement_type": {
              "type": "string"
            }
          }
        },
        "description": {
          "type": "string"
        },
        "delivery_fee": {
          "type": "number"
        },
        "flower_types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "total_before_tax": {
          "type": "number"
        }
      }
    },
    "delivery": {
      "type": "object",
      "required": [
        "zip",
        "date",
        "available",
        "note"
      ],
      "properties": {
        "zip": {
          "type": "string"
        },
        "date": {
          "type": "string"
        },
        "note": {
          "type": "string"
        },
        "available": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "same_day_cutoff": {
          "type": "string"
        }
      }
    },
    "checkout_url": {
      "type": "string"
    },
    "how_to_order": {
      "type": "string"
    }
  }
}
get_checkout_link annotations
{
  "title": "Get a purchase link with pricing",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
create_prefilled_checkout — Create a prefilled checkout link
Advertised by the server during the last successful anonymous check.
Open-world

Save delivery details for one arrangement on theflowersdirectory.com for 24 hours and return a checkout link that opens with the arrangement in the cart and those details filled in, plus the price breakdown (exact total when a ZIP is given). Takes the recipient's name, venue, room or unit, card message and special instructions, with the ZIP and delivery date. It does not place an order or take payment: the customer adds the street address and phone numbers, checks the details, pays and places the order on the site.

create_prefilled_checkout input schema
{
  "type": "object",
  "required": [
    "code"
  ],
  "properties": {
    "zip": {
      "type": "string",
      "pattern": "^\\d{5}$",
      "description": "Recipient ZIP code; fills the ZIP field and gives an exact total including tax."
    },
    "code": {
      "type": "string",
      "description": "Arrangement product code, e.g. T163-1A."
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Requested delivery date, YYYY-MM-DD. Requires zip. Selected at checkout if available."
    },
    "client": {
      "type": "string",
      "description": "Name of the assistant or app making the request (used only for attribution, e.g. \"chatgpt\")."
    },
    "venue_name": {
      "type": "string",
      "maxLength": 60,
      "description": "Funeral home, hospital, church or business name, if delivering to one."
    },
    "card_message": {
      "type": "string",
      "maxLength": 200,
      "description": "Message printed on the enclosure card, including who it is from."
    },
    "room_or_unit": {
      "type": "string",
      "maxLength": 40,
      "description": "Apartment, suite, floor or hospital room number."
    },
    "recipient_name": {
      "type": "string",
      "maxLength": 100,
      "description": "Recipient's full name (for a funeral, e.g. \"Family of Jane Smith\")."
    },
    "special_instructions": {
      "type": "string",
      "maxLength": 100,
      "description": "Notes for the florist, e.g. the deceased's name and service time for a funeral."
    }
  },
  "additionalProperties": false
}
create_prefilled_checkout output schema
{
  "type": "object",
  "required": [
    "product",
    "pricing",
    "checkout_url",
    "how_to_order",
    "product_url",
    "prefilled_fields",
    "expires_in_hours"
  ],
  "properties": {
    "pricing": {
      "type": "object",
      "required": [
        "currency",
        "tax",
        "total",
        "note"
      ],
      "properties": {
        "tax": {
          "type": [
            "number",
            "null"
          ]
        },
        "note": {
          "type": "string"
        },
        "price": {
          "type": [
            "number",
            "null"
          ]
        },
        "total": {
          "type": [
            "number",
            "null"
          ]
        },
        "currency": {
          "type": "string"
        },
        "delivery_fee": {
          "type": [
            "number",
            "null"
          ]
        }
      }
    },
    "product": {
      "type": "object",
      "required": [
        "price",
        "delivery_fee",
        "total_before_tax"
      ],
      "properties": {
        "url": {
          "type": "string"
        },
        "code": {
          "type": "string"
        },
        "image": {
          "type": [
            "string",
            "null"
          ]
        },
        "price": {
          "type": "number"
        },
        "title": {
          "type": "string"
        },
        "colors": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "best_for": {
          "type": "string"
        },
        "occasions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "attributes": {
          "type": "object",
          "required": [],
          "properties": {
            "width_in": {
              "type": "number"
            },
            "container": {
              "type": "string"
            },
            "height_in": {
              "type": "number"
            },
            "size_tier": {
              "type": "string"
            },
            "sender_fit": {
              "type": "string"
            },
            "stem_count": {
              "type": "integer"
            },
            "arrangement_type": {
              "type": "string"
            }
          }
        },
        "description": {
          "type": "string"
        },
        "delivery_fee": {
          "type": "number"
        },
        "flower_types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "total_before_tax": {
          "type": "number"
        }
      }
    },
    "delivery": {
      "type": "object",
      "required": [
        "zip",
        "date",
        "available",
        "note"
      ],
      "properties": {
        "zip": {
          "type": "string"
        },
        "date": {
          "type": "string"
        },
        "note": {
          "type": "string"
        },
        "available": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "same_day_cutoff": {
          "type": "string"
        }
      }
    },
    "product_url": {
      "type": "string"
    },
    "checkout_url": {
      "type": "string"
    },
    "how_to_order": {
      "type": "string"
    },
    "expires_in_hours": {
      "type": "number"
    },
    "prefilled_fields": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
create_prefilled_checkout annotations
{
  "title": "Create a prefilled checkout link",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
get_order_status — Look up an order
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Look up an existing order placed on The Flowers Directory, using the order number from the confirmation email and the email address used at checkout. Returns the items, scheduled delivery date, delivery city and whether that date is upcoming, today or past. It does not provide live courier tracking; for delivery confirmation, changes or cancellations it returns the order-help phone and text numbers.

get_order_status input schema
{
  "type": "object",
  "required": [
    "order_number",
    "email"
  ],
  "properties": {
    "email": {
      "type": "string",
      "description": "Email address the purchaser used at checkout."
    },
    "order_number": {
      "type": "string",
      "description": "Order number from the confirmation email, e.g. 123456789."
    }
  },
  "additionalProperties": false
}
get_order_status output schema
{
  "type": "object",
  "required": [
    "order_number",
    "order_total",
    "items",
    "tracking",
    "order_help"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "status",
          "status_note"
        ],
        "properties": {
          "code": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "venue": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string"
          },
          "status_note": {
            "type": "string"
          },
          "delivery_city": {
            "type": [
              "string",
              "null"
            ]
          },
          "delivery_date": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    },
    "tracking": {
      "type": "string"
    },
    "order_help": {
      "type": "object",
      "required": [],
      "properties": {
        "text": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        }
      }
    },
    "order_total": {
      "type": [
        "number",
        "null"
      ]
    },
    "order_number": {
      "type": "string"
    }
  }
}
get_order_status annotations
{
  "title": "Look up an order",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_delivery_location_guidance — Delivery guidance for a venue
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return practical guidance for sending flowers to a specific kind of place: funeral_home, place_of_worship, hospital, residence, business, senior_living. Covers which arrangement types are appropriate and which to avoid, venue rules (such as hospital units that do not allow flowers), what details the florist needs, which checkout field each detail goes in, timing, and suggested search filters. With a city and state or ZIP, also lists funeral homes (for funeral_home) or hospitals (for hospital) in that city from the directory, with addresses.

get_delivery_location_guidance input schema
{
  "type": "object",
  "required": [
    "location_type"
  ],
  "properties": {
    "zip": {
      "type": "string",
      "pattern": "^\\d{5}$",
      "description": "ZIP code; used to find the city when no city is given."
    },
    "city": {
      "type": "string",
      "description": "City name, for local venue listings."
    },
    "limit": {
      "type": "integer",
      "default": 8,
      "maximum": 15,
      "minimum": 1,
      "description": "Maximum venue listings to return."
    },
    "state": {
      "type": "string",
      "description": "State name or 2-letter code, used with city."
    },
    "location_type": {
      "type": "string",
      "description": "One of: funeral_home, place_of_worship, hospital, residence, business, senior_living. Common words such as church, nursing home, office or home are accepted."
    }
  },
  "additionalProperties": false
}
get_delivery_location_guidance output schema
{
  "type": "object",
  "required": [
    "location_type",
    "label"
  ],
  "properties": {
    "avoid": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "label": {
      "type": "string"
    },
    "guides": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "title",
          "url"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      }
    },
    "timing": {
      "type": "string"
    },
    "collect": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "appropriate": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "budget_note": {
      "type": "string"
    },
    "local_venues": {
      "type": "object",
      "required": [],
      "properties": {
        "city": {
          "type": "string"
        },
        "note": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "error": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "venues": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "name"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "address": {
                "type": "string"
              },
              "verified_date": {
                "type": "string"
              }
            }
          }
        },
        "city_page": {
          "type": [
            "string",
            "null"
          ]
        },
        "total_listed": {
          "type": "integer"
        },
        "location_note": {
          "type": "string"
        }
      }
    },
    "location_type": {
      "type": "string"
    },
    "checkout_fields": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "suggested_searches": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "for",
          "args"
        ],
        "properties": {
          "for": {
            "type": "string"
          },
          "args": {
            "type": "object"
          }
        }
      }
    }
  }
}
get_delivery_location_guidance annotations
{
  "title": "Delivery guidance for a venue",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_local_florists — Find local florists
Advertised by the server during the last successful anonymous check.
Advertised read-only

List florists located in a US city from The Flowers Directory's city pages, with addresses, phone numbers when listed, and the date each listing was last verified. These are directory listings: an order placed through The Flowers Directory is made and delivered by a florist in the Florist One network, which may or may not be one of the listed shops.

find_local_florists input schema
{
  "type": "object",
  "properties": {
    "zip": {
      "type": "string",
      "pattern": "^\\d{5}$",
      "description": "ZIP code; used to find the city when no city is given."
    },
    "city": {
      "type": "string",
      "description": "City name, e.g. \"Worcester\"."
    },
    "limit": {
      "type": "integer",
      "default": 8,
      "maximum": 15,
      "minimum": 1
    },
    "state": {
      "type": "string",
      "description": "State name or 2-letter code, e.g. \"MA\"."
    }
  },
  "additionalProperties": false
}
find_local_florists output schema
{
  "type": "object",
  "required": [
    "city",
    "state",
    "total_listed",
    "florists",
    "city_page",
    "note"
  ],
  "properties": {
    "city": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "florists": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "verified_date": {
            "type": "string"
          }
        }
      }
    },
    "city_page": {
      "type": [
        "string",
        "null"
      ]
    },
    "total_listed": {
      "type": "integer"
    },
    "location_note": {
      "type": "string"
    }
  }
}
find_local_florists annotations
{
  "title": "Find local florists",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 1 of 1 checks answered

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
435 ms
95th percentile latency
435 ms

Maintenance history

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

  • · probe · passed · 435 ms · metadata changed · 9 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 http the-flowers-directory-mcp https://www.theflowersdirectory.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add the-flowers-directory-mcp --url https://www.theflowersdirectory.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable the-flowers-directory-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "the-flowers-directory-mcp": {
      "url": "https://www.theflowersdirectory.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "the-flowers-directory-mcp": {
      "type": "streamableHttp",
      "url": "https://www.theflowersdirectory.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start the-flowers-directory-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "the-flowers-directory-mcp": {
      "type": "http",
      "url": "https://www.theflowersdirectory.com/mcp"
    }
  }
}

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 http the-flowers-directory-mcp https://www.theflowersdirectory.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://www.theflowersdirectory.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "the-flowers-directory-mcp": {
      "serverUrl": "https://www.theflowersdirectory.com/mcp"
    }
  }
}

Let your agent find its tools

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

Do you run The Flowers Directory MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing