Skip to main content
Glama

Maple Cart MCP - E-Commerce Shopping Assistant

A comprehensive Model Context Protocol (MCP) server that provides a complete e-commerce solution with product search, shopping cart management, secure payment processing, and order fulfillment.

๐ŸŽฏ Features

  • ๐Ÿ” Product Search: Search Google Shopping (Canada) for products using SerpAPI

  • ๐Ÿ›’ Shopping Cart Management: Add, view, remove, and clear cart items with mandatory pricing validation

  • ๐Ÿ’ณ Secure Payment Processing: Complete Stripe integration with payment intents and hosted checkout

  • ๐Ÿ“ฆ Order Management: Order status tracking and webhook automation

  • ๐Ÿ”’ Payment Security: Strict payment enforcement - orders only created after successful payment

Related MCP server: ucp-mcp-server

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+ (ES Modules required)

  • API Keys: SerpAPI (product search) + Stripe (payments)

  • MCP Client: ChatGPT MCP App Connector , Claude Desktop, VS Code with MCP extension, or custom client

Installation

  1. Clone and Install

    git clone <repository-url>
    cd maple-cart-mcp
    npm install
  2. Environment Configuration

    # Create environment file
    cp .env.example .env
    
    # Required environment variables:
    SERPAPI_KEY=your_serpapi_key_here
    STRIPE_SECRET_KEY=sk_test_or_live_your_stripe_key
    STRIPE_WEBHOOK_SECRET=whsec_your_webhook_secret
    
    # Optional configuration:
    NODE_ENV=development
    PORT=3000
  3. Start the Server

    # For MCP integration (recommended)
    npm run start:stdio
    
    # For HTTP testing and development
    npm start
    
    # Development mode with auto-restart
    npm run dev

MCP Client Integration

Add to your MCP client configuration (e.g., Claude Desktop):

{
  "mcpServers": {
    "maple-cart": {
      "command": "node",
      "args": ["server.js", "--stdio"],
      "cwd": "/path/to/maple-cart-mcp"
    }
  }
}

๐Ÿ› ๏ธ MCP Tools Reference

Core Shopping Tools

search_products

Search for products on Google Shopping (Canada)

{
  query: string;           // Search query (e.g., "iPhone 15")
  intent?: string;         // Shopping intent/purpose
  budget?: number;         // Budget limit
}

cart_add

Add products to cart with mandatory pricing validation

{
  query?: string;          // Search for lowest-priced product
  product?: {              // OR add specific product
    title: string;
    price: string;         // REQUIRED - must include price
    description?: string;
    thumbnail?: string;
    quantity?: number;
  };
  sessionId?: string;      // Optional session ID
}

cart_view

View current cart contents

{
  sessionId?: string;      // Optional session ID
}

cart_remove

Remove specific item from cart

{
  index: number;           // Item index to remove
  sessionId?: string;      // Optional session ID
}

cart_clear

Clear all items from cart

{
  sessionId?: string;      // Optional session ID
}

Enhanced Checkout Tools

checkout_create_payment_intent

Initialize payment and create pending order

{
  sessionId?: string;      // Optional session ID
  shipping?: string;       // Shipping preference
}

checkout_create_payment_url

Generate hosted Stripe checkout URL

{
  sessionId?: string;      // Optional session ID
  returnUrl?: string;      // Success return URL
  cancelUrl?: string;      // Cancel return URL
  shipping?: string;       // Shipping preference
}

checkout_order_status

Monitor order and payment status

{
  sessionId?: string;          // Optional session ID
  paymentIntentId?: string;    // Optional payment intent ID
}

checkout_complete_flow

Complete one-step checkout process

{
  sessionId?: string;      // Optional session ID
  shipping?: string;       // Shipping preference
  returnUrl?: string;      // Success return URL
  cancelUrl?: string;      // Cancel return URL
}

Order Management Tools

orders_view

View all confirmed orders

{
  sessionId?: string;      // Optional session ID
}

validate_payment_enforcement

Verify payment security and system integrity

{} // No parameters required

๐Ÿ› ๏ธ Setup

  1. Install Dependencies

    npm install
  2. Environment Setup

    cp .env.example .env
    # Edit .env with your API keys:
    # SERPAPI_KEY=your_serpapi_key
    # STRIPE_SECRET_KEY=your_stripe_secret_key  
    # STRIPE_WEBHOOK_SECRET=your_webhook_secret
  3. Run Server

    # For MCP integration (stdio)
    node server.js --stdio
    
    # For HTTP testing
    node server.js

๏ฟฝ Usage Examples

Complete Shopping Flow

// 1. Search for products
search_products({ 
  query: "iPhone 15 128GB", 
  intent: "personal use",
  budget: 1200 
});

// 2. Add lowest-priced product to cart (automatic pricing)
cart_add({ query: "iPhone 15 128GB" });

// OR: Add specific product with manual pricing
cart_add({ 
  product: {
    title: "iPhone 15 128GB - Blue",
    price: "$999.99",
    description: "Latest iPhone model with 128GB storage"
  }
});

// 3. Review cart
cart_view();

// 4. Complete checkout in one step
checkout_complete_flow({
  shipping: "express",
  returnUrl: "https://mystore.com/success",
  cancelUrl: "https://mystore.com/cancel"
});

// 5. Monitor order status
checkout_order_status({ paymentIntentId: "pi_1234..." });

Step-by-Step Checkout

// Step 1: Create payment intent
checkout_create_payment_intent({ shipping: "standard" });

// Step 2: Generate payment URL
checkout_create_payment_url({
  returnUrl: "https://mystore.com/success",
  cancelUrl: "https://mystore.com/cancel"
});

// Step 3: Customer completes payment via URL
// Step 4: Check payment and order status
checkout_order_status({ paymentIntentId: "pi_1234..." });

// Step 5: View confirmed orders
orders_view();

Cart Management

// Add multiple products
cart_add({ query: "wireless headphones" });
cart_add({ query: "phone case iPhone 15" });

// Remove specific item (by index)
cart_remove({ index: 0 });

// Clear entire cart
cart_clear();

// View cart anytime
cart_view();

๏ฟฝ Project Architecture

maple-cart-mcp/
โ”œโ”€โ”€ server.js                    # Main MCP server with all tools and HTTP endpoints
โ”œโ”€โ”€ package.json                 # Dependencies and scripts
โ”œโ”€โ”€ mcp.json                    # MCP configuration
โ”œโ”€โ”€ .env.example                # Environment template
โ”œโ”€โ”€ 
โ”œโ”€โ”€ src/                        # Core modules
โ”‚   โ”œโ”€โ”€ cart.js                 # Shopping cart management (in-memory store)
โ”‚   โ”œโ”€โ”€ order.js                # Order lifecycle and status tracking
โ”‚   โ”œโ”€โ”€ payment.js              # Stripe payment processing integration
โ”‚   โ”œโ”€โ”€ search.js               # Product search via SerpAPI/Google Shopping
โ”‚   โ””โ”€โ”€ webhook.js              # Stripe webhook handling for order automation
โ”œโ”€โ”€ 
โ”œโ”€โ”€ README.md                   # This documentation

๐Ÿงช Testing & Development

Available Scripts

# Start MCP server (stdio mode)
npm run start:stdio

# Start HTTP server (development/testing)
npm start

# Development mode with auto-restart
npm run dev

# Production mode
npm run prod

# Validate JavaScript syntax
npm run validate

# Debug with MCP Inspector
npm run inspect

## ๏ฟฝ Configuration

### Required API Keys

| Service | Purpose | Format | Where to Get |
|---------|---------|--------|-------------|
| **SerpAPI** | Product search on Google Shopping | `your_serpapi_key_here` | [serpapi.com](https://serpapi.com) |
| **Stripe Secret** | Payment processing | `sk_test_...` or `sk_live_...` | [Stripe Dashboard](https://dashboard.stripe.com/apikeys) |
| **Stripe Webhook** | Order automation | `whsec_...` | [Stripe Webhooks](https://dashboard.stripe.com/webhooks) |

### Environment Variables
```bash
# Required
SERPAPI_KEY=your_serpapi_key_here
STRIPE_SECRET_KEY=sk_test_51ABC...
STRIPE_WEBHOOK_SECRET=whsec_123...

# Optional
NODE_ENV=development          # development | production
PORT=4000                    # HTTP server port
CORS_ORIGIN=*               # CORS allowed origins
RATE_LIMIT_WINDOW=900000    # Rate limit window (15 min)
RATE_LIMIT_MAX=100          # Max requests per window

Stripe Webhook Configuration

  1. Create Webhook Endpoint in Stripe Dashboard

  2. Endpoint URL: https://yourdomain.com/webhook

  3. Listen to Events:

    • payment_intent.succeeded

    • payment_intent.payment_failed

  4. Copy Webhook Secret to STRIPE_WEBHOOK_SECRET

Maple Cart MCP - Bringing AI-powered e-commerce to Model Context Protocol ๐Ÿ๐Ÿ›’

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Connect e-commerce and marketing data to AI assistants via MCP.

  • Shopping MCP for AI agents: search, compare, Amazon buy links. Auto-register.

  • Remote MCP for Universal Cart merchant readiness MCP, structured receipts, audit logs, and reviewer-

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mehakchawla1234/maple_cart_shopping_assistant'

If you have feedback or need assistance with the MCP directory API, please join our Discord server