Medusa Store integration for AI agents.
Medusa Store integration for AI agents with secure authentication and server-side credential injection. Open Connector runs the OAuth, seals the token in an encrypted vault, and serves Medusa Store tools to your agent over MCP or a typed API — credentials injected server-side, every call audited, nothing leaving your infrastructure. Open source (AGPL-3.0) and self-hostable.
Real Medusa Store actions, managed and audited.
Your user connects Medusa Store once; your agent can then build storefront and customer commerce flows through the Medusa v2 Store API — scoped to the OAuth permissions you grant and the tool allowlist you configure. Every action is least-privilege and written to a tamper-evident audit trail.
- 1
Your user grants Medusa Store access once (OAuth) — the token lands in the vault.
- 2
Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.
- 3
Every routed call appends a hash-chained audit record — nothing leaves your infra.
Supported Medusa Store tools.
59 tools are generated from the published Medusa Store catalog. Descriptions are plain text; each action remains subject to its configured authentication and tool allowlist.
Showing 59 tools. All published catalog entries are included in this page's server-rendered HTML.
- Remove Gift Card from Cart
- Remove a Gift Card from a cart.
- Carts
- Remove Line Item from Cart
- Remove a line item from a cart.
- Carts
- Remove Promotions from Cart
- Remove a list of promotions from a cart.
- Carts
- Remove Customer's Address
- Remove an address of the logged-in customer.
- Customers
- Get a Cart
- Retrieve a cart by its ID. You can expand the cart's relations or select the fields that should be returned.
- Carts
- List Collections
- Retrieve a list of collections. The collections can be filtered by fields such as `handle`. The collections can also be sorted or paginated.
- Collections
- Get a Collection
- Retrieve a collection by its ID. You can expand the collection's relations or select the fields that should be returned.
- Collections
- List Currencies
- Retrieve a list of currencies. The currencies can be filtered by fields such as `code`. The currencies can also be sorted or paginated.
- Currencies
- Get a Currency
- Retrieve a currency by its code. You can expand the currency's relations or select the fields that should be returned.
- Currencies
- Get Logged-in Customer
- Retrieve the logged-in customer. You can expand the customer's relations or select the fields that should be returned.
- Customers
- List Customer's Addresses
- Retrieve the addresses of the logged-in customer. The addresses can be filtered by fields such as `country_code`. The addresses can also be sorted or paginated.
- Customers
- Get Customer's Address
- Retrieve an address of the logged-in customer. You can expand the address's relations or select the fields that should be returned.
- Customers
- Get a Gift Card
- Retrieve a gift card by its ID or code. You can expand the gift card's relations or select the fields that should be returned.
- Gift Cards
- List Locales
- Retrieve the list of supported locales. You can use this list to allow customers to select their preferred locale in your storefront.
- Locales
- List Logged-in Customer's Orders
- Retrieve the orders of the logged-in customer. The orders can be filtered by fields such as `id`. The orders can also be sorted or paginated.
- Orders
- Get an Order
- Retrieve an order by its ID. You can expand the order's relations or select the fields that should be returned. This API route doesn't require customer authentication, so that guest customers can view their order confirmation page after placing an order. To restrict access to this API route, refer to the [Restrict Order Retrieval guide](https://docs.medusajs.com/resources/commerce-modules/order/secure-order-retrieval).
- Orders
- List Payment Providers
- Retrieve a list of payment providers. You must provide the `region_id` query parameter to retrieve the payment providers enabled in that region.
- Payment Providers
- List Product Categories
- Retrieve a list of product categories. The product categories can be filtered by fields such as `id`. The product categories can also be sorted or paginated.
- Product Categories
- Get a Product Category
- Retrieve a product category by its ID. You can expand the product category's relations or select the fields that should be returned.
- Product Categories
- List Product Options
- Retrieve a list of product options. The product options can be filtered by fields such as `id`. The product options can also be sorted or paginated.
- Product Options
- Get a Product Option
- Retrieve a product option by its ID. You can expand the product option's relations or select the fields that should be returned.
- Product Options
- List Product Tags
- Retrieve a list of product tags. The product tags can be filtered by fields such as `id`. The product tags can also be sorted or paginated.
- Product Tags
- Get a Product Tag
- Retrieve a product tag by its ID. You can expand the product tag's relations or select the fields that should be returned.
- Product Tags
- List Product Types
- Retrieve a list of product types. The product types can be filtered by fields such as `id`. The product types can also be sorted or paginated.
- Product Types
- Get a Product Type
- Retrieve a product type by its ID. You can expand the product type's relations or select the fields that should be returned.
- Product Types
- List Product Variants
- Retrieve a list of product variants. The product variants can be filtered by fields such as `id`. The product variants can also be sorted or paginated.
- Product Variants
- List Products
- Retrieve a list of products. The products can be filtered by fields such as `id`. The products can also be sorted or paginated. You can retrieve the content of the products translated to a specific locale either by passing the `locale` query parameter or by setting the `x-medusa-locale` header to the desired locale code in BCP 47 format. If you don't pass a locale, and your store has a default locale, the default locale will be used. With localization, the products' content like title and description will be in the specified locale if a translation is available, and fallback to the original content otherwise. Learn more in the [Localization](#localization) section.
- Products
- Get a Product
- Retrieve a product by its ID. You can expand the product's relations or select the fields that should be returned. You can retrieve the content of the product translated to a specific locale either by passing the `locale` query parameter or by setting the `x-medusa-locale` header to the desired locale code in BCP 47 format. If you don't pass a locale, and your store has a default locale, the default locale will be used. With localization, the product's content like title and description will be in the specified locale if a translation is available, and fallback to the original content otherwise. Learn more in the [Localization](#localization) section.
- Products
- List Regions
- Retrieve a list of regions. The regions can be filtered by fields such as `id`. The regions can also be sorted or paginated.
- Regions
- Get a Region
- Retrieve a region by its ID. You can expand the region's relations or select the fields that should be returned.
- Regions
- List Return Reasons
- Retrieve a list of return reasons. The return reasons can be sorted or paginated.
- Return Reasons
- Get a Return Reason
- Retrieve a return reason by its ID. You can expand the return reason's relations or select the fields that should be returned.
- Return Reasons
- List Shipping Options for Cart
- Retrieve a list of shipping options for a cart. The cart's ID is set in the required `cart_id` query parameter. The shipping options also be sorted or paginated. For a shipping option whose `price_type` is `calculated`, the returned `amount` isn't reliable, as its price is computed on the fly by the fulfillment provider. To retrieve its price, use the [Calculate Shipping Option Price API route](https://docs.medusajs.com/api/store#shipping-options_postshippingoptionsidcalculate).
- Shipping Options
- List Customer's Store Credit Accounts
- Retrieve the logged-in customer's store credit accounts. The store credit accounts can be filtered by fields such as `id`. The store credit accounts can also be sorted or paginated.
- Store Credit Accounts
- Get Customer's Store Credit Account
- Retrieve logged-in customer's store credit account by its ID. You can expand the store credit account's relations or select the fields that should be returned.
- Store Credit Accounts
- Create Cart
- Create a cart.
- Carts
- Update a Cart
- Update a cart's details. This unsets the payment methods chosen before, and the customer would have to choose them again. Also, if the customer has chosen a shipping method whose option isn't valid for the cart's shipping address anymore, the shipping method will be unset. For example, if the shipping option is valid only in the US geo zone, and the shipping address's country code is `DE`, the shipping method will be unset.
- Carts
- Complete Cart
- Complete a cart and place an order.
- Carts
- Change Cart's Customer to Logged-in Customer
- Change the cart's customer to the currently logged-in customer. This is useful when you create the cart for a guest customer, then they log in with their account.
- Carts
- Add Gift Card to Cart
- Add a Gift Card to a cart
- Carts
- Add Line Item to Cart
- Add a product variant as a line item in the cart.
- Carts
- Update a Line Item in a Cart
- Update a line item's details in the cart.
- Carts
- Add Promotions to Cart
- Add a list of promotions to a cart.
- Carts
- Add Shipping Method to Cart
- Add a shipping method to a cart. Use this API route when the customer chooses their preferred shipping option. If the chosen shipping option's `price_type` is `calculated`, its price is computed by the associated fulfillment provider when it's added to the cart. If the provider fails to calculate the price, this route returns an error.
- Carts
- Add Store Credit to Cart
- Add a Store Credit to a cart
- Carts
- Calculate Cart Taxes
- Calculate the cart's tax lines and amounts. Medusa recalculates a cart's tax lines automatically on cart changes when the cart's region has `automatic_taxes` enabled, so you typically don't need to use this route. Use this route to force a recalculation, such as when `automatic_taxes` is disabled, which also triggers a fresh calculation from your third-party tax provider, if you use one.
- Carts
- Register Customer
- Register a customer. Use the `/auth/customer/emailpass/register` API route first to retrieve the registration token and pass it in the header of the request.
- Customers
- Update Customer
- Update the logged-in customer's details.
- Customers
- Create Address for Logged-In Customer
- Create an address for the logged-in customer.
- Customers
- Update Customer's Address
- Update the logged-in customer's address.
- Customers
- Accept Order Transfer
- Accept an order to be transfered to a customer's account, which was specified when the transfer request was created. The transfer is requested previously either by the customer using the [Request Order Transfer Store API route](https://docs.medusajs.com/api/store#orders_postordersidtransferrequest), or by the admin using the [Request Order Transfer Admin API route](https://docs.medusajs.com/api/admin#orders_postordersidtransferrequest).
- Orders
- Cancel Order Transfer
- Cancel an order transfer that the logged-in customer previously requested using the [Request Order Transfer](https://docs.medusajs.com/api/store#orders_postordersidtransferrequest) API route.
- Orders
- Decline Order Transfer
- Decline an order transfer previously requested, typically by the admin user using the [Request Order Transfer Admin API route](https://docs.medusajs.com/api/admin#orders_postordersidtransferrequest).
- Orders
- Request Order Transfer
- Request an order to be transfered to the logged-in customer's account. The transfer is confirmed using the [Accept Order Transfer](https://docs.medusajs.com/api/store#orders_postordersidtransferaccept) API route.
- Orders
- Create Payment Collection
- Create a payment collection for a cart. This is used during checkout, where the payment collection holds the cart's payment sessions.
- Payment Collections
- Initialize Payment Session of a Payment Collection
- Initialize and add a payment session to a payment collection. This is used during checkout, where you create a payment collection for the cart, then initialize a payment session for the payment provider that the customer chooses. It's highly recommended to have an amount greater than `0` in the payment collection, as some payment providers, such as Stripe, require a non-zero amount to create a payment session. Otherwise, an error will be thrown on the payment provider's side. In cases where you want to create a payment session for a payment collection with an amount of `0`, you can use the Manual System Payment Provider instead of third-party payment providers. The Manual System Payment Provider is built into Medusa and allows you to create payment sessions without interacting with an external payment provider. Make sure to configure the Manual System Payment Provider in your store's region. Learn more in the [Manage Region](https://docs.medusajs.com/user-guide/settings/regions#edit-region-details) user guide.
- Payment Collections
- Create Return
- Create a return for an order's items. The admin receives the return and process it from their side. This API route doesn't require customer authentication, so that guest customers can request a return for their orders. To restrict access to this API route, refer to the [Restrict Return Creation guide](https://docs.medusajs.com/resources/commerce-modules/order/secure-return-creation).
- Returns
- Calculate Shipping Option Price
- Calculate the price of a shipping option in a cart. Use this API route for shipping options whose `price_type` is `calculated`, as their price isn't stored but computed on the fly by the associated fulfillment provider against the cart. If the fulfillment provider fails to calculate the price, this route returns an error.
- Shipping Options
- Claim a Store Credit Account
- Claim a store credit account as the logged-in customer. The store credit account must not belong to another customer, and it must have amount available to claim. This is typically used to claim anonymous store credit accounts, such as those created for guest users or through gift cards.
- Store Credit Accounts
Medusa Store integration, answered
- How do AI agents use Medusa Store through Open Connector?
- Your user connects Medusa Store once with one of its cataloged authentication methods. Open Connector stores the credential in an encrypted vault and exposes Medusa Store tools to your agent over MCP or a typed API, with credentials injected server-side on each call.
- Is this a Medusa Store MCP server?
- Yes. Open Connector can serve Medusa Store as a named MCP server with a scoped allowlist and a per-user connection URL, so any MCP client can call Medusa Store actions with credentials injected server-side.
- Where do Medusa Store credentials live?
- In your own infrastructure. Open Connector keeps credentials in its own vault and injects them at call time, so they never leave your environment.
Give your agents Medusa Store — keep the keys.
Open source, self-hostable, with Medusa Store credentials that never leave your infrastructure. Run it from source today.