io.github.chrischall/booli-mcp

Registre officiel Recherche et web

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

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package @chrischall/booli-mcp
Claude Code
claude mcp add booli-mcp -e 'BOOLI_TRANSPORT=<BOOLI_TRANSPORT>' -e 'BOOLI_WS_PORT=<BOOLI_WS_PORT>' -e 'FETCHPROXY_WS_HOST=<FETCHPROXY_WS_HOST>' -e 'FETCHPROXY_IDENTITY_DIR=<FETCHPROXY_IDENTITY_DIR>' -- npx -y @chrischall/booli-mcp@2.1.11
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "booli-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@chrischall/booli-mcp@2.1.11"
            ],
            "env": {
                "BOOLI_TRANSPORT": "<BOOLI_TRANSPORT>",
                "BOOLI_WS_PORT": "<BOOLI_WS_PORT>",
                "FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
                "FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
            }
        }
    }
}

Variables d'environnement

  • BOOLI_TRANSPORT Selects the path: auto (default — direct fetch first, browser-bridge fallback when walled), fetchproxy (always the bridge), or direct.
  • BOOLI_WS_PORT Override the fetchproxy WebSocket port (the fleet shares 37149).
  • FETCHPROXY_WS_HOST Bridge bind interface, a literal IP only (default 127.0.0.1). Keep on loopback; exists for a hosted child in its own network namespace.
  • FETCHPROXY_IDENTITY_DIR Absolute path for the long-term bridge identity keypair (default ~/.fetchproxy/identity/). Exists for a host that runs a separate child per caller.

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. booli-mcp
  2. How it works
  3. Setup
  4. Install
  5. Tools
  6. Development
  7. License

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

// 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 install
npm test          # vitest, no network
npm run build     # tsc + esbuild bundle

License

MIT

Questions fréquentes

Qu'est-ce que io.github.chrischall/booli-mcp ?

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

Comment installer io.github.chrischall/booli-mcp ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add booli-mcp -e 'BOOLI_TRANSPORT=<BOOLI_TRANSPORT>' -e 'BOOLI_WS_PORT=<BOOLI_WS_PORT>' -e 'FETCHPROXY_WS_HOST=<FETCHPROXY_WS_HOST>' -e 'FETCHPROXY_IDENTITY_DIR=<FETCHPROXY_IDENTITY_DIR>' -- npx -y @chrischall/booli-mcp@2.1.11. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.chrischall/booli-mcp ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

io.github.chrischall/booli-mcp est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.chrischall/booli-mcp ?

Il est publié par chrischall. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.