WooCommerce MCP Server for Cloudflare Workers
Test WooCommerce tools directly in your browser. Select a tool and provide inputs to see the results.
Create a free account to test WooCommerce tools interactively. No credit card required.
delete_tax_classDelete a tax class
list_shipping_zonesList shipping zones
get_shipping_zoneGet a single shipping zone
create_shipping_zoneCreate a new shipping zone
update_shipping_zoneUpdate a shipping zone
delete_shipping_zoneDelete a shipping zone
get_shipping_zone_locationsGet locations for a shipping zone
update_shipping_zone_locationsUpdate locations for a shipping zone
list_shipping_zone_methodsList methods for a shipping zone
get_shipping_zone_methodGet a shipping zone method
create_shipping_zone_methodAdd a shipping method to a zone
update_shipping_zone_methodUpdate a shipping zone method
delete_shipping_zone_methodDelete a shipping zone method
list_shipping_methodsList available shipping methods
get_shipping_methodGet a shipping method
list_payment_gatewaysList payment gateways
get_payment_gatewayGet a payment gateway
update_payment_gatewayUpdate a payment gateway
update_webhookUpdate a webhook
update_setting_optionUpdate a setting option
get_setting_optionGet a single setting option
create_productCreate a new product', schema: productCreateSchema, handler: async (params: z.infer<typeof productCreateSchema>) => { const result = await client.createProduct(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, update_product: { description: 'Update an existing product
delete_productDelete a product
list_variationsList variations for a variable product
get_variationGet a single product variation
create_variationCreate a new product variation', schema: variationCreateSchema, handler: async ({ productId, ...params }: z.infer<typeof variationCreateSchema>) => { const result = await client.createVariation(productId, params as Parameters<typeof client.createVariation>[1]); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, update_variation: { description: 'Update a product variation
delete_variationDelete a product variation
list_categoriesList product categories', schema: paginationSchema, handler: async (params: z.infer<typeof paginationSchema>) => { const result = await client.listCategories(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, get_category: { description: 'Get a single product category
list_couponsList coupons with optional filtering and pagination', schema: couponFilterSchema, handler: async (params: z.infer<typeof couponFilterSchema>) => { const result = await client.listCoupons(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, get_coupon: { description: 'Get a single coupon by ID
create_couponCreate a new coupon', schema: couponCreateSchema, handler: async (params: z.infer<typeof couponCreateSchema>) => { const result = await client.createCoupon(params as Parameters<typeof client.createCoupon>[0]); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, update_coupon: { description: 'Update an existing coupon
delete_couponDelete a coupon
list_customersList customers with optional filtering and pagination', schema: customerFilterSchema, handler: async (params: z.infer<typeof customerFilterSchema>) => { const result = await client.listCustomers(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, get_customer: { description: 'Get a single customer by ID
create_customerCreate a new customer', schema: customerCreateSchema, handler: async (params: z.infer<typeof customerCreateSchema>) => { const result = await client.createCustomer(params as Parameters<typeof client.createCustomer>[0]); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, update_customer: { description: 'Update an existing customer
delete_customerDelete a customer
get_customer_downloadsGet downloads for a customer
list_ordersList orders with optional filtering and pagination', schema: orderFilterSchema, handler: async (params: z.infer<typeof orderFilterSchema>) => { const result = await client.listOrders(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, get_order: { description: 'Get a single order by ID
create_orderCreate a new order', schema: orderCreateSchema, handler: async (params: z.infer<typeof orderCreateSchema>) => { const result = await client.createOrder(params as Parameters<typeof client.createOrder>[0]); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, update_order: { description: 'Update an existing order
delete_orderDelete an order
list_order_notesList notes for an order
get_order_noteGet a single order note
create_order_noteAdd a note to an order', schema: orderNoteCreateSchema, handler: async ({ orderId, ...params }: z.infer<typeof orderNoteCreateSchema>) => { const result = await client.createOrderNote(orderId, params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, delete_order_note: { description: 'Delete an order note
list_refundsList refunds for an order
get_refundGet a single refund
create_refundCreate a refund for an order', schema: refundCreateSchema, handler: async ({ orderId, ...params }: z.infer<typeof refundCreateSchema>) => { const result = await client.createRefund(orderId, params as Parameters<typeof client.createRefund>[1]); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, delete_refund: { description: 'Delete a refund
list_productsList products with optional filtering and pagination', schema: productFilterSchema, handler: async (params: z.infer<typeof productFilterSchema>) => { const result = await client.listProducts(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, get_product: { description: 'Get a single product by ID
list_setting_optionsList options for a setting group
create_categoryCreate a new product category', schema: categoryCreateSchema, handler: async (params: z.infer<typeof categoryCreateSchema>) => { const result = await client.createCategory(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, update_category: { description: 'Update a product category
delete_categoryDelete a product category
list_tagsList product tags', schema: paginationSchema, handler: async (params: z.infer<typeof paginationSchema>) => { const result = await client.listTags(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, get_tag: { description: 'Get a single product tag
create_tagCreate a new product tag', schema: tagCreateSchema, handler: async (params: z.infer<typeof tagCreateSchema>) => { const result = await client.createTag(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, update_tag: { description: 'Update a product tag
delete_tagDelete a product tag
list_attributesList product attributes
get_attributeGet a single product attribute
create_attributeCreate a new product attribute', schema: attributeCreateSchema, handler: async (params: z.infer<typeof attributeCreateSchema>) => { const result = await client.createAttribute(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, update_attribute: { description: 'Update a product attribute
delete_attributeDelete a product attribute
list_attribute_termsList terms for a product attribute
get_attribute_termGet a single attribute term
create_attribute_termCreate a new attribute term', schema: attributeTermCreateSchema, handler: async ({ attributeId, ...params }: z.infer<typeof attributeTermCreateSchema>) => { const result = await client.createAttributeTerm(attributeId, params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, update_attribute_term: { description: 'Update an attribute term
delete_attribute_termDelete an attribute term
list_reviewsList product reviews', schema: paginationSchema.extend({ search: z.string().optional(), product: z.number().optional().describe('Filter by product ID'), status: z.enum(['all', 'hold', 'approved', 'spam', 'trash']).optional(), }), handler: async (params: z.infer<typeof paginationSchema> & { search?: string; product?: number; status?: string }) => { const result = await client.listReviews(params as Parameters<typeof client.listReviews>[0]); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, get_review: { description: 'Get a single product review
create_reviewCreate a new product review', schema: reviewCreateSchema, handler: async (params: z.infer<typeof reviewCreateSchema>) => { const result = await client.createReview(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, update_review: { description: 'Update a product review
delete_reviewDelete a product review
list_shipping_classesList product shipping classes', schema: paginationSchema, handler: async (params: z.infer<typeof paginationSchema>) => { const result = await client.listShippingClasses(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, get_shipping_class: { description: 'Get a single shipping class
create_shipping_classCreate a new shipping class', schema: shippingClassCreateSchema, handler: async (params: z.infer<typeof shippingClassCreateSchema>) => { const result = await client.createShippingClass(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, update_shipping_class: { description: 'Update a shipping class
delete_shipping_classDelete a shipping class
list_setting_groupsList all setting groups
list_tax_ratesList tax rates', schema: paginationSchema, handler: async (params: z.infer<typeof paginationSchema>) => { const result = await client.listTaxRates(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, get_tax_rate: { description: 'Get a single tax rate
create_tax_rateCreate a new tax rate
update_tax_rateUpdate a tax rate
delete_tax_rateDelete a tax rate
list_tax_classesList tax classes
create_tax_classCreate a new tax class
list_webhooksList webhooks', schema: paginationSchema, handler: async (params: z.infer<typeof paginationSchema>) => { const result = await client.listWebhooks(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, get_webhook: { description: 'Get a webhook
create_webhookCreate a new webhook
delete_webhookDelete a webhook
list_reportsList available reports
get_sales_reportGet sales report', schema: reportParamsSchema, handler: async (params: z.infer<typeof reportParamsSchema>) => { const result = await client.getSalesReport(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, get_top_sellers_report: { description: 'Get top sellers report', schema: reportParamsSchema, handler: async (params: z.infer<typeof reportParamsSchema>) => { const result = await client.getTopSellersReport(params); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }] }; }, }, // ========================================================================= // System Status // ========================================================================= get_system_status: { description: 'Get system status information
list_system_status_toolsList available system status tools
run_system_status_toolRun a system status tool
list_continentsList continents with countries
get_continentGet a continent by code
list_countriesList countries with states
get_countryGet a country by code
list_currenciesList available currencies
get_currencyGet a currency by code
get_current_currencyGet the store current currency
test_connectionTest the connection to WooCommerce
delete_tax_class{}list_shipping_zones{}get_shipping_zone{}