Multi-seller shopping for AI agents. Settle via Stripe MPP or x402 USDC on Base. Hosted.
Dedotto dai trasporti dichiarati da questo annuncio (streamable-http). Un client che non compare qui non è escluso — semplicemente Forge non è in grado di confermarlo.
La verifica conferma l’identità del publisher (la proprietà del repo), non la sicurezza del codice. L’analisi di sicurezza copre i CVE noti e gli script di installazione sospetti.
Letto da un vero handshake MCP initialize → tools/list verso l’endpoint dichiarato. Nessuno strumento è stato invocato — tools/list è la chiamata di introspezione in sola lettura che il protocollo prevede a questo scopo. Riflette ciò che il server annunciava in quel momento; un endpoint ospitato non è vincolato ad alcuna versione e può cambiare senza preavviso.
https://kifly.io/api/mcp21 strumenti · 358 mssearch_productsSearch or browse Kifly's product catalog. Multilingual semantic search (100+ languages). Returns a JSON-LD ItemList with `kifly:totalCatalogSize`. When empty, `kifly:emptyReason` is 'empty_catalog' | 'no_matches_for_query' — on 'no_matches_for_query' tell the buyer nothing matched rather than guess…Search or browse Kifly's product catalog. Multilingual semantic search (100+ languages). Returns a JSON-LD ItemList with `kifly:totalCatalogSize`. When empty, `kifly:emptyReason` is 'empty_catalog' | 'no_matches_for_query' — on 'no_matches_for_query' tell the buyer nothing matched rather than guess…
| Parametro | Tipo | Descrizione |
|---|---|---|
| q | — | Natural-language query, or an array of up to 5 queries to explore in ONE call (results are unioned by best relevance). Omit to browse recent listings. |
| limit | integer | Max results per page (default 10). |
| sort_by | string | Sort order (default: relevance) |
| min_price_cents | integer | Minimum price filter in cents |
| max_price_cents | integer | Maximum price filter in cents |
| in_stock_only | boolean | Only return products with available inventory |
| category | string | Case-insensitive category filter (e.g. 'fashion', 'Electronics'). Matches the seller-assigned category value. |
| seller_handle | string | Scope results to one seller's catalog (e.g. 'bay-clothing-district'). For network tokens only; ignored for seller-scoped tokens. |
| cursor | string | Pagination cursor from kifly:nextCursor in a previous browse response. Omit on the first call. |
create_cartCreate a new shopping cart on Kifly. **For network (cross-seller) tokens you MUST pass `seller_handle`** — each cart is bound to exactly one seller. Get the handle from search_products results (every item's `kifly:seller` IS the handle in network results) or get_seller. Seller-scoped tokens may omi…Create a new shopping cart on Kifly. **For network (cross-seller) tokens you MUST pass `seller_handle`** — each cart is bound to exactly one seller. Get the handle from search_products results (every item's `kifly:seller` IS the handle in network results) or get_seller. Seller-scoped tokens may omi…
| Parametro | Tipo | Descrizione |
|---|---|---|
| seller_handle | string | Seller handle (e.g. 'bay-clothing-district'). Required for network tokens; ignored for seller-scoped tokens. |
add_to_cartRequires `checkout:write` scope. Add a product variant to an existing cart. Use the variant_id from search_products results. Returns full cart state including item_ids you can use with update_cart_item. **Max quantity per item and max cart total are enforced — call `get_platform_limits` to check th…Requires `checkout:write` scope. Add a product variant to an existing cart. Use the variant_id from search_products results. Returns full cart state including item_ids you can use with update_cart_item. **Max quantity per item and max cart total are enforced — call `get_platform_limits` to check th…
| Parametro | Tipo | Descrizione |
|---|---|---|
| cart_id* | string | Cart ID from create_cart |
| variant_id* | string | Product variant ID from search_products results |
| quantity | integer | Quantity to add |
get_cartInspect the current state of a cart — line items, quantities, prices, and shipping address. Each item includes an `item_id` you can pass to `update_cart_item` to change quantity or remove the item. Call this after `add_to_cart` to review the cart before checkout, or any time the buyer asks what's i…Inspect the current state of a cart — line items, quantities, prices, and shipping address. Each item includes an `item_id` you can pass to `update_cart_item` to change quantity or remove the item. Call this after `add_to_cart` to review the cart before checkout, or any time the buyer asks what's i…
| Parametro | Tipo | Descrizione |
|---|---|---|
| cart_id* | string | Cart ID from create_cart |
update_cart_itemRequires `checkout:write` scope. Change the quantity of a line item in an open cart, or remove it entirely. Set `quantity` to 0 to remove the item. Get the `item_id` from `get_cart` or the `cart` field in the `add_to_cart` response. Returns the updated cart state. **The per-item quantity ceiling ap…Requires `checkout:write` scope. Change the quantity of a line item in an open cart, or remove it entirely. Set `quantity` to 0 to remove the item. Get the `item_id` from `get_cart` or the `cart` field in the `add_to_cart` response. Returns the updated cart state. **The per-item quantity ceiling ap…
| Parametro | Tipo | Descrizione |
|---|---|---|
| cart_id* | string | Cart ID from create_cart |
| item_id* | string | Item ID from get_cart or add_to_cart response |
| quantity* | integer | New quantity (0 removes the item) |
set_shipping_addressRequires `checkout:write` scope. Persist a shipping address on the cart and confirm whether the seller can deliver to it. **Call BEFORE `checkout`.** Returns `delivery_eligible: true/false`. When false, `delivery_coverage: { states, cities }` tells you exactly which US states and cities the seller…Requires `checkout:write` scope. Persist a shipping address on the cart and confirm whether the seller can deliver to it. **Call BEFORE `checkout`.** Returns `delivery_eligible: true/false`. When false, `delivery_coverage: { states, cities }` tells you exactly which US states and cities the seller…
| Parametro | Tipo | Descrizione |
|---|---|---|
| cart_id* | string | Cart ID from create_cart |
| shipping_address* | object | Structured shipping address collected conversationally from the buyer |
quick_buyRequires `cart:write` scope. Create a cart, add items, and set the shipping address in ONE call — the fast path when you already know the seller, the exact variant(s), and the buyer's address (e.g. a reorder, or a buyer who has decided). Prefer this over the create_cart → add_to_cart → set_shipping…Requires `cart:write` scope. Create a cart, add items, and set the shipping address in ONE call — the fast path when you already know the seller, the exact variant(s), and the buyer's address (e.g. a reorder, or a buyer who has decided). Prefer this over the create_cart → add_to_cart → set_shipping…
| Parametro | Tipo | Descrizione |
|---|---|---|
| seller_handle | string | Seller handle from search_products. REQUIRED for network tokens; omit for seller-scoped tokens (their own seller is implicit). |
| items* | array | Line items to add — all must belong to the same seller |
| shipping_address* | object | Structured shipping address collected conversationally from the buyer |
| external_customer_ref | string | Embedded-commerce pass-through: the seller's own opaque customer id for a cart from their embed widget. Omit unless you are the embed flow. |
checkoutRequires `checkout:write` scope. **Requires `set_shipping_address` to have been called first.** Returns 400 `invalid_shipping` if no address is on the cart, or 400 `delivery_unavailable` if the buyer's address is outside the seller's coverage. Cart total must not exceed the platform cap (`kifly://p…Requires `checkout:write` scope. **Requires `set_shipping_address` to have been called first.** Returns 400 `invalid_shipping` if no address is on the cart, or 400 `delivery_unavailable` if the buyer's address is outside the seller's coverage. Cart total must not exceed the platform cap (`kifly://p…
| Parametro | Tipo | Descrizione |
|---|---|---|
| cart_id* | string | Cart ID from create_cart |
| string | Buyer's email, collected conversationally. Pre-fills the Stripe Checkout email field so the buyer doesn't retype it. This is ALL you need to pre-fill email — a… | |
| buyer_token | string | INTERNAL token (kfb_live_...) minted by register_buyer / verify_buyer — resolves the buyer's saved profile and pre-fills their email on the payment link. NEVER… |
register_buyerStart registering a buyer so they can be recognized across future purchases without re-entering their details. Takes the buyer's email and name and always emails a 6-digit verification code — the response is `{ verification_required: true, buyer_profile_id }` whether the email is brand new or alrea…Start registering a buyer so they can be recognized across future purchases without re-entering their details. Takes the buyer's email and name and always emails a 6-digit verification code — the response is `{ verification_required: true, buyer_profile_id }` whether the email is brand new or alrea…
| Parametro | Tipo | Descrizione |
|---|---|---|
| email* | string | Buyer's email address |
| name* | string | Buyer's full name |
request_buyer_codeSend a 6-digit verification code to a **returning** buyer's email so they can prove the account is theirs and recover their saved name + shipping address on this connection — without pasting any token or re-entering their name. Call this when the buyer says they've shopped with Kifly before and giv…Send a 6-digit verification code to a **returning** buyer's email so they can prove the account is theirs and recover their saved name + shipping address on this connection — without pasting any token or re-entering their name. Call this when the buyer says they've shopped with Kifly before and giv…
| Parametro | Tipo | Descrizione |
|---|---|---|
| email* | string | The returning buyer's email address |
verify_buyerVerify the 6-digit code a returning buyer received by email (from `request_buyer_code`). On success returns `{ buyer_token, buyer_profile_id }` — pass the `buyer_token` to `get_buyer_profile` to auto-fill their saved name + shipping address, and to `checkout` to pre-fill their email on the payment…Verify the 6-digit code a returning buyer received by email (from `request_buyer_code`). On success returns `{ buyer_token, buyer_profile_id }` — pass the `buyer_token` to `get_buyer_profile` to auto-fill their saved name + shipping address, and to `checkout` to pre-fill their email on the payment…
| Parametro | Tipo | Descrizione |
|---|---|---|
| email* | string | The buyer's email address (same one used for request_buyer_code) |
| code* | string | The 6-digit code the buyer received by email |
get_buyer_profileRetrieve a repeat buyer's saved name, email, and default shipping address. **At the start of every purchase flow, ask the buyer in plain language: 'Are you a returning Kifly shopper? What's the email on your Kifly account?' — never ask them to paste a token.** If they have a Kifly account, recover…Retrieve a repeat buyer's saved name, email, and default shipping address. **At the start of every purchase flow, ask the buyer in plain language: 'Are you a returning Kifly shopper? What's the email on your Kifly account?' — never ask them to paste a token.** If they have a Kifly account, recover…
| Parametro | Tipo | Descrizione |
|---|---|---|
| buyer_token* | string | The buyer's kfb_live_... token from their Kifly account |
list_ordersList a returning buyer's recent orders and their current fulfillment status — use this in a NEW session to answer 'did my order ship?' / 'where's my package?' when you don't have the original `session_id` from `checkout`. Requires the buyer's `buyer_token` (recover it via `request_buyer_code` + `ve…List a returning buyer's recent orders and their current fulfillment status — use this in a NEW session to answer 'did my order ship?' / 'where's my package?' when you don't have the original `session_id` from `checkout`. Requires the buyer's `buyer_token` (recover it via `request_buyer_code` + `ve…
| Parametro | Tipo | Descrizione |
|---|---|---|
| buyer_token* | string | The buyer's kfb_live_... token from their Kifly account |
| since | string | ISO-8601 timestamp. Only return orders updated after this — pass the time of your last check to get the delta. |
| limit | integer | Max orders to return (default 20, max 50). |
save_buyer_addressSave a shipping address to the buyer's Kifly profile so it auto-fills on future purchases. **Call this after a successful checkout if `get_buyer_profile` returned `default_shipping_address: null`.** The address is persisted server-side against the buyer token — the buyer never needs to re-enter it.…Save a shipping address to the buyer's Kifly profile so it auto-fills on future purchases. **Call this after a successful checkout if `get_buyer_profile` returned `default_shipping_address: null`.** The address is persisted server-side against the buyer token — the buyer never needs to re-enter it.…
| Parametro | Tipo | Descrizione |
|---|---|---|
| buyer_token* | string | The buyer's kfb_live_... token |
| address* | object | The shipping address to save — same structure as set_shipping_address |
submit_feedbackSend structured feedback to the Kifly team. **Call after a confusing response, a dead-end, or a successful workaround you had to invent** — it's how we improve the agent surface. Fire-and-forget: returns 202 immediately, no blocking, safe to skip if it would add latency to a user-facing flow. `cate…Send structured feedback to the Kifly team. **Call after a confusing response, a dead-end, or a successful workaround you had to invent** — it's how we improve the agent surface. Fire-and-forget: returns 202 immediately, no blocking, safe to skip if it would add latency to a user-facing flow. `cate…
| Parametro | Tipo | Descrizione |
|---|---|---|
| category* | string | What kind of issue. Pick the closest match — don't invent new categories. |
| severity* | string | blocker = can't complete the task. friction = degraded UX. nice_to_have = improvement idea. |
| message* | string | Plain-language description. Be specific about what happened and why it's a problem. |
| context | object | Reproducible signal: { tool, query, response_snippet, expected }. Auto-fill from what you just did. |
| suggested_fix | string | Optional. Only include if you have a concrete idea. Leave blank if you only have a complaint. |
request_featureSubmit the buyer's **product/feature request** to the Kifly team. Use this when the buyer wishes Kifly *itself* did something it doesn't — a missing capability, a rough flow, an idea to improve the platform. **This is NOT `submit_feedback`** (that's for reporting a broken/confusing API response you…Submit the buyer's **product/feature request** to the Kifly team. Use this when the buyer wishes Kifly *itself* did something it doesn't — a missing capability, a rough flow, an idea to improve the platform. **This is NOT `submit_feedback`** (that's for reporting a broken/confusing API response you…
| Parametro | Tipo | Descrizione |
|---|---|---|
| buyer_token* | string | The buyer's kfb_live_ token. Required — feature requests must come from a registered buyer. |
| problem* | string | The pain in the buyer's own terms — what's broken or missing for them. NOT the proposed fix. |
| impact* | string | Why it matters: who it affects, how often, what it costs them today. |
| category* | string | Closest match for the area of the request. Don't invent new categories. |
| severity* | string | blocker = can't accomplish the goal at all. friction = works but painful. nice_to_have = improvement idea. |
| current_workaround | string | Optional. What the buyer does today instead. Leave blank if there's no workaround. |
| proposed_solution | string | Optional. The buyer's idea for a fix, kept separate from the problem. Leave blank if they only described the pain. |
| contact_phone | string | Optional phone number IF the buyer offers one for follow-up. Name + email come from their profile — never ask for those. |
| context | object | Optional signal about the conversation: { goal, seller, last_tool }. Auto-fill from what you were doing. |
get_sellerRetrieve a seller's public profile: name, location (city/region/country), storefront URL, delivery fee, delivery coverage, and catalog size. **Call this before `create_cart` or `set_shipping_address` to validate that the seller ships to the buyer's area or to set expectations about catalog size.**…Retrieve a seller's public profile: name, location (city/region/country), storefront URL, delivery fee, delivery coverage, and catalog size. **Call this before `create_cart` or `set_shipping_address` to validate that the seller ships to the buyer's area or to set expectations about catalog size.**…
| Parametro | Tipo | Descrizione |
|---|---|---|
| handle | string | Seller handle (case-insensitive, e.g. 'bay-clothing-district' or 'BayClothingDistrict'). Required for network tokens; ignored for seller-scoped tokens. |
list_sellersList all active sellers on the Kifly network. **Requires a network token (kfn_live_…).** Returns each seller's handle, name, city, region, delivery coverage (`nationwide:true` or a `states` list), delivery fee, and catalog size. `delivery_coverage.cities` may be capped to a handful of entries — com…List all active sellers on the Kifly network. **Requires a network token (kfn_live_…).** Returns each seller's handle, name, city, region, delivery coverage (`nationwide:true` or a `states` list), delivery fee, and catalog size. `delivery_coverage.cities` may be capped to a handful of entries — com…
| Parametro | Tipo | Descrizione |
|---|---|---|
| limit | integer | Max sellers per page (default 20, max 50). |
| cursor | string | Pagination cursor from kifly:nextCursor in a previous response. Omit on the first call. |
get_platform_limitsReturns the current platform-enforced cart limits: `max_item_quantity` (per-line-item ceiling), `max_cart_total_cents`, and `max_cart_total_usd`. Call this once at session start before building a large cart so you can quote limits to the buyer proactively rather than discovering them via errors. Th…Returns the current platform-enforced cart limits: `max_item_quantity` (per-line-item ceiling), `max_cart_total_cents`, and `max_cart_total_usd`. Call this once at session start before building a large cart so you can quote limits to the buyer proactively rather than discovering them via errors. Th…
Per questo strumento non è stato pubblicato alcuno schema di input.
order_statusCheck the status of a Stripe checkout session. Poll every 5 seconds after checkout until status is 'paid', 'shipped', or 'failed'. Returns order details (order_id, amount, items) when paid. When the seller marks the order as shipped, status becomes 'shipped' and tracking_number, carrier, and shippe…Check the status of a Stripe checkout session. Poll every 5 seconds after checkout until status is 'paid', 'shipped', or 'failed'. Returns order details (order_id, amount, items) when paid. When the seller marks the order as shipped, status becomes 'shipped' and tracking_number, carrier, and shippe…
| Parametro | Tipo | Descrizione |
|---|---|---|
| session_id* | string | Stripe checkout session ID from the checkout tool response |
get_helpGet Kifly's website and support contact email. Call this if you are stuck, hit an unresolvable error, or the buyer asks how to reach a human. Returns the website URL and support email — always share both with the buyer.Get Kifly's website and support contact email. Call this if you are stuck, hit an unresolvable error, or the buyer asks how to reach a human. Returns the website URL and support email — always share both with the buyer.
Per questo strumento non è stato pubblicato alcuno schema di input.
21 strumenti su 21 hanno pubblicato una descrizione.
I nomi e le descrizioni degli strumenti sono scritti dal publisher e mostrati alla lettera come testo inerte. Sono le stringhe che un client MCP passa a un modello, quindi Forge vi cerca schemi di prompt injection — ogni rilievo compare insieme all’analisi di sicurezza qui sopra. «Privilegiato» è una corrispondenza di parola chiave sul nome dello strumento, non una verifica di ciò che fa: un nome innocuo può comunque fare qualsiasi cosa.
Multi-seller shopping for AI agents. Settle via Stripe MPP or x402 USDC on Base. Hosted.
I nomi collegati aprono l’indice Forge di tutte le voci osservate esporre quello strumento. Sfoglia tutti gli strumenti indicizzati.
Questa voce non pubblica alcun pacchetto npm, quindi Forge non ha un albero delle dipendenze per essa. È una lacuna di copertura, non l'affermazione che non abbia dipendenze.