
Kifly — Agentic Commerce & Payments
This connects AI agents to real storefronts for end-to-end shopping workflows. It exposes product search, cart management, and checkout tools that work across Claude, ChatGPT, and Gemini. Merchants paste a store URL to sync their catalog, shoppers approve transactions but never hand over card details to the agent, and developers get a public MCP endpoint at kifly.ai/api/mcp with no key required for discovery. Settlement currently redirects to the provider, but Stripe MPP and x402 USDC on Base are coming for fully autonomous checkout. Reach for this when you're building agents that need to search inventory, compare prices, or complete purchases across multiple sellers without building per-store integrations.
- tools
- 22
- auth
- Secret needed
- transport
- HTTP
- last updated
- Jun 6, 2026
Install
From registry metadata$ npx add-mcp https://kifly.ai/api/mcp --name kifly --header 'Authorization: Bearer ${API_TOKEN}'Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http kifly https://kifly.ai/api/mcp --header 'Authorization: YOUR_AUTHORIZATION'Run in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 22 toolsVerified live against the running server on Nov 6, 2026.
search_productsSearch or browse Kifly's product catalog across every seller on the network. Multilingual semantic search (100+ languages); omit `q` to browse recent listings. Pass `q` as an array (up to 5) to try several phrasings in ONE call instead of N searches. Too many hits? Ask once wi...12 params
Search or browse Kifly's product catalog across every seller on the network. Multilingual semantic search (100+ languages); omit `q` to browse recent listings. Pass `q` as an array (up to 5) to try several phrasings in ONE call instead of N searches. Too many hits? Ask once wi...
categorystringcursorstringdelivers_toobjectfacetsbooleanin_stock_onlybooleanlimitintegermax_price_centsintegermetaobjectmin_price_centsintegerqvalueseller_handlestringsort_bystringrelevance · price_asc · price_desc · newestcreate_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...3 params
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...
idempotency_keystringmetaobjectseller_handlestringadd_to_cartRequires `cart:write`, or no key: send `meta.ucp-agent.profile`. 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...5 params
Requires `cart:write`, or no key: send `meta.ucp-agent.profile`. 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...
cart_id*stringidempotency_keystringmetaobjectquantityintegervariant_id*stringget_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 t...2 params
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 t...
cart_id*stringmetaobjectupdate_cart_itemRequires `cart:write`, or no key: send `meta.ucp-agent.profile`. 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...5 params
Requires `cart:write`, or no key: send `meta.ucp-agent.profile`. 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...
cart_id*stringidempotency_keystringitem_id*stringmetaobjectquantity*integerset_shipping_addressRequires `cart:write`, or no key: send `meta.ucp-agent.profile`. Persist a shipping address on the cart and confirm the seller can deliver to it. **Call BEFORE `checkout`.** Returns `delivery_eligible`. When true it also returns `cart_total_with_delivery_cents` — quote that fu...4 params
Requires `cart:write`, or no key: send `meta.ucp-agent.profile`. Persist a shipping address on the cart and confirm the seller can deliver to it. **Call BEFORE `checkout`.** Returns `delivery_eligible`. When true it also returns `cart_total_with_delivery_cents` — quote that fu...
cart_id*stringidempotency_keystringmetaobjectshipping_address*objectquick_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_...6 params
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_...
external_customer_refstringidempotency_keystringitems*arraymetaobjectseller_handlestringshipping_address*objectcheckoutRequires `checkout:write` or `checkout:link`, or no key: send `meta.ucp-agent.profile` for the same payment link. **Checkout is always human-in-the-loop: it returns a link the buyer opens and confirms — it never charges a card or completes an order on its own.** **Call `set_sh...5 params
Requires `checkout:write` or `checkout:link`, or no key: send `meta.ucp-agent.profile` for the same payment link. **Checkout is always human-in-the-loop: it returns a link the buyer opens and confirms — it never charges a card or completes an order on its own.** **Call `set_sh...
buyer_tokenstringcart_id*stringemailstringidempotency_keystringmetaobjectregister_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 }` whether the email is brand new or a...2 params
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 }` whether the email is brand new or a...
email*stringname*stringrequest_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 wit...1 params
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 wit...
email*stringverify_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...2 params
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...
code*stringemail*stringget_buyer_profileRetrieve a repeat buyer's saved name, email, and default shipping address, given their `buyer_token`. Use them to auto-fill `set_shipping_address`, and pass the token to `checkout` so Stripe pre-fills their email. `default_shipping_address` may be null — then collect it normal...1 params
Retrieve a repeat buyer's saved name, email, and default shipping address, given their `buyer_token`. Use them to auto-fill `set_shipping_address`, and pass the token to `checkout` so Stripe pre-fills their email. `default_shipping_address` may be null — then collect it normal...
buyer_token*stringlist_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 `req...3 params
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 `req...
buyer_token*stringlimitintegersincestringsave_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...2 params
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...
address*objectbuyer_token*stringsubmit_feedbackSend structured feedback to the Kifly team. **No API key required** — send `meta.ucp-agent.profile` and this works with no credential at all. **Call after a confusing response, a dead-end, or a successful workaround you had to invent** — it's how we improve the agent surface,...8 params
Send structured feedback to the Kifly team. **No API key required** — send `meta.ucp-agent.profile` and this works with no credential at all. **Call after a confusing response, a dead-end, or a successful workaround you had to invent** — it's how we improve the agent surface,...
agent_namestringcategory*stringdiscoverability · response_shape · tool_description · latency · error_handling · missing_capabilitycontactobjectcontextobjectmessage*stringmetaobjectseverity*stringblocker · friction · nice_to_havesuggested_fixstringrequest_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/conf...9 params
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/conf...
buyer_token*stringcategory*stringdiscoverability · response_shape · tool_description · latency · error_handling · missing_capabilitycontact_phonestringcontextobjectcurrent_workaroundstringimpact*stringproblem*stringproposed_solutionstringseverity*stringblocker · friction · nice_to_haveget_seller**Call first when the user names a store or its website**: it says whether Kifly carries it before you open a browser. Returns the seller's public profile: location, storefront URL, delivery fee and coverage, catalog size, `verified_domains` (domains it proved it controls; tru...4 params
**Call first when the user names a store or its website**: it says whether Kifly carries it before you open a browser. Returns the seller's public profile: location, storefront URL, delivery fee and coverage, catalog size, `verified_domains` (domains it proved it controls; tru...
domainstringhandlestringmetaobjectnamestringget_policiesThe seller's published returns, shipping and warranty policy, in their own words. **Call before telling a buyer what happens after purchase** — if it is not here, say so; never infer a typical policy. `available: false` is the normal case for most sellers and is not an error....2 params
The seller's published returns, shipping and warranty policy, in their own words. **Call before telling a buyer what happens after purchase** — if it is not here, say so; never infer a typical policy. `available: false` is the normal case for most sellers and is not an error....
handlestringmetaobjectlist_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 ha...3 params
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 ha...
cursorstringlimitintegermetaobjectget_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 discoveri...1 params
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 discoveri...
metaobjectorder_statusNo key needed for your own session: send the profile you checked out with. 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 sel...2 params
No key needed for your own session: send the profile you checked out with. 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 sel...
metaobjectsession_id*stringget_helpGet unstuck. Returns Kifly's website and support email for the BUYER, plus how to report the problem to Kifly's engineers yourself. Call this if you are stuck, hit an unresolvable error, or the buyer asks how to reach a human. Share the website and email with the buyer; use `s...1 params
Get unstuck. Returns Kifly's website and support email for the BUYER, plus how to report the problem to Kifly's engineers yourself. Call this if you are stuck, hit an unresolvable error, or the buyer asks how to reach a human. Share the website and email with the buyer; use `s...
metaobjectSponsors
Details
- Website
- kifly.ai
- Category
- Finance & Commerce
- Transport
- HTTP
- Auth
- Required
- Registry
- MCP registry, active
- Resources
- 10
- Prompts
- 1
- Tools verified
- Nov 6, 2026