Install
mkdir -p .claude/skills/medusa-mcp && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16401" && unzip -o skill.zip -d .claude/skills/medusa-mcp && rm skill.zipInstalls to .claude/skills/medusa-mcp
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Dynamic access to medusa-mcp MCP server (299 tools)About this skill
medusa-mcp Skill
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:
- Tells you what tools are available (just names and brief descriptions)
- You decide which tool to call based on the user's request
- Generate a JSON command to invoke the tool
- 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 ascode,state, anderror, 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 anactor_idproperty, 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 ashandle. 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 ascode. 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/registerAPI 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 ascountry_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 asid. 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 than0in 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 of0, 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 theregion_idquery 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 asid. 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 asid. 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 asid. The product types can also be sorted or paginated. -
GetProductTypesId: Retrieve a product type
Content truncated.