medusa-mcp Skill

SkillDev tools

Dynamic access to medusa-mcp MCP server (299 tools)

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the medusa-mcp Skill skill

What this skill tells your AI

The instructions your AI receives, as published by sgfgov/medusa-mcp in skills/SKILL.md and read by ahel’s review.

This skill provides dynamic access to the medusa-mcp MCP server without loading all tool definitions into context.

Context Efficiency

Traditional MCP approach:

  • All 299 tools loaded at startup
  • Estimated context: 149500 tokens

This skill approach:

  • Metadata only: ~100 tokens
  • Full instructions (when used): ~5k tokens
  • Tool execution: 0 tokens (runs externally)

How This Works

Instead of loading all MCP tool definitions upfront, this skill:

  1. Tells you what tools are available (just names and brief descriptions)
  2. You decide which tool to call based on the user's request
  3. Generate a JSON command to invoke the tool
  4. The executor handles the actual MCP communication

Available Tools

  • PostActor_typeAuth_provider: Authenticate a customer and receive the JWT token to be used in the header of subsequent requests.

When used with a third-party provider, such as Google, the request returns a location property. You redirect to the specified URL in your storefront to continue authentication with the third-party service.

  • PostActor_typeAuth_providerCallback: This API route is used by your storefront or frontend application when a third-party provider redirects to it after authentication. It validates the authentication with the third-party provider and, if successful, returns an authentication token. All query parameters received from the third-party provider, such as code, state, and error, must be passed as query parameters to this route. You can decode the JWT token using libraries like react-jwt in the storefront. If the decoded data doesn't have an actor_id property, then you must register the customer using the Create Customer API route passing the token in the request's Authorization header.

  • PostActor_typeAuth_provider_register: This API route retrieves a registration JWT token of a customer that hasn't been registered yet. The token is used in the header of requests that create a customer.

  • PostActor_typeAuth_providerResetPassword: Generate a reset password token for a customer. This API route doesn't reset the customer password or send them the reset instructions in a notification.

Instead, This API route emits the auth.password_reset event, passing it the token as a payload. You can listen to that event in a subscriber as explained in this guide, then send the customer a notification. The notification is sent using a Notification Module Provider, and it should have a URL that accepts a token query parameter, allowing the customer to reset their password from the storefront.

Use the generated token to update the customer's password using the Reset Password API route.

  • PostActor_typeAuth_providerUpdate: Reset a customer's password using a reset-password token generated with the Generate Reset Password Token API route. You pass the token as a bearer token in the request's Authorization header.

  • PostSession: Set the cookie session ID of a customer. The customer must be previously authenticated with the /auth/customer/{provider} API route first, as the JWT token is required in the header of the request.

  • PostAdminAuthTokenRefresh: Refresh the authentication token of a customer. This is useful after authenticating a customer with a third-party service to ensure the token holds the new user's details, or when you don't want customers to re-login every day.

  • PostCarts: Create a cart.

  • GetCartsId: Retrieve a cart by its ID. You can expand the cart's relations or select the fields that should be returned.

  • PostCartsIdComplete: Complete a cart and place an order.

  • PostCartsIdCustomer: 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.

  • PostCartsIdGiftCards: Add a Gift Card to a cart

  • PostCartsIdLineItems: Add a product variant as a line item in the cart.

  • PostCartsIdLineItemsLine_id: Update a line item's details in the cart.

  • PostCartsIdPromotions: Add a list of promotions to a cart.

  • PostCartsIdShippingMethods: Add a shipping method to a cart. Use this API route when the customer chooses their preferred shipping option.

  • PostCartsIdStoreCredits: Add a Store Credit to a cart

  • PostCartsIdTaxes: Calculate the cart's tax lines and amounts.

  • GetCollections: Retrieve a list of collections. The collections can be filtered by fields such as handle. The collections can also be sorted or paginated.

  • GetCollectionsId: Retrieve a collection by its ID. You can expand the collection's relations or select the fields that should be returned.

  • GetCurrencies: Retrieve a list of currencies. The currencies can be filtered by fields such as code. The currencies can also be sorted or paginated.

  • GetCurrenciesCode: Retrieve a currency by its code. You can expand the currency's relations or select the fields that should be returned.

  • PostCustomers: 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.

  • GetCustomersMe: Retrieve the logged-in customer. You can expand the customer's relations or select the fields that should be returned.

  • GetCustomersMeAddresses: 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.

  • GetCustomersMeAddressesAddress_id: Retrieve an address of the logged-in customer. You can expand the address's relations or select the fields that should be returned.

  • GetGiftCardsIdorcode: 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.

  • GetLocales: Retrieve the list of supported locales. You can use this list to allow customers to select their preferred locale in your storefront.

  • GetOrders: 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.

  • GetOrdersId: Retrieve an order by its ID. You can expand the order's relations or select the fields that should be returned.

  • PostOrdersIdTransferAccept: 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, or by the admin using the Request Order Transfer Admin API route.

  • PostOrdersIdTransferCancel: Cancel an order transfer that the logged-in customer previously requested using the Request Order Transfer API route.

  • PostOrdersIdTransferDecline: Decline an order transfer previously requested, typically by the admin user using the Request Order Transfer Admin API route.

  • PostOrdersIdTransferRequest: Request an order to be transfered to the logged-in customer's account. The transfer is confirmed using the Accept Order Transfer API route.

  • PostPaymentCollections: Create a payment collection for a cart. This is used during checkout, where the payment collection holds the cart's payment sessions.

  • PostPaymentCollectionsIdPaymentSessions: 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 user guide.

  • GetPaymentProviders: Retrieve a list of payment providers. You must provide the region_id query parameter to retrieve the payment providers enabled in that region.

  • GetProductCategories: 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.

  • GetProductCategoriesId: Retrieve a product category by its ID. You can expand the product category's relations or select the fields that should be returned.

  • GetProductTags: 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.

  • GetProductTagsId: Retrieve a product tag by its ID. You can expand the product tag's relations or select the fields that should be returned.

  • GetProductTypes: 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.

  • GetProductTypesId: Retrieve a product type by its ID. You can expand the product type's relations or select the fields that should be returned.

  • GetProducts: 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 section.

  • GetProductsId: 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 section.

  • GetRegions: Retrieve a list of regions. The regions can be filtered by fields such as id. The regions can also be sorted or paginated.
  • GetRegionsId: Retrieve a region by its ID. You can expand the region's relations or select the fields that should be returned.
  • GetReturnReasons: Retrieve a list of return reasons. The return reasons can be sorted or paginated.
  • GetReturnReasonsId: Retrieve a return reason by its ID. You can expand the return reason's relations or select the fields that should be returned.
  • PostReturns: Create a return for an order's items. The admin receives the return and process it from their side.
  • GetShippingOptions: 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.

  • PostShippingOptionsIdCalculate: Calculate the price of a shipping option in a cart.

  • GetStoreCreditAccounts: 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.

  • GetStoreCreditAccountsId: 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.

  • AdminGetApiKeys: This tool helps store administors. Retrieve a list of API keys. The API keys can be filtered by fields such as id. The API keys can also be sorted or paginated.

  • AdminGetApiKeysId: This tool helps store administors. Retrieve an API key by its ID. You can expand the API key's relations or select the fields that should be returned using the query parameters.

  • AdminPostApiKeysIdRevoke: This tool helps store administors. Revokes an API key. If the API key is a secret, it can't be used for authentication anymore. If it's publishable, it can't be used by client applications.

  • AdminPostApiKeysIdSalesChannels: This tool helps store administors. Manage the sales channels of a publishable API key, either to associate them or remove them from the API key.

  • AdminGetCampaigns: This tool helps store administors. Retrieve a list of campaigns. The campaigns can be filtered by fields such as id. The campaigns can also be sorted or paginated.

  • AdminGetCampaignsId: This tool helps store administors. Retrieve a campaign by its ID. You can expand the campaign's relations or select the fields that should be returned using the query parameters.

  • AdminPostCampaignsIdPromotions: This tool helps store administors. Manage the promotions of a campaign, either by adding them or removing them from the campaign.

  • AdminGetClaims: This tool helps store administors. Retrieve a list of claims. The claims can be filtered by fields such as id. The claims can also be sorted or paginated.

  • AdminGetClaimsId: This tool helps store administors. Retrieve a claim by its ID. You can expand the claim's relations or select the fields that should be returned using the query parameters.

  • AdminPostClaimsIdCancel: This tool helps store administors. Cancel a claim and its associated return.

  • AdminPostClaimsIdClaimItems: This tool helps store administors. Add order items to a claim as claim items. These claim items will have the action WRITE_OFF_ITEM.

  • AdminPostClaimsIdClaimItemsAction_id: This tool helps store administors. Update an order item in a claim by the ID of the item's WRITE_OFF_ITEM action.

Every item has an actions property, whose value is an array of actions. You can check the action's name using its action property, and use the value of the id property.

  • AdminPostClaimsIdInboundItems: This tool helps store administors. Add inbound (or return) items to a claim. These inbound items will have a RETURN_ITEM action.

  • AdminPostClaimsIdInboundItemsAction_id: This tool helps store administors. Update an inbound (or return) item of a claim using the ID of the item's RETURN_ITEM action.

Every item has an actions property, whose value is an array of actions. You can check the action's name using its action property, and use the value of the id property.

  • AdminPostClaimsIdInboundShippingMethod: This tool helps store administors. Add an inbound (or return) shipping method to a claim. The inbound shipping method will have a SHIPPING_ADD action.

  • AdminPostClaimsIdInboundShippingMethodAction_id: This tool helps store administors. Update the shipping method for returning items in the claim using the ID of the method's SHIPPING_ADD action.

Every shipping method has an actions property, whose value is an array of actions. You can check the action's name using its action property, and use the value of the id property.

  • AdminPostClaimsIdOutboundItems: This tool helps store administors. Add outbound (or new) items to a claim. These outbound items will have an ITEM_ADD action.

  • AdminPostClaimsIdOutboundItemsAction_id: This tool helps store administors. Update an outbound (or new) item of a claim using the ID of the item's ITEM_ADD action.

Every item has an actions property, whose value is an array of actions. You can check the action's name using its action property, and use the value of the id property.

  • AdminPostClaimsIdOutboundShippingMethod: This tool helps store administors. Add an outbound shipping method to a claim. The outbound shipping method will have a SHIPPING_ADD action.

  • AdminPostClaimsIdOutboundShippingMethodAction_id: This tool helps store administors. Update the shipping method for delivering outbound items in a claim using the ID of the method's SHIPPING_ADD action.

Every shipping method has an actions property, whose value is an array of actions. You can check the action's name using its action property, and use the value of the id property.

  • AdminPostClaimsIdRequest: This tool helps store administors. Confirm a claim request, applying its changes on the associated order.
  • AdminGetCollections: This tool helps store administors. Retrieve a list of collections. The collections can be filtered by fields such as id. The collections can also be sorted or paginated.
  • AdminGetCollectionsId: This tool helps store administors. Retrieve a collection by its ID. You can expand the collection's relations or select the fields that should be returned using the query parameters.
  • AdminPostCollectionsIdProducts: This tool helps store administors. Manage the products of a collection by adding or removing them from the collection.
  • AdminGetCurrencies: This tool helps store administors. Retrieve a list of currencies. The currencies can be filtered by fields such as id. The currencies can also be sorted or paginated.
  • AdminGetCurrenciesCode: This tool helps store administors. Retrieve a currency by its code. You can expand the currency's relations or select the fields that should be returned using the query parameters.
  • AdminGetCustomerGroups: This tool helps store administors. Retrieve a list of customer groups. The customer groups can be filtered by fields such as id. The customer groups can also be sorted or paginated.
  • AdminGetCustomerGroupsId: This tool helps store administors. Retrieve a customer group by its ID. You can expand the customer group's relations or select the fields that should be returned.
  • AdminPostCustomerGroupsIdCustomers: This tool helps store administors. Manage the customers of a group to add or remove them from the group.
  • AdminGetCustomers: This tool helps store administors. Retrieve a list of customers. The customers can be filtered by fields such as id. The customers can also be sorted or paginated.
  • AdminGetCustomersId: This tool helps store administors. Retrieve a customer by its ID. You can expand the customer's relations or select the fields that should be returned.
  • AdminGetCustomersIdAddresses: This tool helps store administors. Retrieve a list of addresses in a customer. The addresses can be filtered by fields like query. The addresses can also be paginated.
  • AdminGetCustomersIdAddressesAddress_id: This tool helps store administors. Retrieve a list of a customer's addresses. The addresses can be filtered by fields like company. The addresses can also be paginated.
  • AdminPostCustomersIdCustomerGroups: This tool helps store administors. Manage the customer groups of a customer, adding or removing the customer from those groups.
  • AdminGetDraftOrders: This tool helps store administors. Retrieve a list of draft orders. The draft orders can be filtered by fields such as id. The draft orders can also be sorted or paginated.
  • AdminGetDraftOrdersId: This tool helps store administors. Retrieve a draft order by its ID. You can expand the draft order's relations or select the fields that should be returned using the query parameters.
  • AdminPostDraftOrdersIdConvertToOrder: This tool helps store administors. Convert a draft order to an order. This will finalize the draft order and create a new order with the same details.
  • AdminPostDraftOrdersIdEdit: This tool helps store administors. Create an edit on a draft order. This will allow you to make changes to the draft order's items, shipping methods, or promotions. Once you've made the necessar changes, you can later either request the edit (which requires a confirmation from the customer), or force-confirm the edit.
  • AdminPostDraftOrdersIdEditConfirm: This tool helps store administors. Confirm an edit on a draft order. This will apply the changes made to the draft order.
  • AdminPostDraftOrdersIdEditItems: This tool helps store administors. Add an item to a draft order edit.
  • AdminPostDraftOrdersIdEditItemsItemItem_id: This tool helps store administors. Update an existing item in a draft order edit.
  • AdminPostDraftOrdersIdEditItemsAction_id: This tool helps store administors. Update a new item that was added to a draft order edit by the ID of the item's ITEM_ADD action.

Every item has an actions property, whose value is an array of actions. You can check the action's name using its action property, and use the value of the id property.

  • AdminPostDraftOrdersIdEditPromotions: This tool helps store administors. Add promotions to a draft order edit.
  • AdminPostDraftOrdersIdEditRequest: This tool helps store administors. Change the status of a draft order's edit to be requested. Later, the edit can be confirmed or canceled.
  • AdminPostDraftOrdersIdEditShippingMethods: This tool helps store administors. Add a shipping method to a draft order edit.
  • AdminPostDraftOrdersIdEditShippingMethodsMethodMethod_id: This tool helps store administors. Update an existing shipping method in a draft order edit.
  • AdminPostDraftOrdersIdEditShippingMethodsAction_id: This tool helps store administors. Update a new shipping method that was added to a draft order edit using the ID of the method's SHIPPING_ADD action.

Every shipping method has an actions property, whose value is an array of actions. You can check the action's name using its action property, and use the value of the id property.

  • AdminGetExchanges: This tool helps store administors. Retrieve a list of exchanges. The exchanges can be filtered by fields such as id. The exchanges can also be sorted or paginated.
  • AdminGetExchangesId: This tool helps store administors. Retrieve an exchange by its ID. You can expand the exchange's relations or select the fields that should be returned using query parameters.
  • AdminPostExchangesIdCancel: This tool helps store administors. Cancel an exchange and its associated return.
  • AdminPostExchangesIdInboundItems: This tool helps store administors. Add inbound (or return) items to an exchange. These inbound items will have the action RETURN_ITEM.
  • AdminPostExchangesIdInboundItemsAction_id: This tool helps store administors. Update an inbound (or return) item from an exchange using the ID of the item's RETURN_ITEM action.

Every item has an actions property, whose value is an array of actions. You can check the action's name using its action property, and use the value of the id property.

Shortened here. Read the whole file on GitHub.

Signals

GitHub stars
68
Forks
21
Last commit
Apr 2026
Advanced
Catalog kind
skill
Gateway key
medusa-mcp
Source
github.com/sgfgov/medusa-mcp