Skip to main content
Glama
Spark Customer Agent MCP Server

Spark Customer Agent MCP Server

by khushal1512

Spark Customer Agent MCP Server

A Model Context Protocol (MCP) server for integrating with Walmart products backend API. This server enables customers to shop using natural language through AI-powered conversations, providing tools for product discovery, cart management, coupon handling, and order history access.

๐Ÿ›๏ธ Natural Language Shopping Experience

This MCP server transforms the traditional shopping experience by allowing customers to interact with Walmart's product ecosystem using conversational AI. Customers can simply ask questions like "Show me smartphones under $500" or "What's in my cart?" and get instant, personalized responses.

Related MCP server: Amazon MCP Server

Features

  • ๐Ÿค– AI-Powered Shopping: Natural language interactions for seamless shopping experiences

  • ๐Ÿ” Product Search: Search products by category (smartphones, tv, shoes, healthcare, electronics, fitness)

  • ๐Ÿ’ฐ Price Filtering: Filter smartphones by maximum price with conversational queries

  • ๐Ÿ›’ Cart Management: View current cart items through simple voice or text commands

  • ๐ŸŽŸ๏ธ Coupons: Access available discount coupons via natural language requests

  • ๐Ÿ“‹ Order History: Retrieve past order information through conversational interface

๐Ÿš€ Reimagining Customer Experience with Emerging Technologies

In today's fast-paced, digital-first world, customer experience is the ultimate competitive advantage. With limitless options at their fingertips, modern shoppers expect seamless, intuitive and highly personalized interactionsโ€”whether they're browsing online, engaging via mobile or stepping into a physical store.

๐Ÿ”ฎ The Future of Retail Technology

This MCP server represents the convergence of several emerging technologies:

  • ๐Ÿง  AI-Powered Shopping Assistants: Conversational commerce that understands customer intent and provides personalized recommendations

  • ๐Ÿ“Š Data-Driven Insights: Real-time analysis of shopping patterns to enhance customer engagement

  • ๐ŸŽฏ Hyper-Personalized Experiences: Every interaction feels effortless, engaging and deeply relevant

  • โšก Real-Time Commerce: Instant responses to customer queries about products, pricing, and availability

  • ๐Ÿ”„ Predictive Shopping: Anticipating customer needs through advanced analytics

Retailers that harness AI, data-driven insights and immersive technologies are redefining customer engagement. From hyper-personalized recommendations and predictive shopping experiences to dynamic pricing models and real-time conversational commerce, emerging technologies are creating deeper, more meaningful relationships between brands and consumers.

This project embodies Walmart's vision of leveraging emerging technologies to transform the way customers shop, offering ultra-personalized experiences that make every interaction feel effortless, engaging and deeply relevant. By combining the power of AI assistants with natural language processing, we're reimagining the future of retail to enhance customer experience, boost engagement and redefine convenience in shopping.

Available Tools

๐Ÿ› ๏ธ Conversational Shopping Tools

Product Discovery:

  • get_products_by_category: Fetch products from a specific category using natural language

  • get_smartphones_by_price: Filter smartphones by maximum price through conversational queries

Cart Management:

  • get_cart_items: View shopping cart contents with simple voice or text commands

  • add_to_cart: Add products to cart with specified quantities

  • remove_from_cart: Remove products from cart (single item or all quantities)

Coupon & Discounts:

  • get_available_coupons: Get available discount codes via natural language requests

  • apply_coupon: Apply discount coupons to cart for savings

  • remove_coupon: Remove applied coupons from cart

Order Management:

  • get_order_history: Access order transaction history through conversational interface

  • place_order: Complete purchase with current cart items

๐Ÿ’ฌ Example Natural Language Interactions

Product Discovery:

  • "Show me all smartphones under $300" โ†’ Uses get_smartphones_by_price

  • "What electronics do you have?" โ†’ Uses get_products_by_category

Cart Management:

  • "What's in my shopping cart?" โ†’ Uses get_cart_items

  • "Add iPhone 15 to my cart" โ†’ Uses add_to_cart

  • "Remove the Nike shoes from my cart" โ†’ Uses remove_from_cart

Coupons & Discounts:

  • "Do I have any coupons available?" โ†’ Uses get_available_coupons

  • "Apply coupon SAVE20 to my cart" โ†’ Uses apply_coupon

  • "Remove the coupon from my cart" โ†’ Uses remove_coupon

Order Management:

  • "Show me my recent orders" โ†’ Uses get_order_history

  • "Place my order now" โ†’ Uses place_order

Prerequisites

  • Node.js (v18 or higher)

  • pnpm package manager

  • Backend API running on http://localhost:3000

Installation

  1. Clone the repository:

git clone https://github.com/khushal1512/spark-mcp.git
cd spark-mcp
  1. Install dependencies:

pnpm install
  1. Build the project:

pnpm build

Development

Run in development mode with hot reload:

pnpm dev

Watch mode for continuous development:

pnpm watch

Production

Build and start the server:

pnpm build
pnpm start

Cursor Integration

To use this MCP server with Cursor, add the following configuration to your Cursor settings:

{
  "mcpServers": {
    "spark-customer-agent": {
      "command": "node",
      "args": ["path/to/spark-mcp/dist/index.js"]
    }
  }
}

Backend API Endpoints

The server expects the following endpoints to be available:

Product Discovery:

  • GET /products/{category} - Get products by category

  • GET /products/smartphones/{maxPrice} - Get smartphones under max price

Cart Management:

  • GET /cart - Get cart items

  • POST /cart/add - Add product to cart

  • DELETE /cart/remove - Remove product from cart

Coupon Management:

  • GET /coupons - Get available coupons

  • POST /cart/apply-coupon - Apply coupon to cart

  • DELETE /cart/remove-coupon - Remove coupon from cart

Order Management:

  • GET /orders - Get order history

  • POST /orders/place - Place new order

Project Structure

spark-mcp/
โ”œโ”€โ”€ src/
โ”‚   โ””โ”€โ”€ index.ts          # Main MCP server implementation
โ”œโ”€โ”€ dist/                 # Compiled JavaScript output
โ”œโ”€โ”€ package.json          # Project configuration
โ”œโ”€โ”€ tsconfig.json         # TypeScript configuration
โ””โ”€โ”€ README.md            # This file

Configuration

  • Backend URL: Configure BACKEND_BASE_URL in src/index.ts

  • Categories: Modify ALLOWED_CATEGORIES array for different product categories

Contributing

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature-name

  3. Make your changes

  4. Build and test: pnpm build

  5. Commit your changes: git commit -am 'Add some feature'

  6. Push to the branch: git push origin feature-name

  7. Submit a pull request

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Author

Khushal Agrawal

Available Tools

10 tools
add_to_cartA

Add a product to the shopping cart with specified quantity

Inputs: productId (required), quantity.

apply_couponA

Apply a discount coupon to the shopping cart

Inputs: couponCode (required).

get_available_couponsA

Fetch all available coupons and discount codes

Inputs: no named parameters.

get_cart_itemsA

Fetch all items currently in the shopping cart

Inputs: no named parameters.

get_order_historyA

Fetch order history and transaction details

Inputs: no named parameters.

get_products_by_categoryB

Fetch all products from a specific category. Available categories: smartphones, tv, shoes, healthcare, electronics, fitness

Inputs: category (required).

get_smartphones_by_priceA

Filter smartphones by maximum price. This endpoint specifically filters smartphones only.

Inputs: maxPrice (required).

place_orderA

Place an order with the current cart items

Inputs: no named parameters.

remove_couponA

Remove the applied coupon from the shopping cart

Inputs: no named parameters.

remove_from_cartA

Remove a product from the shopping cart

Inputs: productId (required), removeAll.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelogโ€ฆ

    TDQS

    A3.9/5.0

    Scored across 10 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: the product browsing, cart management, coupon, and ordering operations are all separate. The only potential overlap is get_products_by_category and get_smartphones_by_price, but the latter explicitly narrows to a specific category and price filter, making the distinction clear.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern using snake_case. Retrieval operations start with 'get', cart modifications use 'add_to'/'remove_from', coupon actions use 'apply'/'remove', and ordering uses 'place'. This uniform structure makes the tool names predictable and easy to navigate.

    Tool Count5/5

    Ten tools is well-scoped for a customer agent focused on e-commerce. The set covers product discovery, cart management, coupon handling, and order placement without superfluous or redundant tools, making it neither too sparse nor bloated.

    Completeness4/5

    The tool set covers the core shopping lifecycle: browse by category/price, manage cart with items and coupons, place order, and view history. However, it lacks a direct product detail lookup or search by name/attribute, which is a notable but non-critical gap for agents handling product-specific queries.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers