Medusa Store integrationMedusa Store logo

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.

What your agents can do

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. 1

    Your user grants Medusa Store access once (OAuth) — the token lands in the vault.

  2. 2

    Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.

  3. 3

    Every routed call appends a hash-chained audit record — nothing leaves your infra.

Tools & triggers

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
FAQ

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.