Rami Levy MCP Server
MCP Server for the Rami Levy Online Grocery Store API. This is a proof of concept implementation that demonstrates how to integrate Rami Levyβs e-commerce platform with MCP-enabled LLMs.
Tools
-
search_items
- Search for products in Rami Levyβs catalog
- Inputs:
q
(string): Search querystore
(string, optional): Store identifier (default: β331β)aggs
(number, optional): Aggregation flag (default: 1)
- Returns: Array of products with name, price, image URL, and ID
-
add_to_cart
- Add one or more items to the shopping cart
- Inputs:
store
(string): Store identifier (e.g., β331β)items
(array): List of items to add, each containing:id
(number): Product identifierquantity
(number): Quantity to add (minimum: 1)
- Returns: Updated cart contents with prices and discounts
-
remove_from_cart
- Remove items from the cart by providing an updated list of items to keep
- Inputs:
store
(string): Store identifieritems
(array): Updated list of items to keep in cart
- Returns: Updated cart contents
-
update_quantity
- Update the quantity of an item in the cart
- Inputs:
store
(string): Store identifierid
(number): Product identifiernewQuantity
(number): New quantity for the product (minimum: 1)
- Returns: Updated cart contents
Resources
rami-levy://checkout
- Get the URL for the Rami Levy checkout page
- Returns: Checkout page URL
Setup
Authentication
This MCP server requires authentication tokens from an active Rami Levy session. To obtain these:
- Log in to Rami Levyβs websiteβ
- Open your browserβs developer tools (F12)
- Go to the Network tab
- Make any request (e.g., search for a product)
- From the request headers, extract:
RAMI_LEVY_API_KEY
: The token after βBearerβ in the Authorization headerECOM_TOKEN
: The full ecomtoken header valueCOOKIE
: The complete cookie header value
Environment Variables
Create a .env
file with the following variables:
RAMI_LEVY_API_KEY=your_api_key_here
ECOM_TOKEN=your_ecom_token_here
COOKIE=your_cookie_string_here
Usage with Claude Desktop
Add the following to your claude_desktop_config.json
:
{
"mcpServers": {
"rami-levy": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-rami-levy"
],
"env": {
"RAMI_LEVY_API_KEY": "<YOUR_API_KEY>",
"ECOM_TOKEN": "<YOUR_ECOM_TOKEN>",
"COOKIE": "<YOUR_COOKIE>"
}
}
}
}
Development
- Install dependencies:
npm install
- Build the project:
npm run build
- Start the server:
npm start
Security Considerations
β οΈ Important: This is a proof of concept implementation. Please note:
- The authentication tokens provide full access to your Rami Levy account
- Tokens should be kept secure and never committed to version control
- Tokens expire periodically and will need to be refreshed
- This implementation is not intended for production use without proper security review
Limitations
- Session tokens expire and need to be manually refreshed
- Some features of the Rami Levy API are not implemented (e.g., user profile, order history)
- Error handling for expired sessions could be improved
- No rate limiting implementation
Contributing
Issues and pull requests are welcome! Please ensure you donβt commit any sensitive information like authentication tokens.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Disclaimer
This is an unofficial project and is not affiliated with or endorsed by Rami Levy Chain Stores Ltd. All product names, logos, and brands are property of their respective owners.