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.
demo.mp4
- 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
- Clone this repository
git clone https://github.com/hung-ngm/coles-woolworths-mcp-server.git
- Navigate to the project directory
cd coles-woolies-mcp
-
Install the prerequisites
-
Configure your MCP client to use this server (see Integrating with MCP Clients)
- Python 3.8 or higher
- The
uv
package manager
uv is a fast Python package installer and resolver. To install:
curl -LsSf https://astral.sh/uv/install.sh | sh
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
- Clone the repository and navigate to the project directory
- Use
uv
to install dependencies:
# Install dependencies
uv pip install fastmcp requests python-dotenv
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.
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.
To use the Coles and Woolworths MCP server with Claude Desktop:
- Locate your Claude Desktop configuration file (usually
claude_desktop_config.json
) - 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.
- Restart Claude Desktop for the changes to take effect
To integrate with Cursor IDE:
- Open your Cursor configuration file
- 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"
]
}
}
}
The Coles and Woolworths MCP server exposes the following tools:
get_coles_products
: Search for products at Coles supermarkets with optional store selectionget_woolworths_products
: Search for products at Woolworths supermarkets
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.
- Python 3.8 or higher
- fastmcp package
- requests package
- python-dotenv package
- MCP-compatible client (Claude Desktop, Cursor, etc.)