Skip to main content
Glama

If this project is just what you needed and/or has been helpful to you, please consider buying me a coffee ☕

"Buy Me A Coffee"

Features

This MCP server provides tools to programmatically interact with Oda's grocery shopping platform:

  • Search products - Search for groceries with support for Norwegian terms

  • Browse recipes - Search, filter, and view recipe details

  • Saved shopping lists - View your saved lists, add or remove products, and import a whole list into the cart

  • Purchase history - See your most frequently ordered products

  • Manage shopping cart - View cart contents, add/remove items, add recipe ingredients

  • CLI access - All operations available as CLI subcommands in addition to MCP tools

  • Session persistence - Maintains login session across restarts

Related MCP server: Willys MCP Server

Installation

This project requires Node.js (v18+).

Usage

Initial Setup

Authenticate with your Oda account:

read -rsp "Oda password: " ODA_PASSWORD; printf '\n'
printf '%s' "$ODA_PASSWORD" | npx github:gbbirkisson/mcp-oda auth login --user your@email.com --pass-stdin
unset ODA_PASSWORD

Verify your login status:

npx github:gbbirkisson/mcp-oda auth user
NOTE

Session data is stored by default in~/.mcp-oda

CLI Commands

Running npx github:gbbirkisson/mcp-oda with no arguments prints help. The mcp subcommand starts the MCP server. All other operations are available as subcommands:

# Start the MCP server
npx github:gbbirkisson/mcp-oda mcp

# Products
npx github:gbbirkisson/mcp-oda product search melk
npx github:gbbirkisson/mcp-oda product search melk --page 2
npx github:gbbirkisson/mcp-oda product add 132

# Saved shopping lists
npx github:gbbirkisson/mcp-oda saved-list list
npx github:gbbirkisson/mcp-oda saved-list details 123
# Adds a product to a saved list; requires an explicit confirmation string
npx github:gbbirkisson/mcp-oda saved-list add-product 123 456 --confirmation "UPDATE SAVED LIST"
# Removes a product from a saved list; requires an explicit confirmation string
npx github:gbbirkisson/mcp-oda saved-list remove-product 123 456 --confirmation "UPDATE SAVED LIST"
# Adds every list item to the cart; requires an explicit confirmation string
npx github:gbbirkisson/mcp-oda saved-list add 123 --confirmation "ADD SAVED LIST TO CART"

# Purchase history
npx github:gbbirkisson/mcp-oda purchases frequent
npx github:gbbirkisson/mcp-oda purchases frequent --limit 10 --max-orders 50

# Cart
npx github:gbbirkisson/mcp-oda cart list
npx github:gbbirkisson/mcp-oda cart recommendations
npx github:gbbirkisson/mcp-oda cart remove 132
# Clears the whole cart; requires an explicit confirmation string
npx github:gbbirkisson/mcp-oda cart clear --confirmation "CLEAR CART"

# Recipes
npx github:gbbirkisson/mcp-oda recipe search pizza
npx github:gbbirkisson/mcp-oda recipe details 123
npx github:gbbirkisson/mcp-oda recipe add 123 --portions 4
npx github:gbbirkisson/mcp-oda recipe remove 123

# Authentication
read -rsp "Oda password: " ODA_PASSWORD; printf '\n'
printf '%s' "$ODA_PASSWORD" | npx github:gbbirkisson/mcp-oda auth login --user your@email.com --pass-stdin
unset ODA_PASSWORD
npx github:gbbirkisson/mcp-oda auth logout
npx github:gbbirkisson/mcp-oda auth user

# Maintenance
npx github:gbbirkisson/mcp-oda clean

Configuration

Claude Desktop

Claude Desktop configuration example:

{
  "mcpServers": {
    "oda": {
      "command": "npx",
      "args": ["-y", "github:gbbirkisson/mcp-oda", "mcp"]
    }
  }
}

Claude Code

/plugin marketplace add gbbirkisson/mcp-oda
/plugin install mcp-oda@mcp-oda

Gemini CLI

gemini extensions install https://github.com/gbbirkisson/mcp-oda

Troubleshooting

Session not persisting

If your login session is not persisting between runs:

  1. Try running with the clean subcommand to remove old session data:

    npx github:gbbirkisson/mcp-oda clean
  2. Re-authenticate:

    read -rsp "Oda password: " ODA_PASSWORD; printf '\n'
    printf '%s' "$ODA_PASSWORD" | npx github:gbbirkisson/mcp-oda auth login --user your@email.com --pass-stdin
    unset ODA_PASSWORD
  3. Make sure you're using the same --data-dir for all commands if you've overridden the default.

Maintenance

ActivityActive
ResponsivenessWithin a week

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables agentic grocery shopping on Oda (Norway) and Mathem (Sweden) platforms through an MCP-compatible interface. Users can search for products, manage their shopping cart, and access order history using natural language commands.
    1
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server for grocery-related web automation using Playwright, enabling AI assistants to interact with grocery websites.
  • A
    license
    A
    quality
    C
    maintenance
    MCP server that queries Norwegian grocery store flyers (kundeaviser) to help AI agents plan cheap meals based on current offers.
    7
    MIT

Appeared in Searches

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gbbirkisson/mcp-oda'

If you have feedback or need assistance with the MCP directory API, please join our Discord server