Booli Mcp

io.github.chrischall由 GitHub 帳號 chrischall 發布v2.2.0更新於 Nov 7, 2026

Booli.se real estate for Claude: search listings, sold prices, areas & market stats

已驗證STDIO僅桌面位置與生活資料與分析

概覽

AI 產生的概覽

針對瑞典房產網站 Booli 的唯讀 MCP 伺服器:搜尋待售與已售物件、解析區域,並計算市場統計。

可以做什麼
  • 把地名解析為 Booli 區域 ID(市鎮、街區、街道)
  • 依區域或自由文字搜尋待售物件,可依價格、房間數、居住面積、土地、物件類型與建造年份篩選
  • 依物件 ID 取得單一房產的完整詳情,待售與已售皆可
  • 搜尋已售物件(slutpriser),回傳成交價與高於或低於開價的百分比,可依成交價、成交日期、房間數、面積與類型篩選
  • 計算某區域的成交價彙總統計:中位數與平均成交價、每平方公尺價格、平均高於或低於開價比例
  • 執行健康檢查,回報本次探測走的資料通道以及瀏覽器橋接的狀態
適用情境
適合讓助理調研瑞典房市:將開價與已售可比物件對照、為房產估價,或彙整某個市鎮、街區的價格走勢。僅針對 Booli.se 資料,金額為瑞典克朗,面積為平方公尺。
執行需求
透過 npx 從 npm 套件 @chrischall/booli-mcp 在本機執行(需要 Node.js)。Booli 會阻擋伺服器端用戶端,因此預設路徑需要:在 Chrome 安裝 ContextMint Bridge 瀏覽器擴充功能、保持一個已登入的 www.booli.se 分頁開啟,並完成一次配對授權。不需要 Booli 帳號登入。選用環境變數:BOOLI_TRANSPORT、BOOLI_WS_PORT、FETCHPROXY_IDENTITY_DIR、FETCHPROXY_WS_HOST。
安裝前請注意
查詢會經由你自己已登入的 booli.se 瀏覽器分頁轉送,重複使用你已通過 Cloudflare 驗證的工作階段,因此流量會經過該瀏覽器擴充功能;README 建議以隨版本發布的校驗碼核對擴充功能壓縮檔。橋接會在磁碟上保存長期身分金鑰對(FETCHPROXY_IDENTITY_DIR)。README 說明此伺服器由 AI 開發,請自行斟酌使用並遵守 booli.se 的使用條款。所有工具皆為唯讀。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Booli Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

booli-mcp

An MCP server for Booli, the Swedish property portal — search active for-sale listings, sold prices (slutpriser), resolve areas, and compute market statistics, all from Claude.

Developed and maintained by AI (Claude Code). Use at your own discretion and within booli.se's terms of use.

How it works

Booli fronts www.booli.se — including its GraphQL API — with a Cloudflare bot wall that blocks server-side clients. booli-mcp therefore reads Booli's consumer GraphQL API by routing each query through your own signed-in www.booli.se browser tab via the fetchproxy bridge (the ContextMint Bridge browser extension), reusing your Cloudflare-cleared session. No Booli login is required — just a normal page view. All tools are read-only.

BOOLI_TRANSPORT selects the path: auto (default — direct fetch first, browser-bridge fallback when walled), fetchproxy (always the bridge), or direct. The fetchproxy fleet shares WS port 37149 (BOOLI_WS_PORT).

Setup

  1. Install ContextMint Bridge from its releases page — Chrome: download the chrome zip, unzip it, and load it unpacked at chrome://extensions (Developer mode). Safari isn't available yet (it will ship inside the ContextMint app, which has no public download), so use Chrome for now. Keep a www.booli.se tab open.

    ContextMint Bridge is the fetchproxy browser extension under its new name, from the same maintainer — fetchproxy's own README points to it. Its source is public at nullnet-app/contextmint-bridge: build it yourself, or check a release zip against the .sha256 file published beside it (shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256).

  2. On the first request, approve the one-time pairing prompt in ContextMint Bridge.

  3. Run booli_healthcheck to confirm the path is working. Its transport field says which leg served the probe (direct or fetchproxy) and, once the bridge exists, bridge.session_state says whether the extension is linked, pair_pending (approve the pair code it names), or extension_disconnected.

Install

jsonc
// mcp config{  "mcpServers": {    "booli": {      "command": "npx",      "args": ["-y", "@chrischall/booli-mcp"]    }  }}

Tools

ToolWhat it does
booli_search_areasResolve a place name to Booli area ids
booli_search_listingsSearch active for-sale listings by area + filters
booli_get_listingFull detail for one property (active or sold) by residence id
booli_search_soldSearch sold listings (slutpriser) with final prices
booli_market_statsMedian/average sold-price statistics for an area
booli_healthcheckProbe the data path and report transport (direct / fetchproxy, the BOOLI_TRANSPORT mode) and, once the bridge is up, bridge (role, port, extension link session_state, pending pair code) with a next-step hint

Searches scope by area_id (from booli_search_areas) or a free-text location. Money is SEK, areas m². See docs/BOOLI-API.md for the underlying GraphQL API.

Development

npm installnpm test          # vitest, no networknpm run build     # tsc + esbuild bundle

License

MIT

來源:README.md,提交 e7ea253

工具

6

booli_search_areas

Resolve a Booli area

Resolve a place name to Booli areas — municipalities, districts, streets — each with its `area_id` to pass as `area_id` into booli_search_listings / booli_search_sold. Read-only.

輸入參數limitquery必填

booli_search_listings

Search Booli for-sale listings

Search active for-sale property listings on booli.se. Scope by `area_id` (from booli_search_areas) or a free-text `location`, and filter by price, rooms, living area, plot, object type, construction year. Paginated by `page`; check `total_count`/`pages`. Read-only.

輸入參數pagesortviewarea_idlocationascendingmax_roomsmin_roomsobject_typemax_plot_areamin_plot_areamax_list_price另有 8 個

booli_get_listing

Get a Booli property

Full detail for one property by its Booli residence id — the number in a booli.se/bostad/<id> URL, or the `residence_id` from a search result. Works for both active and sold properties. Read-only.

輸入參數viewresidence_id必填

booli_search_sold

Search Booli sold listings (slutpriser)

Search sold properties (slutpriser) on booli.se with the achieved final price and over/under-asking % — the comparables for valuation. Scope by `area_id` or free-text `location`, filter by sold price, sold date, rooms, area, object type. Paginated by `page`. Read-only.

輸入參數pagesortviewarea_idlocationascendingmax_roomsmin_roomsobject_typemax_plot_areamax_sold_datemin_plot_area另有 10 個

booli_market_stats

Booli sold-price market statistics

Aggregate sold-price statistics (median/average final price, price per m², average over/under-asking %) for an area on booli.se. Takes the same scope and filters as booli_search_sold, computed over ONE page of sold results (most recent first by default) — `page`/`pages` say which, and `total_count` is the whole matching set, not the sample. `sample_size` is the rows on the page; `sold_price_count` / `price_per_sqm_count` / `price_change_count` are the rows that fed each metric. Check them before trusting a thin median. Read-only.

輸入參數pagesortviewarea_idlocationascendingmax_roomsmin_roomsobject_typemax_plot_areamax_sold_datemin_plot_area另有 10 個

booli_healthcheck

Verify the ContextMint Bridge connection end-to-end

Round-trips a small public www.booli.se URL (/graphql) through ContextMint Bridge (your signed-in browser tab) and returns diagnostics: the bridge's role (host/peer/null), port, version, the extension link (linked / pair pending / not attached / never answered), the elapsed round-trip time, and a plain-English hint distinguishing 'bridge never came up' from 'extension not connected' from 'this browser can't serve a capability' from 'real www.booli.se-side problem'. Read-only, no auth required. Call this when a real tool fails and you want to know which hop broke.

無需輸入參數。

版本歷史

15
  1. v2.2.0最新Nov 4, 2026
  2. v2.1.11Oct 20, 2026
  3. v2.1.10Oct 17, 2026
  4. v2.1.9Oct 16, 2026
  5. v2.1.8Oct 10, 2026
  6. v2.1.7Oct 7, 2026
  7. v2.1.6Oct 5, 2026
  8. v2.1.5Oct 3, 2026
  9. v2.1.4Sep 28, 2026
  10. v2.1.3Sep 23, 2026
  11. v2.1.2Sep 23, 2026
  12. v2.1.1Sep 21, 2026
  13. v2.1.0Sep 20, 2026
  14. v2.0.0Sep 17, 2026
  15. v1.3.3Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分