1. Conduid
  2. Commerce
  3. Kronan MCP
MCP server · Commerce

Kronan MCP

MCP server for the Krónan grocery store API (Iceland)

Unclaimed commerce
39Low

Scored 6 months ago · breakdown

About Kronan MCP

Kronan MCP is an MCP server in the Commerce category: mCP server for the Krónan grocery store API (Iceland).

Install

From source
git clone https://github.com/sandsower/kronan-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (33)

add_checkout_linesAdd product lines to the active checkout. Set replace=true to replace all existing lines.

Parameters not published.

add_shopping_note_lineAdd a line to the shopping note. Provide exactly one of text (freeform) or sku (linked product), not both.

Parameters not published.

apply_store_product_orderReorder shopping note lines to match the store

Parameters not published.

change_shopping_note_lineUpdate the text or quantity of an existing shopping note line

Parameters not published.

check_store_order_eligibilityCheck if the shopping note contains products that can be ordered from a store

Parameters not published.

clear_product_listRemove all items from a product list without deleting the list itself

Parameters not published.

clear_shopping_noteDelete all lines from the shopping note (the note itself is preserved)

Parameters not published.

create_product_listCreate a new product list

Parameters not published.

delete_archived_lineRemove a specific archived shopping note line

Parameters not published.

delete_order_linesRemove specific lines from an order by their IDs. Service lines and the last remaining line cannot be deleted.

Parameters not published.

Show all 33 tools
delete_product_listPermanently delete a product list and all its items

Parameters not published.

delete_shopping_note_lineRemove a line from the shopping note

Parameters not published.

get_category_productsGet paginated product listing for a category (48 per page)

Parameters not published.

get_checkoutGet the active smart checkout (auto-creates if none exists)

Parameters not published.

get_meGet the current authenticated identity (user or customer group)

Parameters not published.

get_orderGet full order details including lines with product thumbnails

Parameters not published.

get_productGet full product details including price, discounts, tags, availability

Parameters not published.

get_product_listGet a product list with all items including product details and pricing

Parameters not published.

get_shopping_noteGet the shopping note (auto-creates if none exists)

Parameters not published.

list_archived_linesList previously completed and archived shopping note lines

Parameters not published.

list_categoriesGet the full 3-level category tree

Parameters not published.

list_ordersList orders, most recent first

Parameters not published.

list_product_listsList saved product lists

Parameters not published.

list_purchase_statsList previously purchased products with frequency data, ordered by most recent purchase

Parameters not published.

lower_order_quantityReduce the quantity of specific order lines. Quantity can only be lowered. Set to 0 to remove.

Parameters not published.

reorder_shopping_note_linesReorder shopping note lines by passing their tokens in desired order

Parameters not published.

search_productsSearch for products in the smart store selection. Returns products available for home delivery.

Parameters not published.

set_line_completionMark a shopping note line as completed or uncompleted.

Parameters not published.

set_order_substitutionSet whether substitution is allowed for specific order lines.

Parameters not published.

set_purchase_stat_ignoredHide or unhide a product from purchase history

Parameters not published.

sort_product_listSort items in the product list by store departments

Parameters not published.

update_product_listUpdate the name or description of a product list

Parameters not published.

update_product_list_itemAdd a product by SKU or update its quantity in a product list. Set quantity to 0 to remove.

Parameters not published.

Ask AI

✦

Ask AI about Kronan MCP

Powered by Claude · Grounded in docs

I know everything about Kronan MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

kronan-mcp

MCP server for the Krónan grocery store API. Claude can browse products, manage shopping notes, handle checkout, and track orders from Krónan's Snjallverslun (smart store) in Iceland.

Tools

25 tools over the Model Context Protocol:

Category Tools
Products search_products, get_product, get_category_products, list_categories
Checkout get_checkout, add_checkout_lines
Orders list_orders, get_order, delete_order_lines, set_order_substitution, lower_order_quantity
Shopping notes get_shopping_note, add_shopping_note_line, change_shopping_note_line, reorder_shopping_note_lines, delete_shopping_note_line, set_line_completion, clear_shopping_note, check_store_order_eligibility, apply_store_product_order, list_archived_lines, delete_archived_line
Product lists list_product_lists, create_product_list, get_product_list, update_product_list, delete_product_list, clear_product_list, sort_product_list, update_product_list_item
Purchase stats list_purchase_stats, set_purchase_stat_ignored
Account get_me

Install

npm install -g kronan-mcp

Or run directly with npx (no install needed):

npx kronan-mcp

Getting a token

Tokens are created in the Krónan Snjallverslun user settings. You need an account with Audkenni (Iceland's electronic ID) login. Go to your user or customer group settings page and create an access token. Tokens are prefixed with act_.

Usage with Claude Code

Add to your project's .claude/settings.local.json or global ~/.claude/settings.json:

{
  "mcpServers": {
    "kronan": {
      "command": "npx",
      "args": ["kronan-mcp"],
      "env": {
        "KRONAN_ACCESS_TOKEN": "act_your_token_here"
      }
    }
  }
}

Then ask Claude things like:

  • "Search for milk on Krónan"
  • "What's in my shopping note?"
  • "Add 2x of SKU 02500188 to my checkout"
  • "Show my recent orders"

Architecture

src/
├── client.ts   HTTP client wrapping all Krónan API endpoints
├── index.ts    MCP server registering tools via @modelcontextprotocol/sdk
└── types.ts    TypeScript interfaces matching the OpenAPI schema

Auth is Authorization: AccessToken <token> on every request. Rate limit is 200 requests per 200 seconds per user. The client detects 429 responses and tells the caller to wait.

All prices are integers in ISK (no decimals). 230 means 230 kr.

Errors go through a typed KronanApiError with status codes. The token is scrubbed from error messages so it doesn't leak to the LLM. Auth failures and rate limits get their own user-facing messages.

set_order_substitution and set_line_completion use read-then-toggle patterns. They're not idempotent. Don't retry on timeout without checking current state first.

API reference

Full OpenAPI schema at openapi-schema.yaml.

Development

npm install && npm run build   # Build from source
npm run dev                    # Watch mode (recompiles on change)
npm test                       # Run tests
npm run test:watch             # Watch mode tests

Tests

31 tests on the HTTP client: constructor validation, error paths (429, timeouts, JSON parse failures), token scrubbing, toggle method validation, eligibility endpoint edge cases.

npm test

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Kronan MCP

How do I install Kronan MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Kronan MCP safe to use with an AI agent?

Its trust score is 39 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Kronan MCP still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.