Module reference

MCP Reorder for Magento 2 — module reference

Covers angeo/module-mcp-reorder 1.0.0 · Checked 16 October 2026 · MIT licensed

MCP Reorder lets an AI agent fill a business buyer’s cart from their order history. A buyer can tell Claude, or any MCP client, “order the same as last month, but double the gloves”, or paste a list of SKUs. The agent reads their own orders, puts the lines into their own cart at their own prices, and reports what is out of stock or more expensive now.

The buyer then checks out on your store as usual. The tools never place an order. Payment, purchase orders, approvals and company rules stay in your checkout.

It extends MCP Server. For shoppers who are not signed in, see MCP Checkout.

Tools

ToolWhat it doesChanges data
list_my_ordersThe buyer’s orders, newest first. sku finds orders that contain a product.No
get_my_orderEvery line of one order: SKU, options, quantity, price thenNo
reorder_to_cartPuts an order into the cart: all lines, a multiplier, or chosen items. Reports price changes and lines that cannot be added.Cart
add_items_to_my_cartQuick order: a list of {sku, qty} in one callCart
update_my_cart_itemChanges a line’s quantity, or removes it with qty: 0Cart
get_my_cartThe cart with totals and a checkout_urlNo
get_my_pricesThe buyer’s own unit price and quantity breaks for up to 50 SKUsNo

reorder_to_cart and add_items_to_my_cart accept "preview": true. You get the same result, prices and stock check, but the cart is not saved.

Two conversation starters are added for signed-in buyers: Reorder from {store} and Quick order at {store}.

list_my_orders                       → order 000000123, 14 lines
reorder_to_cart {order_number: "000000123", multiplier: 2, preview: true}
                                     → 13 lines OK, 1 out of stock, gloves +8 %
(buyer confirms)
reorder_to_cart {order_number: "000000123", multiplier: 2}
                                     → cart saved, checkout_url

How it works

  • The buyer’s normal cart. Changes go into the same cart the buyer sees in the mini cart.
  • Today’s prices and rules. Lines are added with Magento’s own reorder logic, so options, variants and bundles come back as bought. Prices, tier prices, catalog rules and stock are today’s, for the buyer’s customer group.
  • All or nothing per change. Lines are added, totals are collected, limits are checked — and only then is the cart saved. If a limit is broken, nothing is saved.
  • Partial success is reported. A line Magento refuses (out of stock, minimum quantity, no longer sold) is listed with the reason. The other lines still go in.

Security model

  • Verified buyers only. The tools appear in tools/list only when the request carries a customer token that Magento verified. Anonymous and integration-only connections do not see them.
  • No identity in arguments. No tool accepts a customer id, email or login. The buyer comes only from the token.
  • Own data only. Orders are filtered by the buyer and by the store views of the current website. Another buyer’s order number looks like one that does not exist.
  • Small output. Orders show SKUs, names, quantities, prices and status. No addresses, email or payment data.
  • Storefront rules. Disabled, hidden or other-website products are refused, also in get_my_prices. An old custom_price from an admin order is never copied.
  • Limits. Lines per call, quantity per line, lines in the cart, and an optional subtotal cap. All are checked on the resulting cart before it is saved.
  • Audit log. Each cart change is written to var/log/angeo_mcp_reorder.log: tool, customer id, store and line counts. No product data or prices.

Requirements

Magento2.4.6+ (Open Source, Mage-OS or Adobe Commerce) — magento/framework >=103.0.6 <104
PHP8.1 – 8.5 — ~8.1.0||~8.2.0||~8.3.0||~8.4.0||~8.5.0
Other angeo modulesangeo/module-mcp-server ^2.4.0

MCP Server 2.4.0 brings customer tokens and account linking, which is how connectors such as Claude reach a signed-in buyer.

Installation

composer require angeo/module-mcp-reorder
bin/magento module:enable Angeo_McpReorder
bin/magento setup:upgrade
bin/magento setup:di:compile                # production mode only
bin/magento cache:flush

Then, in Stores → Configuration → Angeo → MCP Server:

  1. Security → Accept Customer Tokens = Yes
  2. Customer Account Tools → Enable = Yes

Test from the shell as a real customer, without a token:

bin/magento angeo:mcp:tools list_my_orders -c buyer@example.com
bin/magento angeo:mcp:tools reorder_to_cart -c buyer@example.com \
  -a '{"order_number":"000000123","preview":true}'

Configuration reference

All settings are under Stores → Configuration → Angeo → MCP Server. The table shows each field, its config path (for bin/magento config:set) and its default value.

Customer Account Tools (Reorder & Quick Order) (6)
SettingConfig pathDefault
Enable Customer Account Toolsangeo_mcp/reorder/enabledNo
Max Lines per Callangeo_mcp/reorder/max_lines_per_call50
Max Quantity per Lineangeo_mcp/reorder/max_qty_per_line1000
Max Cart Linesangeo_mcp/reorder/max_cart_lines100
Max Cart Subtotal (base currency)angeo_mcp/reorder/max_cart_subtotal0
Orders per Pageangeo_mcp/reorder/orders_page_size10

Reordering also follows Magento’s own Sales → Reorder → Allow Reorder setting.

Connecting a signed-in buyer

  • Through a connector with account linking — this is how Claude connects, for example through mcp.angeo.dev. The buyer signs in on your store and approves. The connector gets an MCP-only token (amc_…) and sends it as X-Customer-Token next to its Integration token. See account linking.
  • Directly, for testing only (Claude Code, MCP Inspector). Turn on Accept Storefront Customer Tokens (testing) first, and off again afterwards.
TOKEN=$(curl -s -X POST https://your-store.example/rest/V1/integration/customer/token \
  -H 'Content-Type: application/json' \
  -d '{"username":"buyer@example.com","password":"…"}' | tr -d '"')
claude mcp add --transport http my-store https://your-store.example/mcp \
  -H "Authorization: Bearer $TOKEN"

Adobe Commerce B2B

The module works on Magento Open Source and Mage-OS with customer groups and tier prices. On Adobe Commerce with B2B, carts change through the core cart (Quote::addProduct), so B2B cart rules apply. Negotiable quotes, requisition lists and purchase-order approval are not touched — the buyer uses them at checkout as usual.

Known limits

  • add_items_to_my_cart adds simple, virtual and configurable products. Reorder bundles and grouped products from a past order, or add them on the store.
  • get_my_prices shows prices before cart rules and tax, in base currency. The cart total is final.
  • A search by sku looks at the latest 100 orders.
  • On multi-currency stores, price changes are flagged only when the order and the cart use the same currency.

FAQ

Can the agent place the order?

No. There is no tool that places an order. The agent fills the cart and gives the buyer a checkout link. The buyer checks out on your store.

Which prices does the agent see?

The buyer’s own prices today: their customer group, tier prices and catalog rules. Cart rules and tax are applied in the cart total.

Can an agent see another customer’s orders?

No. The buyer comes only from the verified token, never from tool arguments, and orders are filtered by that buyer. Another buyer’s order number looks like one that does not exist.

Does it work with Adobe Commerce B2B?

Yes, through the core cart, so B2B cart rules apply. Negotiable quotes, requisition lists and approvals stay in the normal checkout.

How does Claude know who the buyer is?

Through account linking in MCP Server. The buyer signs in on your store and approves the connector, which then gets an MCP-only token for that buyer.

This page was written from the README.md, composer.json and etc/*.xml files of tag 1.0.0, read on 16 October 2026. Settings, commands and defaults come straight from that code. If a newer release is out, the README on GitHub wins.