内容
# 布利 MCP 服务器
布利(Booli)是瑞典的一个房产门户网站 — 搜索活跃的待售清单、成交价格(slutpriser)、解析地区、计算市场统计数据,所有这些都来自 Claude。
> 由 AI(Claude 代码)开发和维护。请自行判断是否使用,并遵守 booli.se 的使用条款。
## 工作原理
布利网站 www.booli.se 及其 GraphQL API 都被 Cloudflare 机器人墙所保护,阻止服务器端客户端。因此,booli-mcp 通过 **您自己的已登录的 www.booli.se 浏览器标签页** 读取布利的消费者 GraphQL API,使用 fetchproxy 桥(Transporter 扩展)路由每个查询,重用您已通过 Cloudflare 验证的会话。不需要登录布利 — 只需要一个普通的页面视图。所有工具都是只读的。
`BOOLI_TRANSPORT` 选择路径:`auto`(默认 — 直接获取优先,墙内使用浏览器桥作为备用),`fetchproxy`(始终使用浏览器桥),或 `direct`。fetchproxy 集群共享 WS 端口 `37149`(`BOOLI_WS_PORT`)。
## 设置
1. 安装 Transporter(fetchproxy)浏览器扩展,并保持一个 **www.booli.se** 标签页打开。
2. 在第一次请求时,批准 Transporter 的一次性配对提示。
3. 运行 `booli_healthcheck` 以确认路径是否正常工作。
## 安装
```jsonc
// MCP 配置
{
"mcpServers": {
"booli": {
"command": "npx",
"args": ["-y", "booli-mcp"]
}
}
}
```
## 工具
| 工具 | 功能 |
| --- | --- |
| `booli_search_areas` | 将地名解析为布利地区 ID |
| `booli_search_listings` | 按地区 + 过滤器搜索活跃的待售清单 |
| `booli_get_listing` | 获取一个房产(活跃或已售)的完整详细信息,依据房产 ID |
| `booli_search_sold` | 搜索已售清单(slutpriser)及最终价格 |
| `booli_market_stats` | 计算一个地区的成交价格中位数/平均值 |
| `booli_healthcheck` | 验证数据路径(直接或通过浏览器桥) |
搜索范围限定在 `area_id`(来自 `booli_search_areas`)或自由文本 `location`。货币为 SEK,地区为平方米。参见 [`docs/BOOLI-API.md`](docs/BOOLI-API.md) 了解底层 GraphQL API。
## 开发
```
npm install
npm test # vitest,无网络依赖
npm run build # tsc + esbuild 打包
```
## 许可证
MIT