mcpField
K
kronan-mcp

kronan-mcp

本地服务
github.com/sandsower商业与营销163 周前更新

关于 kronan-mcp

kronan-mcp 是用于访问冰岛 Krónan 杂货店 API 的 MCP 服务。客户端可搜索商品,并管理购物便笺、结账、订单、商品清单和购买统计。

主要功能

  1. 01搜索商品与类别
  2. 02管理购物便笺
  3. 03处理结账与订单
  4. 04管理商品清单
  5. 05查询购买统计与账户

适用场景

  1. 01查找 Krónan 商品
  2. 02购物前更新购物便笺
  3. 03添加结账商品并查看订单

MCP 相关

它通过 MCP 暴露 25 个工具,用于查询 Krónan 商品数据和管理购物操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sandsower-kronan": {
"command": "npx",
"args": [
"-y",
"kronan-mcp"
],
"env": {
"KRONAN_ACCESS_TOKEN": "<KRONAN_ACCESS_TOKEN>"
}
}
}
}
启动命令npx -y kronan-mcp
需要配置的环境变量
KRONAN_ACCESS_TOKEN密钥Krónan API access token (act_ prefix). Created via Audkenni login in customer group settings.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmkronan-mcp1.0.1

工具

33

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

kronan-mcp

Krónan https://kronan.is 杂货店 API 的 MCP 服务。Claude 可以浏览商品、管理购物清单、处理结账,并跟踪来自冰岛 Krónan Snjallverslun(智慧商店)的订单。

工具

通过模型上下文协议提供 25 个工具:

类别工具
商品search_products、get_product、get_category_products、list_categories
结账get_checkout、add_checkout_lines
订单list_orders、get_order、delete_order_lines、set_order_substitution、lower_order_quantity
购物清单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
商品列表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
购买统计list_purchase_stats、set_purchase_stat_ignored
账户get_me

安装

npm install -g kronan-mcp

或者直接使用 npx 运行(无需安装):

npx kronan-mcp
获取令牌

令牌可在 Krónan Snjallverslun 用户设置中创建。你需要拥有一个可通过 Audkenni(冰岛电子身份认证)登录的账户。前往你的用户或客户群组设置页面,创建访问令牌。令牌以 act_ 开头。

与 Claude Code 搭配使用

将以下内容添加到项目的 .claude/settings.local.json 或全局 ~/.claude/settings.json:

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

然后可以向 Claude 提出如下请求:

  • “在 Krónan 搜索牛奶”
  • “我的购物清单里有什么?”
  • “将 SKU 02500188 的商品添加 2 件到我的结账单”
  • “显示我最近的订单”

架构

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

每个请求都会通过 Authorization: AccessToken <token> 进行身份验证。每位用户每 200 秒的速率限制为 200 个请求。客户端会检测 429 响应,并提示调用方等待。

所有价格均为 ISK 整数(不含小数)。230 表示 230 kr。

错误会通过带类型的 KronanApiError 处理,并包含状态码。令牌会从错误消息中清除,以免泄露给大模型。身份验证失败和速率限制会显示各自的用户提示信息。

set_order_substitution 和 set_line_completion 使用先读取再切换的模式。它们不是幂等操作。发生超时后,请先检查当前状态,再决定是否重试。

API 参考

完整的 OpenAPI 架构见 openapi-schema.yaml。

开发

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

测试

HTTP 客户端包含 31 项测试:构造函数验证、错误路径(429、超时、JSON 解析失败)、令牌清除、切换方法验证、资格检查端点的边缘情况。

npm test

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。