Skip to main content
Glama
Gargii-dev

Amazon Product Analysis MCP Server

by Gargii-dev
README.md
# Amazon Product Analysis MCP Server

A production-ready Model Context Protocol (MCP) server for Amazon product analysis, **built with [mcp-use](https://github.com/mcp-use/mcp-use)** and **powered by [Bright Data](https://brightdata.com)** for Web MCP tool. This server provides an interactive tool and beautiful React widget for analyzing Amazon products with comprehensive insights including pricing, features, specifications, delivery options, and customer reviews.

## šŸš€ Built with mcp-use

This MCP server is powered by **[mcp-use](https://github.com/mcp-use/mcp-use)**, a modern framework for building MCP servers with:

- **Type-safe server creation** - Build MCP servers with full TypeScript support
- **React widget support** - Create interactive UI components using the OpenAI Apps SDK
- **Simplified client connections** - Easily connect to other MCP servers
- **Built-in development tools** - Hot reload, build, and deploy commands
- **Zero boilerplate** - Focus on your tools, not infrastructure

## Features

- šŸ›’ **Amazon Product Analysis** - Extract comprehensive product data from any Amazon URL
- šŸŽØ **Interactive Widget** - Beautiful React widget for displaying product insights
- šŸ“Š **Rich Data Extraction** - Pricing, features, specifications, delivery, reviews, and seller info

## Prerequisites

- A Bright Data account ([sign up here](https://brightdata.com))
- An OpenAI API key ([get one here](https://platform.openai.com/api-keys))

## Installation

```bash
# Install dependencies
yarn install
# or
npm install
```

## Configuration

1. Copy the environment example file:

```bash
cp .env.example .env
```

2. Set the following required environment variables:

```bash
# Required: Your Bright Data API Key
BRIGHTDATA_API_KEY=your_brightdata_api_key_here

# Required: Your OpenAI API Key
# Get from: https://platform.openai.com/api-keys
OPENAI_API_KEY=your_openai_api_key_here
```

## Development

[mcp-use](https://github.com/mcp-use/mcp-use) provides convenient development commands:

```bash
# Start development server with hot reload
yarn dev
# or
npm run dev

# Build for production
yarn build
# or
npm run build

# Start production server
yarn start
# or
npm start

# Deploy the server
yarn deploy
# or
npm run deploy
```

The development server starts:

- MCP server on port 3000
- Widget serving at `/mcp-use/widgets/*`
- Inspector UI at `/inspector`

## Available Tools

### `amazon-product-analysis`

Analyze any Amazon product URL. Opens an interactive widget displaying comprehensive product insights.

**Parameters:**

- `url` (required): Amazon product URL (must contain valid full URL of the product page)
- `zipcode` (optional): ZIP code for location-specific pricing and delivery

**Widget:** `amazon-product-analysis` - Interactive product analysis display

**Returns:** Structured product data including:

- Product info (title, image, price, rating, reviews)
- Pricing breakdown (original price, discount, savings)
- Product features
- Specifications
- Delivery options
- Seller information
- Customer reviews summary
- Category rankings

## UI Widgets

This server includes a custom React widget built with [mcp-use](https://github.com/mcp-use/mcp-use):

### Amazon Product Analysis (`amazon-product-analysis`)

An interactive widget for displaying product insights:

- **Product Card** - Title, image, price, and star rating
- **Image Gallery** - Zoomable carousel with thumbnails
- **Pricing Deal** - Original price, discount percentage, savings
- **Features List** - Key product features
- **Delivery Info** - Standard and fast shipping options
- **Seller Info** - Seller name, rankings, categories
- **Customer Reviews** - Review summary and top review
- **Product Specs** - Technical specifications table

The widget is built with:

- React 19
- Tailwind CSS
- TanStack Query
- Zod validation
- OpenAI Apps SDK hooks

## Architecture

This server demonstrates the power of [mcp-use](https://github.com/mcp-use/mcp-use):

- **Server-side**: Uses [`mcp-use/server`](https://github.com/mcp-use/mcp-use) to create tools and widgets
- **Client-side**: Uses [`mcp-use/react`](https://github.com/mcp-use/mcp-use) for widget hooks
- **Type-safe**: Full TypeScript support with Zod schemas
- **Bright Data Integration**: Amazon product scraping via Bright Data SDK
- **OpenAI Integration**: GPT-4o for intelligent data extraction

### Data Flow

```
User → ChatGPT → MCP Server → amazon-product-analysis tool
                                       ↓
                              Bright Data SDK
                                       ↓
                                 Amazon Website
                                       ↓
                              GPT-4o Data Extraction
                                       ↓
                                Widget Display
                                       ↓
                            Product Insights UI
```

## Project Structure

```
amazon-product-analysis-server/
ā”œā”€ā”€ index.ts                              # Main server file with API endpoints
ā”œā”€ā”€ resources/
│   └── amazon-product-analysis/
│       ā”œā”€ā”€ widget.tsx                    # Main widget component
│       ā”œā”€ā”€ types.ts                      # Zod schemas and TypeScript types
│       ā”œā”€ā”€ server.ts                     # Server-side analysis logic
│       ā”œā”€ā”€ brightdata-tools.ts           # Bright Data integration
│       ā”œā”€ā”€ utils.ts                      # Utility functions (image proxy)
│       ā”œā”€ā”€ hooks/
│       │   └── useProductAnalysis.ts     # React Query hook
│       └── components/
│           ā”œā”€ā”€ ProductCard.tsx           # Product display
│           ā”œā”€ā”€ ImageGallery.tsx          # Image carousel
│           ā”œā”€ā”€ PricingDeal.tsx           # Price info
│           ā”œā”€ā”€ Features.tsx              # Features list
│           ā”œā”€ā”€ DeliveryInfo.tsx          # Shipping options
│           ā”œā”€ā”€ SellerInfo.tsx            # Seller details
│           ā”œā”€ā”€ CustomerReviews.tsx       # Reviews summary
│           └── ProductSpecs.tsx          # Specifications
ā”œā”€ā”€ package.json                          # Dependencies
ā”œā”€ā”€ tsconfig.json                         # TypeScript configuration
└── README.md                             # This file
```

## Deployment

### mcp-use Cloud

```bash
# Install the CLI (if not already done)
npm install -g @mcp-use/cli

# Login to mcp-use cloud
npm run mcp-use login

# Deploy your server
npm run mcp-use deploy
```

### Other Platforms

The server can be deployed to any Node.js hosting platform:

- Vercel
- Railway
- Render
- Fly.io
- AWS Lambda (with adapter)
- Google Cloud Run

Make sure to set the `MCP_URL` environment variable to your production URL.

## Usage in ChatGPT

1. Deploy your application and get the MCP endpoint URL (e.g., `https://your-app.vercel.app/mcp`)
2. In ChatGPT, go to `Apps & Connectors` → `Advanced Settings` and enable developer mode
3. Create Connector:
   - Go to `Apps & Connectors` and click `Create`
   - Enter a name for your connector
   - Enter your MCP server URL
   - Select `No Authentication` (or configure auth if needed)
   - Accept the terms and conditions
   - Click `Create`
4. Create a new chat and use the `/` command to access the connector
5. Try: "Analyze this Amazon product: https://www.amazon.in/iPhone-Pro-Max-512-Promotion/dp/B0FQG8XCJ1?ref_=ast_sto_dp"

## Troubleshooting

### Products not analyzing

- Check your `BRIGHTDATA_API_KEY` is set correctly
- Verify the Amazon URL contains valid full URL of the product page
- Ensure your Bright Data account has credits
- Check browser console for errors

### Images not loading

- Images are proxied through `/api/image-proxy` to bypass CORS
- Check that the image proxy endpoint is accessible

### Widget not displaying

- Verify server is running (`npm run dev`)
- Check that widget is built (`npm run build`)
- Ensure `widgetMetadata` is exported
- Check browser console for errors

## Learn More

- [mcp-use Documentation](https://docs.mcp-use.com)
- [Bright Data Documentation](https://docs.brightdata.com)
- [OpenAI Apps SDK](https://platform.openai.com/docs/apps)
- [MCP Protocol](https://modelcontextprotocol.io)

## šŸ“¬ Stay Updated with Our Newsletter!

**Get a FREE Data Science eBook** šŸ“– with 150+ essential lessons in Data Science when you subscribe to our newsletter! Stay in the loop with the latest tutorials, insights, and exclusive resources. [Subscribe now!](https://join.dailydoseofds.com)

[![Daily Dose of Data Science Newsletter](https://github.com/patchy631/ai-engineering/blob/main/resources/join_ddods.png)](https://join.dailydoseofds.com)

## Contribution

Contributions are welcome! Please fork the repository and submit a pull request with your improvements.