A simple MCP server using the web API of oda.com shop intended for use in Claude or Gemini.
Find a file
2026-03-08 17:02:08 +01:00
oda_mcp Replace deprecated tienda-web-api/v1 with api/v1 for Oda and Mathem 2026-03-08 17:02:08 +01:00
.gitignore initial commit 2026-02-20 09:29:26 +01:00
LICENSE update license copyright holder to Oda Group Services 2026-02-24 09:15:44 +01:00
pyproject.toml initial commit 2026-02-20 09:29:26 +01:00
README.md update repo URL to git.s7g.no 2026-02-25 14:54:49 +01:00

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://git.s7g.no/micsch/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://git.s7g.no/micsch/oda-mcp.git oda-mcp

Connect to Gemini CLI

gemini mcp add oda uvx --from git+https://git.s7g.no/micsch/oda-mcp.git oda-mcp

Note: uvx caches the package locally. To pick up updates from the repo, run with --refresh or re-run the claude mcp add command.

Switching stores

To switch between Oda and Mathem, just re-run setup — it will overwrite the existing config:

uvx --from git+https://git.s7g.no/micsch/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