Blocket MCP

io.github.idoo由 GitHub 账号 idoo 发布v2.1.0更新于 Nov 7, 2026

Read-only MCP server for Blocket.se: search ads, read one in full, check asking prices.

概览

AI 生成的概览

只读的 MCP 服务器,让助手搜索 Blocket.se 分类广告、查看单条广告详情,并判断要价是否合理。

可以做什么
  • 在 13 个板块(综合市场及汽车、船只、摩托、房车等)中搜索广告,支持自然语言筛选、半径、可邮寄、赠送、求购、排除与必含词以及优惠标签
  • 完整读取一条或多条广告:描述、规格、配置、照片、卖家、收藏数、诈骗迹象提示,并做并排对比
  • 以真实图片形式获取最多八张广告照片,供视觉模型自行判断成色
  • 将要价与同类在售广告对比,给出 p10 至 p90 区间及该广告所处位置
  • 列出某板块的筛选条件与取值及实时数量
适用场景
适合让助手替你浏览瑞典二手与车辆市场:按宽松条件找房源、过滤配件和求购帖、查看照片判断成色,或在联系卖家前评估价格是否合理。
运行要求
可通过 stdio 在本机运行,无需令牌或托管:Claude Desktop 安装包、Docker 镜像,或用 Node 20 及以上自行构建。若供 ChatGPT 或 claude.ai 使用,需部署到公网 HTTPS 端点(Cloudflare Workers 或 Firebase),并用 MCP_PATH_TOKEN 设置秘密路径令牌。需要能访问 blocket.se 的网络。
安装前请注意
仅只读:无法登录、联系卖家或发布广告。托管部署依赖 URL 中的秘密路径令牌,拿到链接的人都能使用该端点;Firebase 需要付费 Blaze 套餐并绑定银行卡,且没有限流。它依赖 Blocket 的非官方接口,可能随时失效,且与 Blocket 官方无关。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Blocket MCP

I got tired of scrolling Blocket, so now ChatGPT does it.

It can't log in, message sellers or post anything. It reads public ads and that's it.

[License: MIT] [MCP]

Tools

search knows all 13 sections: Torget plus cars, boats, motorcycles, caravans, motorhomes, trucks, tractors, combines, snowmobiles, ATVs, mopeds and buses. You write filters like a person would, Volvo V70, Segelbåt, Stockholm, and the server works out Blocket's ids. Typo in a make? It comes back under unmatched with suggestions and the model fixes it on the next call. Without that you'd quietly get every car in Sweden. There's radius search with distances, giveaways and wanted ads, items that ship, "what's new since this morning", one seller's whole stock, and value counts when you want a quick read on the market. Each search also returns its blocket.se URL. Save it in the Blocket app and you'll get pushes when new ads turn up.

Blocket's own search throws in a lot of junk. Looking for an iPhone 13? Pass exclude with skal, laddare and köpes, and the cases, chargers and wanted ads are gone. There's require too, and a titles-only switch. When that leaves a page half empty the server keeps reading, but stops at 200 ads. The usual Blocket operators still do their thing: -word, OR, "exact phrase", word*. Turn on deals and each result gets a label against the median price of the same search, from great to high. Titles with "defekt", "reservdelar", "startar inte" and the like get flagged either way.

get_ad takes up to five ad ids or links. Description, specs, equipment, every photo, whether it's still for sale, who's selling and how many people saved it. It points out the usual scam signs too: pay outside Blocket, "write me on WhatsApp", a foreign number. Cars and boats get horsepower, EVs their range and battery size, and dealer cars the price without VAT when the dealer shows it. Dealers with a Google rating get that as well. Cars from dealers come with links to their history. Give it several ads and you get a comparison.

get_ad_photos sends up to 8 photos of an ad as real images, so a model that can see judges the condition itself. Rust, cracks and missing parts show up there sooner than in the description.

price_check is for "is this price fair?". It finds comparable live ads by make, model, year, mileage or boat length and gives you p10 to p90 plus where your ad lands. With fewer than 8 comparables it loosens the match and says what it dropped. The numbers are asking prices, since Blocket doesn't show what anything sold for.

list_filters lists a section's filters and values with live counts.

On your own computer

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

Claude Desktop users grab blocket-mcp-<version>.mcpb from Releases and double-click it. That's the whole install.

Other clients can start it with Docker. In Claude Code that looks like this:

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

Cursor and Codex take the same command and args in their MCP config. If you'd rather skip Docker, build it yourself with Node 20 or newer:

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

Hosted, for ChatGPT and claude.ai

ChatGPT and claude.ai can't reach your laptop, so the server needs a public HTTPS address. I run mine on Cloudflare. Firebase works too.

There's no login. ChatGPT's custom connectors offer OAuth or nothing, and OAuth felt like overkill for public ads, so the endpoint hides behind a secret path, /mcp/<token>. Any other path gets a 404. Make up a long random token:

sh
openssl rand -hex 24

Cloudflare Workers

The free plan does fine here.

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

Wrangler prints a workers.dev URL at the end. Stick /mcp/<token> on it. There's a limit of 120 calls a minute in wrangler.jsonc.

Local dev: MCP_PATH_TOKEN=dev in .dev.vars, npm run dev, then http://localhost:8787/mcp/dev.

Firebase

Cloud Functions need the Blaze plan, which means a card on file. A single person's traffic won't leave the free tier.

sh
git clone https://github.com/idoo/blocket-mcp && cd blocket-mcpnpm ci && npm --prefix functions cifirebase loginfirebase use --add                              # pick your projectfirebase functions:secrets:set MCP_PATH_TOKEN   # paste the tokenfirebase deploy --only functions

The endpoint is https://europe-north1-<project-id>.cloudfunctions.net/mcp/<token>. There's no rate limiter on Firebase. The function stops at 3 instances, which keeps the bill small if someone finds your URL. Want another region or more room? Top of functions/src/index.ts.

To test without deploying, drop MCP_PATH_TOKEN=dev into functions/.secret.local and start firebase emulators:start --only functions. The URL is http://127.0.0.1:5001/<project-id>/europe-north1/mcp/dev.

Connect

ChatGPT on the web: Plugins, Add, "Add custom MCP server". Paste the endpoint, no authentication, done. Then @Blocket in any chat. It won't nag for permission on every call because all tools are marked read-only.

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

Claude Code and Codex:

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

How it works

Blocket has no public API. The server calls the JSON endpoints that blocket.se's own pages load, usually one request per tool call and a few for comparisons and price checks. Filter names are matched against Blocket's live filter lists, so a make that showed up last week already works. If Blocket changes those endpoints, this breaks until someone patches it. PRs welcome.

The endpoint notes in dunderrrrrr/blocket_api got me started. Not affiliated with Blocket AB.

License

MIT

来源:README.md,提交 dc353f2

工具

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

版本历史

1
  1. v2.1.0最新Nov 7, 2026

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

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

  • 已声明认证方式10 分

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

  • 已列出工具15 分

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

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