b24repo/desidupe

DesiDupe MCP Server - Find cheaper product alternatives on Indian e-commerce

โ˜… 0Forks 0TypeScriptGitHub โ†—Compare

README

DesiDupe ๐Ÿ›๏ธ

Find cheaper alternatives (dupes) for products across Indian e-commerce platforms.

A ChatGPT App powered by the Model Context Protocol (MCP)

What is DesiDupe?

DesiDupe helps Indian users find "dupes" โ€” cheaper alternatives for products they love. Whether you find an expensive item on Myntra or a pricey gadget on Amazon, DesiDupe scans across Flipkart, Amazon.in, Meesho, Myntra, Ajio, and Tata Cliq to find similar products at lower prices.

Features

  • ๐Ÿ” Product Search - Natural language search across all platforms
  • ๐Ÿท๏ธ Find Dupes - Paste any product URL and get cheaper alternatives
  • ๐Ÿ’ฐ Price Comparison - Compare the same product across different sites
  • ๐Ÿ“ธ Image Analysis - Describe a product you saw and find similar items
  • ๐Ÿ”ฅ Best Deals - Get the hottest discounts across categories

Sample Conversations

Finding Dupes

User: Find cheaper alternatives for this dress: https://www.myntra.com/dresses/zara/zara-floral-midi/XXX111

DesiDupe: Finding Dupes for: Zara Floral Print Midi Dress
Original Price: โ‚น3,990 on Myntra

Found 3 Cheaper Alternatives:

๐Ÿ† Best Dupe: Floral Print Maxi Dress
   Price: โ‚น399 (Save โ‚น3,591)
   Platform: Meesho
   Rating: 3.7โญ (34,567 reviews)

Price Comparison

User: Compare prices for iPhone 15 128GB across sites

DesiDupe: Price Comparison: iPhone 15 (128GB)

| Platform  | Price      | Status       |
|-----------|------------|--------------|
| Amazon    | โ‚น73,999 ๐Ÿท๏ธ | โœ… In Stock  |
| Flipkart  | โ‚น74,999    | โœ… In Stock  |
| Tata Cliq | โ‚น76,999    | โœ… In Stock  |

Best Price: โ‚น73,999 on Amazon
You Save: โ‚น3,000 vs Tata Cliq

Budget Search

User: Find wireless earbuds under โ‚น1000

DesiDupe: Found 3 products

1. pTron Bassbuds Duo - โ‚น599 on Meesho (70% off)
2. Noise Buds VS104 - โ‚น1,099 on Flipkart (63% off)

Installation

Prerequisites

  • Node.js 18+
  • npm or yarn

Setup

# Clone or navigate to the project
cd desidupe

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run the MCP server
npm start

Project Structure

desidupe/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ mcp/
โ”‚   โ”‚   โ”œโ”€โ”€ server.ts         # MCP server entry point
โ”‚   โ”‚   โ”œโ”€โ”€ tools.ts          # Tool definitions & schemas
โ”‚   โ”‚   โ””โ”€โ”€ handlers/
โ”‚   โ”‚       โ”œโ”€โ”€ searchHandler.ts   # search_product, get_deals
โ”‚   โ”‚       โ”œโ”€โ”€ dupesHandler.ts    # find_dupes, analyze_image
โ”‚   โ”‚       โ””โ”€โ”€ compareHandler.ts  # compare_prices
โ”‚   โ”œโ”€โ”€ services/
โ”‚   โ”‚   โ”œโ”€โ”€ scraper.ts        # URL parsing & product fetching
โ”‚   โ”‚   โ”œโ”€โ”€ search.ts         # Search logic
โ”‚   โ”‚   โ””โ”€โ”€ similarity.ts     # Dupe finding & price comparison
โ”‚   โ”œโ”€โ”€ data/
โ”‚   โ”‚   โ””โ”€โ”€ mockProducts.ts   # Mock product database
โ”‚   โ””โ”€โ”€ types/
โ”‚       โ””โ”€โ”€ index.ts          # TypeScript types
โ”œโ”€โ”€ app-manifest.json         # OpenAI Apps SDK manifest
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ tsconfig.json
โ””โ”€โ”€ README.md

MCP Tools

1. search_product

Search for products across all platforms with natural language support.

{
  "name": "search_product",
  "arguments": {
    "query": "budget earbuds under Rs 1500",
    "platforms": ["flipkart", "amazon"],
    "sortBy": "price_asc"
  }
}

2. find_dupes

Find cheaper alternatives for a product.

{
  "name": "find_dupes",
  "arguments": {
    "productUrl": "https://www.myntra.com/...",
    "maxResults": 5
  }
}

3. compare_prices

Compare prices across platforms.

{
  "name": "compare_prices",
  "arguments": {
    "productName": "iPhone 15 128GB"
  }
}

4. get_deals

Get best deals by category.

{
  "name": "get_deals",
  "arguments": {
    "category": "electronics",
    "maxResults": 10
  }
}

5. analyze_image

Find products similar to what's in an image.

{
  "name": "analyze_image",
  "arguments": {
    "imageDescription": "red floral summer dress",
    "maxPrice": 2000
  }
}

Testing Locally

With MCP Inspector

npx @modelcontextprotocol/inspector node dist/mcp/server.js

Manual Testing

# Build and run
npm run build
node dist/mcp/server.js

# In another terminal, send JSON-RPC requests via stdin

Configuration for ChatGPT

Add to your ChatGPT MCP configuration:

{
  "mcpServers": {
    "desidupe": {
      "command": "node",
      "args": ["/path/to/desidupe/dist/mcp/server.js"]
    }
  }
}

Deployment

Option 1: Local MCP Server

Run the server locally and configure ChatGPT to connect via stdio.

Option 2: HTTP Server (Coming Soon)

Deploy as an HTTP endpoint using the MCP HTTP transport.

Option 3: OpenAI Apps Store (Future)

Submit to the OpenAI Apps marketplace when available.

Roadmap

Phase 1: MVP โœ…

  • MCP server structure
  • Mock product data
  • Basic tools (search, dupes, compare)
  • App manifest

Phase 2: Real Data

  • Flipkart API integration
  • Amazon affiliate API
  • Web scraping for other sites
  • Product image matching

Phase 3: Production

  • Redis caching
  • Rate limiting
  • Analytics dashboard
  • User preferences

Phase 4: Expansion

  • More platforms (Nykaa, Croma, etc.)
  • Price drop alerts
  • Wishlist feature
  • Browser extension

Supported Platforms

Platform Status Notes
Flipkart ๐ŸŸก Mock API integration planned
Amazon.in ๐ŸŸก Mock Affiliate API
Meesho ๐ŸŸก Mock Scraping required
Myntra ๐ŸŸก Mock Scraping required
Ajio ๐ŸŸก Mock Scraping required
Tata Cliq ๐ŸŸก Mock API available

Contributing

Contributions welcome! Key areas:

  1. Real API integrations
  2. Better product matching algorithms
  3. More product categories
  4. UI improvements

License

MIT


Built with โค๏ธ for Indian shoppers

Contributors

gtpsoftwares

Issues