关于 kronan-mcp
kronan-mcp 是用于访问冰岛 Krónan 杂货店 API 的 MCP 服务。客户端可搜索商品,并管理购物便笺、结账、订单、商品清单和购买统计。
主要功能
- 01搜索商品与类别
- 02管理购物便笺
- 03处理结账与订单
- 04管理商品清单
- 05查询购买统计与账户
适用场景
- 01查找 Krónan 商品
- 02购物前更新购物便笺
- 03添加结账商品并查看订单
MCP 相关
它通过 MCP 暴露 25 个工具,用于查询 Krónan 商品数据和管理购物操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。