oda-mcp
MCP server for agentic grocery shopping at Oda (Norway) and Mathem (Sweden). Plug it into Claude Code, Gemini CLI, or any MCP-compatible client and let an AI do your grocery shopping.
Prerequisites
You need uv installed to use uvx:
curl -LsSf https://astral.sh/uv/install.sh | sh
Or on macOS: brew install uv
Setup (one time)
Run the setup command to pick your store and store your credentials:
uvx --from git+https://github.com/kolonialno/oda-mcp.git oda-mcp-setup
You'll be asked to choose a store:
Which store do you want to connect to?
1. Oda (Norway)
2. Mathem (Sweden)
Then enter your email and password. The setup verifies your credentials and stores the config at ~/.config/oda-mcp/config.json (chmod 600).
Connect to Claude Code
claude mcp add oda -- uvx --from git+https://github.com/kolonialno/oda-mcp.git oda-mcp
Connect to Gemini CLI
gemini mcp add oda uvx --from git+https://github.com/kolonialno/oda-mcp.git oda-mcp
Note:
uvxcaches the package locally. To pick up updates from the repo, run with--refreshor re-run theclaude mcp addcommand.
Switching stores
To switch between Oda and Mathem, just re-run setup — it will overwrite the existing config:
uvx --from git+https://github.com/kolonialno/oda-mcp.git oda-mcp-setup
Then restart your MCP client to pick up the new config.
Available tools
| Tool | Description |
|---|---|
search_products |
Search the catalog by keyword |
get_product |
Full product details by ID (nutrition, ingredients, allergens) |
get_related_products |
Similar/alternative products |
get_for_you |
Your personalized feed (usuals, history, lists) |
get_cart |
View the current cart |
add_to_cart |
Add a product by ID |
remove_from_cart |
Remove a quantity of a product |
clear_cart |
Empty the cart |
get_suggestions |
Trending searches or query completions with product matches |
get_orders |
Order history grouped by month, with pagination |
get_order |
Full order details including all line items |
Example prompts
- "Search for lactose-free milk and show me the unit prices"
- "What's in my cart?"
- "Copy all products from my last order into the cart"
- "Find me an organic banana and add it to the cart"
- "Show me the full nutrition info for product 18232"
More endpoints to add
There are many more API endpoints to explore. Candidates for next iterations:
- Delivery slot availability
- Category browsing