360 Secure SkillHub
360 安全技能中心

booli

围绕 Booli 提供只读工具:区域解析、在售房源搜索与详情、成交价(slutpriser)与价格涨跌幅度、区域市场统计、连通性诊断。请求经用户已登录的 Booli 浏览器标签页转发以应对机器人墙,需保持页面打开;全部工具只读,暂不支持 Safari。

chrischall
chrischall
热度 70.58
最近更新 2026-10-18 00:15:09
分类:搜索依赖:联网浏览搜索 / 第三方 API / MCP 服务应用场景:研究 / 市场分析 / 推荐

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add booli
Metadata
name
booli
description
Search and analyse Swedish real estate on booli.se — active for-sale listings, sold prices (slutpriser), area resolution, and market statistics. Use when the user asks about Swedish property, Booli, bostäder, lägenheter, villor, or slutpriser.

Booli (booli.se)

Tools for the Swedish property portal Booli, reading its consumer GraphQL API. Money is in SEK, areas in m², rooms as a number.

Setup — the browser bridge

booli.se is behind a Cloudflare bot wall that blocks server-side requests, so booli-mcp routes each query through your own signed-in www.booli.se browser tab via the fetchproxy bridge (the ContextMint Bridge extension). No Booli login is needed — just a normal, Cloudflare-cleared page view.

  • Install ContextMint Bridge from https://github.com/nullnet-app/contextmint-bridge/releases (Chrome: load the chrome zip unpacked; Safari isn't available yet — use Chrome for now) and keep a www.booli.se tab open in that browser. On the first request, approve the one-time pairing prompt. It's the fetchproxy extension renamed, same maintainer; source at https://github.com/nullnet-app/contextmint-bridge (build it, or verify a release zip with its published .sha256).
  • BOOLI_TRANSPORT picks the path: auto (default — tries a direct fetch first, falls back to the bridge when walled), fetchproxy (always the bridge), direct (fail if walled). The fleet shares WS port 37149 (BOOLI_WS_PORT).
  • Run booli_healthcheck to confirm the path is working.

Start with an area

Booli's searches scope by a numeric area id, not a place name. Resolve first, or pass a free-text location and the search tools resolve the top hit for you.

  1. booli_search_areas — { query: "Nacka" } → areas with area_id and display_name. Pass an area_id into the search tools.

For-sale listings

  • booli_search_listings — search active listings by area_id or free-text location, plus optional min_list_price/max_list_price (SEK), min_list_sqm_price/max_list_sqm_price, min_rooms/max_rooms, min_living_area/max_living_area (m²), min_plot_area/max_plot_area, object_type (comma-separated: Lägenhet, Villa, Kedjehus-Parhus-Radhus, Fritidshus, Gård, Tomt/Mark), min_construction_year/max_construction_year, is_new_construction, sort + ascending. Paginated by page — check total_count/pages. Returns slim summaries by default (compact: false for full raw records).
  • booli_get_listing — full detail for one property by its residence id (the number in a booli.se/bostad/ URL, or a result's residence_id). Works for both active and sold properties.

Sold prices (slutpriser) — the comparables

  • booli_search_sold — sold properties with the achieved sold price, sold date, and over/under-asking %. Same scope/filters as the for-sale search, plus min_sold_price/max_sold_price, min_sold_sqm_price/max_sold_sqm_price, and min_sold_date/max_sold_date (YYYYMMDD). sort also accepts soldDate/soldPrice; the default is soldDate descending (most recent sales first), as for booli_market_stats.
  • booli_market_stats — median/average sold price, price per m², and average over/under-asking % for an area (same filters as the sold search, over ONE page — page/pages say which; total_count is the whole matching set, not the sample). sample_size is the rows on the page and sold_price_count/price_per_sqm_count/price_change_count the rows behind each metric — check them before trusting a thin median.

Diagnostics

  • booli_healthcheck — one-call probe of the data path (direct or bridge).

All tools are read-only.