sleipner42/mathem-mcp-server
If you are the rightful owner of mathem-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
MatMCP is a Model Context Protocol server designed to facilitate AI assistants in interacting with Mathem.se, a Swedish online grocery store.
MatMCP 🛒
An MCP (Model Context Protocol) server that provides AI assistants with tools to interact with Mathem.se, a Swedish online grocery store. Search for ingredients, add items to your basket, and manage recipes directly through your AI assistant.
Features
- Search Ingredients: Find products on Mathem.se by name or description
- Add to Basket: Add products directly to your Mathem.se shopping cart
- Recipe Management: List and fetch detailed recipe information
- Structured Data: Get clean, structured product and recipe data
Prerequisites
- macOS/Linux: This guide assumes macOS, but Linux instructions are similar
- Python 3.12+: Required for the project
- uv: Fast Python package manager
- Mathem.se Account: For adding items to basket functionality
Installation
1. Install uv (Python package manager)
brew install uv
2. Clone and setup the project
git clone <your-repo-url>
cd matmcp
3. Install dependencies
uv sync
4. Configure Mathem.se authentication (optional)
For basket functionality, you need to provide your Mathem.se session cookies:
-
Copy the example cookie file:
cp cookie.txt.example cookie.txt -
Get your session cookies from Mathem.se:
- Open your browser and go to mathem.se
- Log in to your account
- Open Developer Tools (F12)
- Go to the Network tab
- Refresh the page
- Find a request to mathem.se and copy the Cookie header value
- Paste it into
cookie.txt
The format should look like:
sessionid=your_session_id_here; csrftoken=your_csrf_token_here; other_cookies=value
Note: Without cookies, you can still search for ingredients, but adding to basket will not work.
Claude Desktop Integration
Add this MCP server to your Claude Desktop configuration:
1. Open Claude Desktop config
# macOS
open ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Linux
open ~/.config/claude/claude_desktop_config.json
2. Add the server configuration
Replace /YOUR/PATH/TO/matmcp with your actual project directory:
{
"mcpServers": {
"mathem": {
"command": "uv",
"args": [
"--directory",
"/YOUR/PATH/TO/matmcp",
"run",
"mathem.py"
]
}
}
}
3. Restart Claude Desktop
Close and reopen Claude Desktop to load the new MCP server.
Usage
Once configured, you can ask Claude to:
- Search for ingredients: "Find organic tomatoes on Mathem"
- Add items to basket: "Add 2 packages of pasta to my Mathem basket"
- Get recipes: "Show me the available recipes"
- Recipe details: "Get the details for recipe number 1"
Available Tools
search_mathem_ingredients(query: str)
Search for products on Mathem.se
Example: Search for "organic milk"
add_to_mathem_basket(product_id: int, quantity: int = 1)
Add a product to your Mathem.se shopping basket
Requirements: Valid session cookies in cookie.txt
list_recipes()
List all available recipes from recipes.csv
get_recipe_by_index(index: int)
Get detailed recipe information by index
Development
Running tests
uv run pytest
Running the server directly
uv run mathem.py
Adding recipes
Edit recipes.csv to add new recipes with columns: id, title, url
License
This project is for educational and personal use. Please respect Mathem.se's terms of service when using this tool.