MCP server for Good Eggs grocery shopping automation using Playwright. Search for groceries, manage favorites, add items to cart, and view past orders.
- Search Groceries - Search for any grocery item on Good Eggs (includes favorite status)
- Manage Favorites - Get, add, and remove favorite items
- Get Product Details - View detailed information about any product
- Shopping Cart - View, add, and remove items from your shopping cart
- Find Freebies - Find items priced at $0.00 on homepage and fresh-picks
- Past Orders - View your order history and reorder items
| Tool | Description |
|---|---|
search_for_grocery |
Search for groceries by keyword (includes favorites) |
get_favorites |
Get your favorite/saved grocery items |
get_grocery_details |
Get detailed info about a specific product |
add_to_cart |
Add a product to your shopping cart |
get_cart |
View the contents of your shopping cart |
remove_from_cart |
Remove a product from your shopping cart |
search_for_freebie_groceries |
Find free items ($0.00) on homepage and fresh-picks |
get_list_of_past_order_dates |
Get dates of your past orders |
get_past_order_groceries |
Get items from a specific past order |
add_favorite |
Add a product to your favorites |
remove_favorite |
Remove a product from your favorites |
- Node.js 18+
- A Good Eggs account (create one at goodeggs.com)
| Variable | Required | Description | Default |
|---|---|---|---|
GOOD_EGGS_USERNAME |
Yes | Your Good Eggs account email | - |
GOOD_EGGS_PASSWORD |
Yes | Your Good Eggs account password | - |
HEADLESS |
No | Run browser in headless mode | true |
TIMEOUT |
No | Browser operation timeout (ms) | 30000 |
Make sure you have your Good Eggs account credentials ready.
Then proceed to the setup instructions below. If this is your first time using MCP Servers, you'll want to make sure you have the Claude Desktop application and follow the official MCP setup instructions.
You're going to need Node working on your machine so you can run npx commands in your terminal. If you don't have Node, you can install it from nodejs.org.
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Modify your claude_desktop_config.json file to add the following:
{
"mcpServers": {
"good-eggs": {
"command": "npx",
"args": ["-y", "good-eggs-mcp-server"],
"env": {
"GOOD_EGGS_USERNAME": "your-email@example.com",
"GOOD_EGGS_PASSWORD": "your-password"
}
}
}
}Restart Claude Desktop and you should be ready to go!
"Search for organic apples"
"Find gluten-free bread"
"Look for chicken breast"
"Show me my favorite items"
"What are my saved groceries?"
"Add 2 of those apples to my cart"
"Put the organic milk in my basket"
"What's in my cart?"
"Show me my basket"
"What deals are available today?"
"Find any free items"
"Show me my past orders"
"What did I order on January 3rd?"
This MCP server uses Playwright to automate a browser session with Good Eggs:
- On first tool use: Launches a browser and logs into your Good Eggs account
- Browser session persists: All subsequent tool calls reuse the same logged-in session
- Smart navigation: Tools check if you're already on the right page to minimize navigation
- Stealth mode: Uses playwright-extra with stealth plugin to avoid bot detection
# Install dependencies
npm run install-all
# Run in development mode
npm run dev
# Build
npm run build
# Run tests
npm test
# Lint
npm run lintgood-eggs/
├── local/ # Local server implementation
│ └── src/
│ └── index.ts # Entry point with env validation
├── shared/ # Shared business logic
│ └── src/
│ ├── server.ts # GoodEggsClient with Playwright automation
│ ├── tools.ts # MCP tool definitions
│ ├── types.ts # TypeScript types
│ └── logging.ts # Logging utilities
├── tests/ # Test suites
├── package.json # Root workspace config
└── README.md
- Your Good Eggs credentials are used only to log into your account
- The browser session runs locally on your machine
- No credentials are transmitted to any third-party services
- Consider using environment variables rather than hardcoding credentials
- Requires a valid Good Eggs account with delivery service in your area
- Browser automation may occasionally fail if Good Eggs updates their website
- Some operations (favorites, past orders) require account login
MIT