Cart Whisperer
A conversational AI shopping assistant that browses Shopify catalogs via MCP, understands customer intent, and builds carts — turning natural language into checkout-ready orders.
Product discovery on Shopify stores relies on traditional search and filter UIs that break down when customers don't know exact product names or when catalogs exceed hundreds of products. Customers abandon stores when they can't quickly find what matches their needs.
Built a conversational agent using Claude with Model Context Protocol (MCP) tools that gives the AI direct access to a Shopify store's catalog. Customers describe what they want in natural language, and the agent searches, compares, recommends, and adds items to cart.
1export const searchProducts = defineMcpTool({2 name: 'search_products',3 description: 'Search the Shopify catalog by query, filters, and price range',4 parameters: z.object({5 query: z.string(),6 productType: z.string().optional(),7 minPrice: z.number().optional(),8 maxPrice: z.number().optional(),9 sortBy: z.enum(['RELEVANCE', 'PRICE', 'BEST_SELLING']).optional(),10 }),11 execute: async ({ query, productType, minPrice, maxPrice, sortBy }) => {12 const filters: string[] = []13 if (productType) filters.push(`product_type:${productType}`)14 if (minPrice) filters.push(`variants.price:>=${minPrice}`)15 if (maxPrice) filters.push(`variants.price:<=${maxPrice}`)1617 const { products } = await storefront.query(SEARCH_QUERY, {18 variables: {19 query: [query, ...filters].join(' '),20 sortKey: sortBy ?? 'RELEVANCE',21 first: 10,22 },23 })2425 return products.nodes.map(formatProductForAgent)26 },27})28
Interested in similar work?
Let's discuss how I can help bring your Shopify project to life.