Skip to main content
Glama
johnvouros

woolies-coles-mcp

by johnvouros
README.md
# Woolworths & Coles Integration

Search and compare products from Woolworths and Coles, two major Australian supermarket chains.

Available as **both an MCP server and a Claude Desktop plugin** - choose the option that works best for you!

## Features

- **Search Woolworths**: Find products, prices, and availability at Woolworths
- **Search Coles**: Find products, prices, and availability at Coles
- **Compare Prices**: Compare products between both stores with price analysis
- **Zero Dependencies**: Uses only Node.js built-in modules

## Installation Options

### Option 1: MCP Server (Recommended for Power Users)

Best for: Users who want a standalone service, multiple AI system integration, or need more control.

**Quick Install:**
1. Add to your Claude Desktop config (`~/.config/Claude/claude_desktop_config.json`):
   ```json
   {
     "mcpServers": {
       "woolies-coles": {
         "command": "node",
         "args": ["/absolute/path/to/woolies-coles-mcp/index.mjs"]
       }
     }
   }
   ```
2. Restart Claude Desktop

See [SETUP.md](SETUP.md) for detailed instructions.

### Option 2: Claude Desktop Plugin (Simpler)

Best for: Users who want easy installation with minimal configuration.

**Quick Install:**
1. Copy plugin files to your plugins directory:
   ```bash
   mkdir -p ~/.claude/plugins/woolies-coles
   cp plugin.mjs plugin-package.json ~/.claude/plugins/woolies-coles/
   ```
2. Restart Claude Desktop

See [PLUGIN_INSTALL.md](PLUGIN_INSTALL.md) for detailed instructions.

## Requirements

No installation required! Uses only Node.js built-in modules (Node.js 14+).

## Usage

Once installed (either as MCP server or plugin), you can ask Claude natural language questions like:

- "Search for milk at Woolworths"
- "What's the price of bread at Coles?"
- "Compare prices for coffee between Woolworths and Coles"
- "Show me organic products at Woolworths"
- "Find the cheapest olive oil between both stores"

Claude will automatically use the appropriate tool based on your request.

## Available Tools

### 1. search_woolworths
Search for products at Woolworths supermarket.

**Parameters:**
- `query` (string, required): Product search query

**Returns:** Product names, prices, availability, unit information, and product links

### 2. search_coles
Search for products at Coles supermarket.

**Parameters:**
- `query` (string, required): Product search query

**Returns:** Product names, prices, availability, unit information, and product links

### 3. compare_prices
Compare prices for a product between Woolworths and Coles.

**Parameters:**
- `query` (string, required): Product to compare

**Returns:** Results from both stores with average price comparison and analysis

## Comparison: MCP Server vs Plugin

| Feature | MCP Server | Plugin |
|---------|------------|--------|
| **Installation** | Config file | Copy to directory |
| **Process** | Separate process | In-process |
| **Debugging** | Full logs | Limited |
| **Flexibility** | High | Medium |
| **Ease of use** | Medium | High |
| **Best for** | Power users, developers | General users |

Both options provide the same functionality - choose based on your preference!

## Project Structure

```
woolies-coles-mcp/
├── index.mjs                           # MCP server implementation
├── plugin.mjs                          # Claude Desktop plugin implementation
├── plugin-package.json                 # Plugin metadata
├── test.mjs                            # Test script for MCP server
├── claude_desktop_config.example.json  # Example MCP config
├── README.md                           # Main documentation (this file)
├── SETUP.md                            # Detailed MCP server setup
└── PLUGIN_INSTALL.md                   # Detailed plugin installation
```

## API Notes

This server attempts to query the public APIs of Woolworths and Coles. Note that:

- These APIs are not officially documented for third-party use
- API endpoints and response formats may change without notice
- Rate limiting may apply
- Some requests may require additional headers or authentication in the future
- The server uses only Node.js built-in modules (no external dependencies)

## Requirements

- Node.js 14+ (with ES modules support)

## License

MIT