Skip to main content

MCP server for Coles and Woolworths product search

Project description

Coles and Woolworths MCP Server

An experimental Model Context Protocol (MCP) server implementation that allows AI assistants to search for product information from Australia's major supermarkets: Coles and Woolworths. This server exposes product search functionality through the MCP protocol, making it easy for AI assistants to retrieve product pricing and details.

coles-woolworths MCP server

Demo

Use with Claude Desktop

https://github.com/user-attachments/assets/0af3b07a-578a-4112-acfe-e7a7eee31161

Features

  • Product Search: Search for products at both Coles and Woolworths supermarkets
  • Price Comparison: Get pricing information from both retailers in a consistent format
  • Store Selection: Search specific Coles stores using store IDs
  • Result Limiting: Control how many products are returned in search results

Quick Start for Claude Desktop, Cursor, and other clients

  1. Clone this repository
git clone https://github.com/hung-ngm/coles-woolworths-mcp-server.git
  1. Navigate to the project directory
cd coles-woolies-mcp
  1. Install the prerequisites

  2. Configure your MCP client to use this server (see Integrating with MCP Clients)

Installation

Prerequisites

  1. Python 3.8 or higher
  2. The uv package manager

Installing uv

uv is a fast Python package installer and resolver. To install:

macOS/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows:

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

Setup

  1. Clone the repository and navigate to the project directory
  2. Use uv to install dependencies:
# Install dependencies
uv pip install fastmcp requests python-dotenv

Configuration

The server uses the following environment variables:

  • COLES_API_KEY: API key for accessing the Coles API (required for Coles product searches)

You can set these variables in a .env file in the project directory.

Running the Server

To run the Coles and Woolworths MCP server directly using uv:

uv run main.py

By default, the server runs with stdio transport for MCP client integration.

Integrating with MCP Clients

Claude Desktop Configuration

To use the Coles and Woolworths MCP server with Claude Desktop:

  1. Locate your Claude Desktop configuration file (usually claude_desktop_config.json)
  2. Add the following configuration to the mcpServers section:
{
  "mcpServers": {
    "coles-woolies-mcp": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "fastmcp",
        "--with",
        "requests",
        "--with", 
        "python-dotenv",
        "fastmcp",
        "run",
        "/full/path/to/coles-woolies-mcp/main.py"
      ]
    }
  }
}

Replace /full/path/to/coles-woolies-mcp/main.py with the absolute path to your main.py file.

  1. Restart Claude Desktop for the changes to take effect

Cursor IDE Configuration

To integrate with Cursor IDE:

  1. Open your Cursor configuration file
  2. Add the following to the mcpServers section:
{
  "mcpServers": {
    "coles-woolies-mcp": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "fastmcp",
        "--with",
        "requests",
        "--with", 
        "python-dotenv",
        "fastmcp",
        "run",
        "/full/path/to/coles-woolies-mcp/main.py"
      ]
    }
  }
}

Available Tools

The Coles and Woolworths MCP server exposes the following tools:

  • get_coles_products: Search for products at Coles supermarkets with optional store selection
  • get_woolworths_products: Search for products at Woolworths supermarkets

Example Usage in Claude

You can use the tools in Claude like this:

Could you check the price of Cadbury chocolate at both Coles and Woolworths?

Claude will then use the appropriate tools to search for the products and return the results.

Requirements

  • Python 3.8 or higher
  • fastmcp package
  • requests package
  • python-dotenv package
  • MCP-compatible client (Claude Desktop, Cursor, etc.)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_hung_ngm_coles_woolies_mcp-0.1.0.tar.gz (31.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_hung_ngm_coles_woolies_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_hung_ngm_coles_woolies_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 31.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_hung_ngm_coles_woolies_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5d47df490799bc27a7d276b617cb891ffa889c92db6f7940e684e34095512a04
MD5 ad3ad27fbe9f0a2f6d4c442e1e3b8c13
BLAKE2b-256 9e8f1468460c3040f9f6a91dccb38ecdadb5fd89794185e5a659904b60a46927

See more details on using hashes here.

File details

Details for the file iflow_mcp_hung_ngm_coles_woolies_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_hung_ngm_coles_woolies_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 36.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_hung_ngm_coles_woolies_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9055c1bdd316f91c57707216d1400d630b7a6e7aa7cb3a3b1a4622c399e62deb
MD5 719cb207b142257def91a3576922d4eb
BLAKE2b-256 f02cbbf8468d5ca5ab603c0283f08ecf28b51349056f278bca885c25c668d7ec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page