NB8 Floral
Server Details
Wholesale silk flowers: find by flower & color, per-stem prices, 7-day US stock, photo ID, checkout.
- Status
- Healthy
- Uptime
- 100.0% over 15 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- nb8floral/nb8-floral-mcp
- GitHub Stars
- 0
TDQS
Scored across 5 tools
Each tool has a distinct purpose: search_products (browse), get_products (lookup specific slugs), identify_flowers (photo), create_checkout_link (buy), create_quote_request (quote). The only mild overlap is between search_products and get_products and between the two create_* tools, but descriptions clearly separate their use cases (search vs. exact lookup; purchase vs. quote).
All five tools follow a clean verb_noun snake_case convention (create_checkout_link, create_quote_request, get_products, identify_flowers, search_products). No style mixing or cryptic names.
Five well-scoped tools cover discovery, lookup, identification, and two purchase paths without redundancy. Each tool clearly earns its place for a floral ordering service.
The surface covers the full discovery-to-purchase/quote lifecycle (search, lookup, identify, checkout link, quote request). Minor gap: no order-status or post-order tracking, though that is deliberately deferred to the website.
Available Tools
5 toolscreate_checkout_linkCreate a checkout linkAInspect
Create a one-time link to a cart on nb8floral.com pre-filled with the given products. Nothing is charged: the cart is reviewed and paid on nb8floral.com. Quantities are rounded up to whole packs and prices are recalculated from today's data. The link works once and expires after 30 minutes. Ships to the contiguous US only. Items that can't be added (pre-order, price on request, not enough stock) are returned in needs_quote.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Products and stem quantities to buy. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false): discloses that nothing is charged, that quantities round up to whole packs, that prices are recalculated from today's data, that the link is single-use with a 30-minute expiry, and that unaddable items come back in needs_quote. This is exactly the operational context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences, each carrying distinct information (what it makes, cost behavior, link lifetime/geography, error handling), with the core purpose front-loaded. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be spelled out, yet the description still flags the important output signal (needs_quote). For a single-parameter creation tool the agent has everything needed to call it correctly and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: prices are recalculated from today's data, rounds are applied to pack sizes, and items rejected for pre-order/price-on-request/stock land in needs_quote. It clarifies the practical effect of the items/stems inputs rather than restating them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (create a one-time checkout link to a cart on nb8floral.com) with the exact scope: pre-filled with given products, nothing charged. This clearly separates it from siblings like create_quote_request and search_products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives strong contextual guidance: the cart is reviewed and paid on nb8floral.com, the link is single-use and expires in 30 minutes, and US-only shipping applies. It implies the quote path via needs_quote for unaddable items, but never explicitly names create_quote_request as the alternative when a checkout link isn't suitable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_quote_requestCreate a quote requestAInspect
Save a product list for a price quote (pre-order items, large or custom orders, or shipping outside the contiguous US) and return an order code like NB8-7K3QX. Nothing is ordered or charged; the code is sent to NB8 Floral by email or WhatsApp to receive a quote.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Products and stem quantities. | |
| event_date | No | Optional event date, YYYY-MM-DD — helps us check pre-order timing. | |
| project_name | No | Optional label, e.g. 'Smith wedding'. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the mutation profile is covered. The description adds genuinely useful context beyond that: nothing is ordered or charged, and the returned code must be sent to NB8 Floral by email or WhatsApp to actually receive a quote — a non-obvious downstream step. It doesn't mention rate limits or duplicate-code behavior on repeat calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The core action and result are front-loaded, with the reassurance ('nothing is ordered or charged') and the required follow-up placed after.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and annotations cover the safety profile. The description supplies what those structured fields cannot: the intent, the trigger cases, and the fact that the code must be relayed externally to get a quote.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents items, event_date, and project_name, including formats like YYYY-MM-DD. The description only restates the product-list concept and does not add syntax or constraint detail, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Save a product list for a price quote') and immediately clarifies the outcome ('return an order code like NB8-7K3QX'), which separates it from create_checkout_link. An agent can tell what it produces without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names concrete trigger conditions — pre-order items, large or custom orders, shipping outside the contiguous US — which is clear when-to-use context. It does not explicitly name a sibling as the alternative for in-stock purchases, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productsCheck current price and stockARead-onlyIdempotentInspect
Get today's price, pack size, stock and delivery time for specific NB8 Floral products by slug, optionally in a given color.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Products to look up. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds modest value by signaling that price/stock/delivery are live values ('today's price'), but it says nothing about batch behavior, rate limits, or what happens with unknown slugs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence with zero filler, front-loading the verb and the returned fields. The optional-color qualifier is placed at the end where it belongs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Return values need not be explained since an output schema exists, yet the description helpfully names the returned fields for routing purposes. Safety and batch limits are covered by annotations and schema (maxItems 20), leaving little an agent must infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description's 'by slug, optionally in a given color' merely restates what the ProductRef schema already documents. It adds no format or syntax detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (get) and resource (NB8 Floral products) and enumerates what is returned: price, pack size, stock, delivery time. The 'by slug' phrasing signals a targeted lookup rather than a browse, which implicitly distinguishes it from search_products, though it never names the sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'specific products by slug' suggests this is a follow-up call once slugs are known, and the schema note 'as returned in search or identification results' reinforces that workflow, but the description itself gives no explicit when-to-use, prerequisites, or alternatives to search_products.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
identify_flowersIdentify flowers in a photoARead-onlyInspect
Identify the flower types and colors in a photo given by public image URL, and match each to NB8 Floral products. Stem counts are approximate.
| Name | Required | Description | Default |
|---|---|---|---|
| image_url | Yes | Public http(s) URL of a photo of flowers, a bouquet or an arrangement. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. The description adds genuine value beyond them by disclosing that stem counts are approximate and that results include a product match — output-quality caveats the annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence that front-loads the action and appends only the two facts that matter: product matching and the approximation caveat. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description covers the transformation performed and its accuracy limits. It is nearly complete, only missing a pointer to related catalog tools for follow-up.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter is fully documented in the schema itself as a public http(s) URL. The description's 'public image URL' phrasing restates rather than extends that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (identify) and resource (flower types and colors in a photo), plus a second distinct effect (matching each to NB8 Floral products). This clearly separates it from the sibling product/checkout/quote tools without needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied — you call it when you have a flower photo — but there is no explicit when-to-use/when-not statement or routing to alternatives such as get_products or search_products for catalog browsing. No prerequisites (e.g., image accessibility) are stated either.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsSearch NB8 artificial flowersARead-onlyIdempotentInspect
Search NB8 Floral's artificial (silk) flower catalog by flower type, color and keywords.
Returns matching products with price per pack, stems per pack, price per stem, delivery time, free-shipping flag, product link and photo. When nothing matching is listed on the website, returns pre-order options (estimated price, lead time on request). When the flower type is not recognized, returns the list of flower types in the catalog.
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | Color, e.g. 'white', 'blush pink', 'burgundy', 'sage green'. | |
| limit | No | How many products to return (1-10). | |
| query | No | Extra keywords matched against product names, e.g. 'sample box', 'bouquet', 'real touch'. | |
| flower_type | No | Flower or greenery type in English, e.g. 'peony', 'rose', 'hydrangea', 'eucalyptus', 'babys breath'. Empty means keyword-only search. | |
| us_stock_only | No | Only return items in the US warehouse (about 7-day delivery). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuinely non-obvious behavior beyond that: degraded-result fallbacks (pre-order options, unrecognized-type type list), which materially change how an agent should interpret an empty or odd result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action and then the result/fallback behavior. No filler, no repetition of the title, and each sentence carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape explanation is not required, yet the description still summarizes the key fields (price per pack, stems per pack, delivery time, free-shipping flag, link, photo) and the fallback cases. Nothing an agent needs 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter is well documented in the schema, so the baseline is 3. The description only restates the searchable dimensions (type, color, keywords) and adds no new syntax, defaults, or interaction rules beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb (search) and resource (NB8 Floral's artificial flower catalog) plus the dimensions searched (flower type, color, keywords). It is unambiguous, but it never names or contrasts itself with siblings like get_products or identify_flowers, so the agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operating context: search by type/color/keywords, with a documented fallback to pre-order options when nothing is listed and to a flower-type listing when the type is unrecognized. It does not explicitly say when to prefer this over get_products or identify_flowers, so it stops short of full when/when-not guidance.
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.
5 tool updates
- First observed
create_checkout_link - First observed
create_quote_request - First observed
get_products - First observed
identify_flowers - First observed
search_products
Related MCP Connectors
Send flowers in the US: search arrangements, same-day florist delivery by ZIP, checkout links
Search surplus and overstock inventory, request bulk quotes, and check out.
Search US wholesale plant growers' live availability lists and price a whole plant list. Read-only.
Send flowers in Israel: browse bouquets, check delivery days, get a quote and place an order in USD.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to deconstruct outfit photos into clothing pieces, discover 100% in-stock occasion looks, verify live size and fabric availability, and generate direct one-click checkout links.168 npm1MIT
- AlicenseAqualityBmaintenanceGive it a product and a country and it searches Google for manufacturers, wholesalers, and distributors, reads each candidate company's own website, and returns only the ones whose pages back up the claim, with quoted evidence, the domain, and a confidence score. Directories, marketplaces, and social networks are filtered out, and a free summary row reports how many sites were found and checked when nothing qualifies.1163 npmMIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables natural language querying and data manipulation of Salesforce orgs, with intelligent SOQL/SOSL generation, cross-object search, and enterprise-ready features optimized for wholesale distribution systems.-
- AlicenseNot gradedqualityCmaintenanceZillow property data for AI agents — search listings by city or ZIP, look up any US address, and get 50+ fields per property including prices, Zestimates, price history, and sold data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.