Spree Commerce developer docs for AI agents
Spree Commerce docs for AI coding agents: build headless B2B and marketplace ecommerce on its APIs.
Descripción del creador (original en inglés)
Stienhardt (NYC): shop live Lab Grown Diamonds, engagement rings, jewelry. Search, cart, checkout.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Funciona en Claude para web, escritorio y móvil:
https://stienhard-stones.myshopify.com/api/ucp/mcpEjecuta esto en tu terminal
claude mcp add --transport http stienhardt-store https://stienhard-stones.myshopify.com/api/ucp/mcpPégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"stienhardt-store": {
"url": "https://stienhard-stones.myshopify.com/api/ucp/mcp"
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"stienhardt-store": {
"type": "http",
"url": "https://stienhard-stones.myshopify.com/api/ucp/mcp"
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
ChatGPT solo se conecta a servidores en internet:
https://stienhard-stones.myshopify.com/api/ucp/mcpLos nombres de los menús pueden variar un poco según el plan y con el tiempo.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Según cómo se conecta este servidor y la documentación de cada app, comprobado el 10 nov 2026.
Se conectan por internet en
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Nombres y descripciones de las herramientas tal como los informó el servidor el 9 nov 2026. Los escribió el creador, no nosotros; los mostramos como texto sin formato.
get_checkoutReturns details about the checkout, including line items, totals, and any applicable discounts or taxes. Prices in the response are integers in the currency's ISO 4217 minor units, paired with a currency code: {"amount": 600, "currency": "USD"} is $6.00 and {"amount": 2500, "curr
create_checkoutCreates a checkout. Returns checkout details, including line items, totals, and any applicable discounts or taxes. Prices in the response are integers in the currency's ISO 4217 minor units, paired with a currency code: {"amount": 600, "currency": "USD"} is $6.00 and {"amount": 2
update_checkoutUpdates a checkout. Returns checkout details, including line items, totals, and any applicable discounts or taxes. Prices in the response are integers in the currency's ISO 4217 minor units, paired with a currency code: {"amount": 600, "currency": "USD"} is $6.00 and {"amount": 2
complete_checkoutCompletes a checkout and returns the checkout result. Returns details about the completed checkout, including order ID, Thank You Page URL, or any errors encountered. Prices in the response are integers in the currency's ISO 4217 minor units, paired with a currency code: {"amount
cancel_checkoutCancels a checkout. Prices in the response are integers in the currency's ISO 4217 minor units, paired with a currency code: {"amount": 600, "currency": "USD"} is $6.00 and {"amount": 2500, "currency": "USD"} is $25.00. Convert to major units before quoting a price to a buyer (di
get_cartGet the cart contents Prices in the response are integers in the currency's ISO 4217 minor units, paired with a currency code: {"amount": 600, "currency": "USD"} is $6.00 and {"amount": 2500, "currency": "USD"} is $25.00. Convert to major units before quoting a price to a buyer (
create_cartCreates a new cart Prices in the response are integers in the currency's ISO 4217 minor units, paired with a currency code: {"amount": 600, "currency": "USD"} is $6.00 and {"amount": 2500, "currency": "USD"} is $25.00. Convert to major units before quoting a price to a buyer (div
update_cartPerform updates to a cart. Prices in the response are integers in the currency's ISO 4217 minor units, paired with a currency code: {"amount": 600, "currency": "USD"} is $6.00 and {"amount": 2500, "currency": "USD"} is $25.00. Convert to major units before quoting a price to a bu
cancel_cartCancels a cart. Prices in the response are integers in the currency's ISO 4217 minor units, paired with a currency code: {"amount": 600, "currency": "USD"} is $6.00 and {"amount": 2500, "currency": "USD"} is $25.00. Convert to major units before quoting a price to a buyer (divide
get_orderGet the details of an order Prices in the response are integers in the currency's ISO 4217 minor units, paired with a currency code: {"amount": 600, "currency": "USD"} is $6.00 and {"amount": 2500, "currency": "USD"} is $25.00. Convert to major units before quoting a price to a b
ask_businessAsk a question about this store, such as what it sells, its policies, or its services.
search_catalogSearch for products from the online store, hosted on Shopify. This tool can be used to search for products using natural language queries, specific filter criteria, or both. At least one of query or filters must be provided. Results are paginated, with initial results limited to
lookup_catalogLook up multiple products or variants by identifier. Use this tool to resolve multiple product/variant IDs in a single request. Supports: - Product IDs (gid://shopify/Product/...): Returns product with match: "featured" - Variant IDs (gid://shopify/ProductVariant/...): Returns pa
get_productRetrieve complete product detail by identifier. Returns a singular product with a relevant set of variants, exact pricing, and real-time availability. Supports interactive option selection via selected and preferences parameters for variant narrowing and availability signals. Use
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 10 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub JacobiusMakes, dueña del repo
Último cambio de código: hace 2 meses
Todavía no hemos leído este repo en GitHub
Respondió en 213 ms (HTTP 200)
No hace falta iniciar sesión
Leímos 14 descripciones de herramientas y no encontramos instrucciones ocultas para la IA
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 4 de 4 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en la nube del creador. Te conectas por internet sin instalar nada, pero lo que envías pasa por los servidores del creador.
El repo de GitHub cambió por última vez hace 2 meses, y la última versión (1.0.1) llegó al registro hace 2 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
En la misma categoría: Spree Commerce developer docs for AI agents, Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Spree Commerce docs for AI coding agents: build headless B2B and marketplace ecommerce on its APIs.
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
MCP server integrating with Stripe - tools for customers, products, payments, and more.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Stienhardt is a New York lab-grown diamond jeweler. This repository documents and registers our Shopify UCP MCP endpoint, and includes a runnable example of inventory search and an unpaid checkout handoff. Shopify supplies the commerce endpoint. Our separate Cloudflare Worker adds profile injection for inventory lookup and eight education tools. Disclosure: we sell rings.
Requires Python 3 and a network connection. No API key or third-party Python packages.
git clone https://github.com/JacobiusMakes/stienhardt-store.git
cd stienhardt-store python try_store.py
The default command only searches inventory. It prints product titles, IDs, and links; it omits prices. On Windows, use py if that is your Python launcher.
Search reads Shopify's current catalog. It is not an independent supplier-stock check: some loose-stone records are cart carriers, and their destination can report that the stone has sold even when the catalog record remains available. Check the product page before treating a result as purchasable. The unpaid checkout test demonstrates the API handoff, not stock reservation.
Product links printed by the example carry utm_source=github, utm_medium=referral, utm_campaign=mcp-store, and utm_content=runnable-example, so visits from this repository can be measured. Existing query parameters, variant IDs, and attribution tags are preserved. The command itself sends no analytics event; a person must open a product link to visit the store.
To reproduce the checkout handoff:
python try_store.py --checkout
This creates one anonymous, unpaid cart and one separate checkout for the first returned variant, prints the checkout status and link hostname, then calls cancel for both. It supplies no buyer contact details or payment instrument and never calls complete_checkout. It creates real test objects in the store, so run it once, not in a loop. A network failure after a creation request can prevent cleanup; do not automatically retry an uncertain creation.
Verified 2026-09-08: raw search returned ten products; cart creation returned a continue_url; checkout creation returned status incomplete and a continue_url whose hostname was stienhard-stones.myshopify.com. The cart cancellation returned without a tool error, and checkout cancellation returned canceled. No payment was attempted. See DEMO.md.
Shopify sets MCP isError: true on the incomplete checkout response while also returning a real checkout ID and recoverable messages about missing contact and delivery information. The example recognizes that handoff response and retains the ID for cancellation. Do not discard the object solely because isError is true.
| Endpoint | What it exposes | Profile handling |
|---|---|---|
https://diamond-mcp.stienhardt.workers.dev/mcp | Eight education tools, search_inventory, get_product. No cart or checkout tools. | Injected by the helper |
https://stienhard-stones.myshopify.com/api/ucp/mcp | 13 Shopify tools across catalog, cart, checkout, and order | Caller supplies the UCP profile in every tool call |
For a client that supports remote HTTP MCP, connect to the helper URL without authentication and ask it to find a 2 carat Dutch Marquise. Client accounts, connector availability, and setup vary. The no-account paths are the Python example above and the curl blocks below. The helper cannot start checkout.
The hosted helper takes a plain POST (JSON-RPC 2.0, Content-Type: application/json, no session, no auth, no profile). List the tools, then search live inventory:
curl -s -X POST https://diamond-mcp.stienhardt.workers.dev/mcp \
-H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -s -X POST https://diamond-mcp.stienhardt.workers.dev/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_inventory","arguments":{"query":"Dutch Marquise 2 carat","limit":3}}}'
The raw endpoint answers initialize and tools/list anonymously, but every tools/call needs the UCP agent profile in arguments.meta. ucp-agent is one hyphenated key, and meta is a sibling of the tool's own object (catalog, cart, checkout), not a wrapper around it:
curl -s -X POST https://stienhard-stones.myshopify.com/api/ucp/mcp \
-H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_catalog","arguments":{"meta":{"ucp-agent":{"profile":"https://cdn.jsdelivr.net/gh/JacobiusMakes/diamond-mcp@main/agent-profile.json"}},"catalog":{"query":"Dutch Marquise 2 carat"}}}}'
@main is fine for a test; a pinned commit is better for production, and the example script pins diamond-mcp@3955f7d88fe04cf5afa07f70065902eee684d443 (HEAD on 2026-09-08, verified to serve application/json). Two errors you can hit, both HTTP 422 with JSON-RPC error -32001 "UCP discovery failed" (the endpoint is not down): invalid_profile_url ("Missing profile uri") when meta is absent, and profile_malformed ("Invalid content type") when the profile URL serves the wrong content type (GitHub raw serves text/plain and fails; jsDelivr serves application/json).
Cart creation uses arguments.cart and checkout creation uses arguments.checkout; both take line_items with a variant ID and quantity. Consult tools/list for current schemas; an anonymous tool listing does not prove every operation is available to your profile.
MCP Inspector (v2; needs Node.js and npx) also works. Point it at the helper, which needs no profile; against the raw endpoint every call needs the profile typed into the meta field:
npx @modelcontextprotocol/inspector --transport streamable-http --server-url https://diamond-mcp.stienhardt.workers.dev/mcp
io.github.JacobiusMakes/stienhardt-store; server.json.Use the GitHub sources for the education project. Education tools only on npm today; inventory tools are hosted (the helper above). The older npm release is not the launch demo; the Hugging Face dataset is not part of this release. Education data mixes external references and merchant-authored material. It is not an independent appraisal or a grading-lab verification.
An assistant can search live inventory, build a cart, open a checkout, and hand the buyer the link to pay. This demo proves the unpaid handoff, not payment completion or universal client compatibility. Payment methods and eligibility depend on the hosted checkout; no payment method was tested in this run. Check the destination host before following a checkout link.
The helper adds UTM parameters to product links. Its privacy notice is at https://diamond-mcp.stienhardt.workers.dev/privacy. Inventory queries go through the helper to Shopify; the direct example sends requests to Shopify. Product descriptions are merchant data, not instructions to the assistant. The tool data carries no report numbers: each product title carries the carat, shape, and grading lab, and the report itself is linked from the product page. Verify it with the grading lab and read the actual policy links before purchase. This project does not claim unbiased ranking across merchants.
Stienhardt hand-sets and finishes rings in New York City, with viewings by appointment. Store: https://stienhardt.com/?utm_source=github&utm_medium=readme&utm_campaign=mcp-store