list_products
List products
List everything the demo store sells, with product ids and prices. Prices are in USD.
Takes no parameters.
com.flo-voice1Published by flo-voice1.comOfficial publisherv1.0.1Updated Nov 3, 2026
Agentic Commerce Protocol sandbox: agent builds a cart, human approves a real PayPal payment.
Acp Sandbox's hosted MCP server (acp-sandbox.flo-voice1.com), published by flo-voice1.com; no sign-in required; Streamable HTTP; 8 tools.
No AI overview yet: these facts come from the registry entry and the server itself.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/com.flo-voice1%2Facp-sandbox/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"acp-sandbox": {
"type": "http",
"url": "https://acp-sandbox.flo-voice1.com/mcp"
}
}
}A hosted mock merchant implementing the Agentic Commerce Protocol (ACP) checkout API — for testing AI shopping-agent integrations end to end without real money, a real store, or real buyer data.
Live at https://acp-sandbox.flo-voice1.com — open it in a browser for the quickstart page, or hit the endpoints below directly.
ACP defines how a shopping agent talks to a merchant to complete a purchase. Stripe's own test mode covers the payment side (test cards, test API keys), but there's no hosted "fake merchant" a third-party agent developer can point their code at to verify their ACP client logic actually works — creating a session, updating it, completing checkout, handling errors. This fills that gap.
v1 scope: checkout session lifecycle only (create / retrieve / update / complete / cancel), against a small static demo catalog. Payment is stubbed — any payment_data you send is accepted and the session is marked paid. OAuth delegated-authentication is not implemented in v1.
Responses follow the real ACP CheckoutSession / Order / Error schemas (2026-04-17 spec version) for the fields this sandbox supports. Fields outside v1 scope (discounts, fulfillment options, marketplace details, etc.) are simply omitted rather than faked.
complete always succeeds.delegate_authentication flow.ready_for_payment.Uses Node's built-in node:sqlite (no native dependencies) for storage — data persists in ./data/acp-sandbox.db.
Source: README.md at commit 4f9ccbc
List products
List everything the demo store sells, with product ids and prices. Prices are in USD.
Takes no parameters.
Create a checkout
Start a checkout (an Agentic Commerce Protocol checkout session) with the products and quantities the user wants. Returns the session id, the cart and its total. If no api_key is given, a sandbox key is created and returned.
itemsrequiredapi_keybuyer_emailChange the cart
Replace the items in an open checkout (e.g. the user changed their mind). Any PayPal payment created for the old total is dropped.
itemsrequiredapi_keysession_idrequiredGet a checkout
Read the current cart, total, payment status and order of a checkout.
api_keysession_idrequiredAsk the user to pay with PayPal
Create a PayPal (sandbox) payment for the checkout's exact total. Returns approve_url, the PayPal link where the user approves the payment.
api_keysession_idrequiredWait for the user to approve the PayPal payment
Wait (up to 45s per call) until PayPal reports the user approved the payment. Returns still_waiting if the user has not approved yet.
api_keysession_idrequiredtimeout_secondsComplete the checkout
Place the order. With payment "paypal" the approved PayPal payment is captured first, and the order only goes through if PayPal confirms the money for the exact total. "mock" skips real payment (testing only).
api_keypaymentsession_idrequiredCancel a checkout
Cancel an open checkout. Nothing is charged.
api_keysession_idrequired100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
curl -X POST https://acp-sandbox.flo-voice1.com/keys \ -H "Content-Type: application/json" \ -d '{"email":"[email protected]"}'# => {"api_key":"acps_test_..."}curl https://acp-sandbox.flo-voice1.com/catalogcurl -X POST https://acp-sandbox.flo-voice1.com/checkout_sessions \ -H "Authorization: Bearer acps_test_..." \ -H "Content-Type: application/json" \ -d '{ "line_items": [{"id": "item_demo_headphones", "quantity": 1}], "currency": "usd", "buyer": {"email": "[email protected]"} }'curl -X POST https://acp-sandbox.flo-voice1.com/checkout_sessions/{id}/complete \ -H "Authorization: Bearer acps_test_..." \ -H "Content-Type: application/json" \ -d '{"payment_data": {"handler_id": "test", "instrument": {"type": "card", "credential": {"type": "spt", "token": "tok_test"}}}}'curl https://acp-sandbox.flo-voice1.com/logs -H "Authorization: Bearer acps_test_..."npm installnpm run dev # tsx watch, http://localhost:3900