Token导航 LogoToken导航TokenDH.com
Matpriskollen MCP logo
运维云端未说明官方级别未说明来源级核验

Matpriskollen MCP

MCP Server

一个提供超市特价商品信息的MCP服务器,支持AI代理获取当前优惠并根据可用优惠推荐食谱。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
JavaScriptClaude云端部署Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kyngvesson

提供方

kyngvesson

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP服务器

提供杂货店特价的模型上下文协议(MCP)服务器 看看食品价格。该服务器使AI代理能够访问当前交易,并根据可用报价建议食谱。

特性

  • 🏪 店铺管理:在中配置多个杂货店 config.json
  • 🔍 报价报废:使用智能缓存从matpriskollen.se获取特别优惠(1小时TTL)
  • 📊 类别式组织:自动对报价进行分类(蛋白质、蔬菜、乳制品等)
  • 🎯 灵活过滤:按商店名称、ID或类别筛选优惠
  • 高效缓存:通过智能缓存管理最大限度地减少网络抓取

安装

  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

配置

编辑 config.json 添加或删除商店。每个商店需要三个字段:

[
  {
    "name": "Lidl Fruängen",
    "storeId": "711",
    "butikId": "e22591ff-9138-4bf1-ba2e-6bffe8b2ba29"
  },
  {
    "name": "Hemköp Fruängen",
    "storeId": "3426",
    "butikId": "77626d44-4104-4c9b-8936-c99a0258146e"
  }
]
  • name:你对这家店的亲切称呼
  • storeId:cookie中使用的ID(例如“711”)
  • butikId:UUID用于标识页面上的优惠

查找商店ID

  1. 访问 看看食品价格。
  2. 选择您想要的商店
  3. 对于storeId:检查 _SelectedStores 浏览器开发工具中的cookie

- Cookie格式: "%2C711%2C3426%2C3902" - 提取数字ID(例如。, 711, 3426, 3902)

  1. 对于butikId:查看页面源代码并搜索 butikId= 在“添加到购物车”链接中

- 格式: ?butikId=e22591ff-9138-4bf1-ba2e-6bffe8b2ba29 - 提取UUID

使用Claude Desktop

将此添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "matpriskollen": {
      "command": "node",
      "args": ["/absolute/path/to/matpriskollen-mcp/dist/index.js"]
    }
  }
}

替换 /absolute/path/to/matpriskollen-mcp 与这个项目的实际路径。

MCP工具

get_offers

从已配置的商店获取当前特价。

参数:

  • storeNames (可选):要筛选的商店名称数组(例如,\[“Lidl”,“ICA”\])
  • storeIds (可选):从cookie中筛选的商店ID数组(例如,\[“711”,“808”\])
  • categories (可选):要筛选的类别名称数组

退货: 包含产品名称(包括数量)、价格、商店名称和类别的优惠列表。

例子:

// Get all offers
get_offers()

// Get offers from specific store by ID
get_offers({ storeIds: ["711"] })

// Get offers from Lidl stores
get_offers({ storeNames: ["Lidl"] })

// Get protein offers
get_offers({ categories: ["Kött"] })

// Combine filters
get_offers({ storeIds: ["711", "808"], categories: ["Grönsaker", "Frukt & bär"] })

list_stores

返回所有已配置的存储及其名称和ID。

例子:

list_stores()

get_categories

返回网站上所有可用的优惠类别。

例子:

get_categories()

发展

查看哪些商店有优惠:

npm run check-stores

开发观察模式:

npm run dev

生产建设:

npm run build

启动服务器:

npm start

MCP检验员测试:

npm run inspector

这将打开一个web界面,您可以在其中交互式地测试MCP工具。

运作原理

  1. 存储配置:门店定义见 config.json 带有name、storeId(用于cookie)和butikId(用于匹配)
  2. Web剪贴:服务器使用以下命令抓取matpriskollen.se _SelectedStores 带有storeId的cookie
  3. 类别发现:从主页获取所有可用类别
  4. 提供提取:从所有类别页面(目前有23个类别)中删除优惠
  5. butikId匹配:每个报价都包含一个butikId,与配置匹配以获得友好的商店名称
  6. HTML解析:从报价表中提取产品名称、价格、数量和ButikId
  7. 缓存:结果将缓存1小时,以尽量减少请求
  8. 过滤:优惠可以按商店ID(cookie ID)、商店名称或类别进行筛选
  9. MCP工具:公开了AI代理可以调用以访问数据的三个工具

食谱建议

MCP服务器提供数据;你的AI代理处理食谱建议。服务器:

  • 从所有已配置的商店获取优惠
  • 包括连锁店名称,以区分同一地点的商店(例如,“Lidl Fruängen”与“Coop Fruärgen”)
  • 涵盖所有可用类别,包括蔬菜、肉类、乳制品、零食等
  • 提供当前销售价格和数量信息
  • 按类别提供的组,便于扫描

您的AI代理可以使用此数据:

  • 根据出售的可用配料推荐食谱
  • 按特定商店或连锁店筛选优惠
  • 优化以实现最大节省
  • 关注健康选择(蔬菜、蛋白质)
  • 考虑饮食限制

技术细节

  • 语言:TypeScript
  • MCP-SDK: @modelcontextprotocol/sdk
  • 依赖项:最小(仅MCP SDK+TypeScript)
  • Web剪贴:原生Node.js fetch API
  • 缓存TTL:1小时(360万毫秒)
  • 运输:stdio(标准输入/输出)

备注

⚠️ HTML解析:scraper使用基于正则表达式的HTML解析。如果matpriskollen.se更改了其HTML结构 src/scraper.ts 可能需要更新。

⚠️ 缓存行为:如果抓取失败,服务器将返回过时的缓存数据(如果可用)。检查缓存状态的日志。

⚠️ butikId要求:每个商店都必须有一个有效的 butikId 与matpriskollen.se上使用的UUID匹配。配置中没有匹配butikId的优惠将被过滤掉。使用 npm run check-stores 核实所有商店都有优惠。

许可证

麻省理工学院

目录标签

目录标签

JavaScriptClaude云端部署食品价格监控本地部署超市优惠AI食谱推荐网络爬虫数据缓存

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP