Shelfatlas Catalog

io.github.SlambertDK由 GitHub 账号 SlambertDK 发布v1.0.0更新于 Oct 24, 2026

Danish grocery catalog as MCP tools: live offers across all major chains, stores, EAN lookup, stock.

已验证Streamable HTTP可网页运行位置与生活商业与电商

概览

AI 生成的概览

面向丹麦杂货目录的远程 MCP 服务器:各大连锁的在售优惠、门店查询、商品名称与 EAN 检索,以及最低价回答。

可以做什么
  • 列出零售连锁及其 slug
  • 列出门店,可分页或按经纬度就近排序并限定半径
  • 按连锁、商品 id 或 EAN 搜索目录优惠,默认仅返回当前有效优惠
  • 查询某商品当前最便宜的优惠,按价格升序并解析连锁名称
  • 把商品名称解析为 id 与 EAN,或按 EAN 条码查询商品
适用场景
适合让助手回答丹麦杂货价格、促销和门店位置类问题,例如某商品现在哪里最便宜,或附近哪家门店有该优惠。
运行要求
远程 Streamable HTTP 端点;原生支持的客户端无需本地运行时,Claude Desktop 需经 mcp-remote,仅支持 stdio 的客户端可运行 Node.js 20+ 或 Docker 版本。API 密钥通过 Authorization 头以 Bearer 方式发送;列出工具无需密钥,调用工具则需要。
安装前请注意
需要 API 密钥并通过 Authorization 头发送,避免写入共享配置或日志。数据仅覆盖丹麦零售连锁,自助密钥可能只能看到已发布的促销优惠,结果可能不完整。操作以只读查询为主,但查询内容(商品与位置)会发送给该服务。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Shelfatlas Catalog,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.SlambertDK%2Fshelfatlas-catalog/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "shelfatlas-catalog": {
      "type": "http",
      "url": "https://api.shelfatlas.com/api/v1/mcp"
    }
  }
}

README

ShelfAtlas MCP server

[shelfatlas-mcp MCP server – quality and maintenance score on Glama]

Danish grocery catalog and shelf data as MCP tools. Ask "where is Pepsi Max cheapest right now?" and get live, structured answers: current offers across every major Danish chain, nearest-store geo search, product name and EAN lookup, and a purpose-built find_cheapest_offers tool. Community shelf-stock signals are included where approved, with confirmation counts.

Tools

ToolWhat it answers
search_productsResolve a product name to id + EAN before calling other tools
get_product_by_eanLook up a product by EAN-13 barcode
find_cheapest_offers"Where is this product cheapest right now?" — live offers, cheapest first, chain resolved
search_catalog_offersCatalog offers with price and validity window (live-only by default; chain/EAN/product filters)
get_storesPaginated store list, or nearest-first geo search
list_chainsAll retail chains (id, slug, name)

Claude Desktop

Claude Desktop reaches remote servers through mcp-remote:

json
{  "mcpServers": {    "shelfatlas": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://api.shelfatlas.com/api/v1/mcp"],      "env": {        "MCP_REMOTE_HEADER_AUTHORIZATION": "Bearer sa_live_<your-key>"      }    }  }}

Clients with native Streamable HTTP support connect directly to the endpoint with the Authorization header.

Run locally (stdio)

For clients that only speak stdio, this repository is also a small local server that serves the hosted tools over stdio (Node.js 20+):

bash
git clone https://github.com/SlambertDK/shelfatlas-mcp && cd shelfatlas-mcpnpm ciSHELFATLAS_API_KEY=sa_live_<your-key> node index.js

Or with Docker: docker build -t shelfatlas-mcp . and docker run -i --rm -e SHELFATLAS_API_KEY=sa_live_<your-key> shelfatlas-mcp.

Listing the tools works without a key; calling them needs SHELFATLAS_API_KEY. server.json is the manifest for the official MCP registry.

来源:README.md,提交 842fa12

工具

6

list_chains

List all retail chains available in the ShelfAtlas catalog.

无需输入参数。

get_stores

List stores in the ShelfAtlas catalog. Filter by chain slug, or pass lat/lng for a nearest-first geo search (optionally capped by radius_km; geo results are not paginated).

输入参数latlnglimitcursorradius_kmchain_slug

search_catalog_offers

Search catalog offers (promotions and listed products) from Danish retail chains. Returns ONLY currently-valid offers unless include_expired is set. Filter by chain slug, product id, or EAN. Offers carry chainId — resolve names via list_chains. Self-serve keys see published campaign offers (tilbudsaviser, month-campaigns) only — not everyday shelf prices, which are Salling-only and restricted to partner keys.

输入参数eanlimitcursorchain_slugproduct_idinclude_expired

find_cheapest_offers

Answer 'where is this product cheapest right now?' in one call: the currently-valid offers for one product (by EAN or product id), cheapest first, with chain slug and name resolved. Combine with get_stores(lat/lng, chain_slug) to find the nearest store carrying the winning chain's offer. Self-serve keys see published campaign offers only — not everyday shelf prices, which are Salling-only and restricted to partner keys.

输入参数eanlimitproduct_id

get_product_by_ean

Look up a product in the ShelfAtlas catalog by its EAN barcode.

输入参数ean必填

search_products

Resolve a product NAME to its ShelfAtlas id and EAN — use this BEFORE calling find_cheapest_offers or search_catalog_offers when you only have a product name (e.g. from a user question) and not an id or barcode. Matches on the canonical product name, case-insensitive, substring match. Returns id, name, ean (null for self-serve keys — every EAN is Salling-sourced and restricted to partner keys), and size (volumeMl/unitCount/quantityUnit) where known.

输入参数q必填limit

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分