Billigast

io.github.idoo由 GitHub 账号 idoo 发布v1.0.0更新于 Nov 8, 2026

Read-only MCP server: find the cheapest store for a product across Prisjakt and PriceRunner.

概览

AI 生成的概览

只读 MCP 服务器:同时查询 Prisjakt 与 PriceRunner,合并商品列表,帮你找到最便宜的商店。

可以做什么
  • 在两个比价网站同时搜索同一商品,合并为一条结果,并显示各自最低价、商店数量及哪边更便宜
  • 按搜索结果键、网站链接或商品名称,列出某商品在各商店的价格,从低到高排序
  • 给出最便宜的全新、有货以及二手或翻新报价,售罄条目排在最后
  • 附带 Prisjakt 价格历史,并用一句话说明当前价格相对 90 天低点的位置
适用场景
适合想了解某商品在瑞典各零售商的价格、判断现在是否值得入手时使用,无需自己打开两个比价网站。偏向购物调研与比价,不涉及下单购买。
运行要求
以 stdio 在本地运行:可用 Claude Desktop 扩展包、Docker 镜像,或用 Node 20 以上从源码构建。本地使用无需账号、令牌或 API 密钥。若要托管给 ChatGPT 或 claude.ai 使用,需部署到 Cloudflare Worker,并设置 MCP_PATH_TOKEN 作为路径令牌。
安装前请注意
只读且不存储数据,但依赖两个网站的非公开 JSON 接口而非公开 API,网站改动时对应部分可能失效。返回的商店链接为网站自有链接,购买仍会计入其分成。托管版本仅靠秘密路径令牌保护,拿到链接的人即可使用。

安装

在 SourceWeft 中

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

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Billigast

Prisjakt and PriceRunner rarely agree, so I made one MCP server that asks both.

This morning I checked AirPods Pro 2. Prisjakt's lowest was 2 755 kr. PriceRunner had OnBuy at 2 530 kr, and Refurbed had a refurbished pair for 1 765 kr. Prisjakt's history also showed them at 1 670 kr in the middle of October, so I'm waiting. Same store, different numbers: CDON listed a Dyson V15 at 8 763 kr on Prisjakt and 8 122 kr on PriceRunner at the same moment.

It's read-only. No accounts, no alerts, nothing stored.

[License: MIT] [MCP]

Tools

search looks up a product on both sites at once and folds the two listings into one result when they're the same thing. That part is stricter than you'd think. An iPhone 16 128 GB never gets merged with the 256 GB one, Pro stays apart from Pro Max, and AirPods with Lightning aren't the USB-C pair. PriceRunner splits colours into separate products, Prisjakt mostly doesn't, so a colour only has to match when both name one. When the server isn't sure, it keeps two results rather than guessing. Each result shows both sites' lowest price and store count, and which one is cheaper.

compare gives every store's price for one product, from both sites, cheapest first. Hand it a key from search, a Prisjakt or PriceRunner link, or just a name like "playstation 5 slim". With a link from one site it finds the same product on the other by itself. A store listed on both becomes one row with both prices. Sold-out rows go to the bottom and never count as the cheapest, because they often carry an old price. You get the cheapest new offer, the cheapest that's in stock, and the cheapest used or refurbished one even when you only asked for new. Prisjakt's price history comes along with a plain sentence on where today's price sits, like "8 990 kr today is 16% above the 90-day low of 7 749 kr on 2026-08-20."

In ChatGPT both tools also show a small card view, and tapping a product opens its store list.

On your own computer

Claude Desktop, Claude Code, Cursor and Codex can run the server locally over stdio. No token, no hosting.

For Claude Desktop, download billigast-mcp-<version>.mcpb from Releases and double-click it.

Other clients can start it with Docker. In Claude Code:

sh
claude mcp add billigast -- docker run -i --rm ghcr.io/idoo/billigast-mcp

Cursor and Codex take the same command and args in their MCP config. Without Docker, build it with Node 20 or newer:

sh
npm ci && npm run build:stdionode dist/billigast-mcp.js

Hosted, for ChatGPT and claude.ai

ChatGPT and claude.ai can't reach your laptop, so they need a public HTTPS address. I run mine as a Cloudflare Worker, and the free plan is plenty.

ChatGPT's custom connectors offer OAuth or no auth at all. For public prices OAuth seemed like too much, so the endpoint sits behind a secret path, /mcp/<token>, and everything else gets a 404. Make up a long random token:

sh
openssl rand -hex 24

Then deploy:

sh
git clone https://github.com/idoo/billigast-mcp && cd billigast-mcpnpm cinpx wrangler loginnpx wrangler deploynpx wrangler secret put MCP_PATH_TOKEN    # paste the token

Wrangler prints a workers.dev URL. Add /mcp/<token> to it. wrangler.jsonc caps it at 120 calls a minute.

For local dev put MCP_PATH_TOKEN=dev in .dev.vars, run npm run dev and use http://localhost:8787/mcp/dev.

Connect

ChatGPT on the web: Plugins, Add, "Add custom MCP server". Paste the endpoint, pick no authentication. After that, @Billigast in any chat. Both tools are marked read-only, so ChatGPT doesn't ask before each call.

claude.ai: Settings → Connectors → Add custom connector.

Claude Code and Codex:

sh
claude mcp add --transport http billigast https://…/mcp/<token>codex mcp add billigast --url https://…/mcp/<token>

How it works

Neither site has a public API. The server calls the same JSON endpoints their own pages use, a handful of requests per tool call, only when you ask. It doesn't touch the paths their robots.txt rules out: no HTML search pages, no shop redirects, and no PriceRunner price history. The store links you get are the sites' own, so they still get credit when you buy. If either site changes its endpoints, that half stops working until someone fixes it, and the other half keeps answering. PRs welcome.

Not affiliated with Prisjakt or PriceRunner.

License

MIT

来源:README.md,提交 6ccc0bf

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.0最新Nov 8, 2026

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分