mcpField
O
onehome-mcp

onehome-mcp

本地服务
github.com/chrischall商业与营销12 天前更新

关于 onehome-mcp

onehome-mcp 是面向使用经纪人分享的 OneHome 房源的买家提供的 MCP 服务,可查询房源与照片、比较房屋,并计算抵押贷款和可负担价格。

主要功能

  1. 01浏览经纪人分享的分组和已保存搜索
  2. 02搜索房源并解析地址
  3. 03获取房屋信息和照片图库
  4. 04并排比较 2–8 套房屋
  5. 05计算抵押贷款和可负担价格

适用场景

  1. 01查看经纪人筛选的搜索结果
  2. 02通过地址或 MLS 编号查找房源
  3. 03并排比较候选房屋
  4. 04估算抵押贷款月供或可承受房价

MCP 相关

它向 MCP 客户端提供 OneHome 搜索、房源查询、比较和计算工具。身份验证可使用 Bearer 令牌、魔法链接或从浏览器会话获取的令牌。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"chrischall-onehome": {
"command": "npx",
"args": [
"-y",
"onehome-mcp"
],
"env": {
"ONEHOME_TOKEN": "<ONEHOME_TOKEN>",
"ONEHOME_MAGIC_LINK": "<ONEHOME_MAGIC_LINK>",
"ONEHOME_WS_PORT": "<ONEHOME_WS_PORT>",
"ONEHOME_COMMUNITIES_FILE": "<ONEHOME_COMMUNITIES_FILE>",
"FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
"FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
}
}
}
}
启动命令npx -y onehome-mcp
需要配置的环境变量
ONEHOME_TOKEN密钥Bearer token for services.onehome.com. Paste the raw JWT (Authorization header value, minus the 'Bearer ' prefix) from your signed-in portal.onehome.com session.
ONEHOME_MAGIC_LINKMagic-link URL with ?token=... from your real-estate agent. The MCP extracts the token query param and uses it directly as the bearer.
ONEHOME_WS_PORTOverride the fetchproxy WebSocket port (default 37149). Only used when ONEHOME_TOKEN / ONEHOME_MAGIC_LINK are unset and the MCP boots in capture-from-tab mode.
ONEHOME_COMMUNITIES_FILEPath to a JSON array of community names used for feature extraction; overrides the built-in Lake Lure / mountain-NC default vocabulary.
FETCHPROXY_WS_HOSTBind interface for the fetchproxy concentrator, a literal IP only (default 127.0.0.1). Keep on loopback; it exists for hosted deployments that run each MCP in its own network namespace.
FETCHPROXY_IDENTITY_DIRAbsolute path where the fetchproxy long-term identity keypair is stored (default ~/.fetchproxy/identity/).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmonehome-mcp1.1.10

工具

21

收录的工具列表 · 更新于 2 周前

参数类型必填说明
viewenum否响应格式:"compact"(默认)会省略响应中其他位置已有的字段;"full" 会返回此服务器所了解的所有字段。compact 会从响应中剔除图像/头像 URL;"full" 会原样返回 OneHome 的负载。不会投影字段:此服务器没有经过验证的记录来确定哪些 OneHome 字段重要,自行臆造可能会丢弃调用方需要的字段。compact | full

详细介绍

onehome-mcp

CI npm license

适用于 OneHome(CoreLogic)的 MCP 服务——搜索房地产经纪人为你整理的房源,获取房产详情和照片,并排比较房屋,还可在 Claude 中进行抵押贷款和购房能力计算。

与 zillow-mcp、redfin-mcp、compass-mcp 和 homes-mcp 是姊妹项目。工具使用体验相同,但上游身份验证方式不同。

本项目由 AI(Claude)开发并维护。请自行决定是否使用。

OneHome 有何不同

OneHome 不是公开房源网站。买家通常通过经纪人发来的魔法链接访问该网站,例如 https://portal.onehome.com/...?token=eyJ...。其中的 token 查询参数就是门户 SPA 传递给每个 GraphQL 请求的用户专属 bearer。

因此,onehome-mcp 不像其他房地产 MCP 那样通过已登录的浏览器标签页转发每次请求,而是直接从 Node 向 services.onehome.com/graphql 发送请求,并附上 Authorization: Bearer <jwt>。我们支持以下三种获取 bearer 的方式:

模式启用方式说明
env_tokenONEHOME_TOKEN=<jwt>从开发者工具的 Network 面板粘贴原始 bearer。最直接的方式。
magic_linkONEHOME_MAGIC_LINK=https://portal.onehome.com/...?token=...粘贴经纪人发来的完整 URL——我们会提取 token 参数。
fetchproxy_capture(无需环境变量)+ 安装 ContextMint Bridge 浏览器扩展(Chrome:解压加载发行包中的 chrome zip;Safari 目前尚不可用——该扩展之后会集成在 ContextMint 应用中,因此暂时请使用 Chrome)+ 已登录的 portal.onehome.com 标签页我们会等待你的标签页发出任意 GraphQL 请求,截取 Authorization 标头并重复使用。

ContextMint Bridge 是 fetchproxy 浏览器扩展的新名称,由同一位维护者开发。fetchproxy 自身的 README(fetchproxy#extension)也指向该扩展。其源代码公开于 nullnet-app/contextmint-bridge:你可以自行构建,也可以使用旁边发布的 .sha256 文件校验发行版 zip(shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256)。

工具

工具功能
onehome_get_user最精简的身份验证探测——返回你的 OneHome 个人资料(姓名、电子邮件)以及 Agent 与你共享的群组。
onehome_get_groups列出 Agent 与你共享的 OneHome“群组”(每个群组都是一个市场/精选房源列表集合)。
onehome_get_saved_search按 ID 获取 Agent 精选的已保存搜索——包括名称、筛选条件、多边形,以及构成共享内容的 OSK 房源 ID。
onehome_get_saved_search_with_listings一次往返即可完成“显示我已保存的房源”流程——返回已保存的搜索及其展开后的房源。
onehome_search_properties搜索群组中的房源;可选按已保存的搜索限定范围。
onehome_search_suggestions在所有信息源中搜索自由文本建议(地址、MLS #)。
onehome_get_by_address将单个自由文本街道地址解析为房源的门户 URL 和 ID。
onehome_resolve_addresses批量将最多 100 个结构化地址解析为门户 URL 和房源 ID;并发处理,逐行捕获错误。
onehome_get_property按房源 ID 或门户 URL 获取完整的房产记录。
onehome_bulk_get一次调用获取最多 N 套房源——每个 ID 返回一行结构化结果,并逐行捕获错误。
onehome_get_property_photos完整的媒体图库——提供缩略图/中等/大图版本及房间描述。
onehome_compare_properties并排比较 2-8 套房源。逐行捕获错误;并发调用。
onehome_get_schools获取指定纬度/经度附近由 Local-Logic 提供的小学和高中。
onehome_get_walk_score获取 Local-Logic 提供的步行/公共交通/骑行/驾车便利度评分。
onehome_graphql面向高级用户的备用入口——发送带变量的原始只读 GraphQL 文档(仅限查询;拒绝变更和订阅)。
onehome_calculate_mortgage本地 PITI 计算器。计算方式与其他房地产 MCP 相同。
onehome_calculate_affordability本地 28/36 DTI 求解器——计算你能负担的最高房价。
onehome_set_auth在运行时添加另一个已通过身份验证的会话(magic link / JWT / email-token),供在多个 Agent 处持有共享房源的买家使用。
onehome_set_active_session强制指定已注册会话成为当前活动会话(覆盖基于 MLS 后缀的路由)。
onehome_get_session_context列出每个已注册会话——身份验证模式、令牌过期时间,以及各会话初始化时获取的群组/已保存搜索/Agent 范围。
onehome_healthcheck端到端身份验证和 GraphQL 冒烟测试,并提供令牌过期诊断。

安装

最简单的方式是安装已发布的 Claude 插件(.mcpb)。其设置可选填 OneHome magic link 或 bearer token(两者均作为敏感值存储);若两项都留空,则改用浏览器桥接捕获。用于本地开发:

git clone https://github.com/chrischall/onehome-mcp
cd onehome-mcp
npm install
npm run build

然后,将 MCP 主机指向 node /abs/path/to/onehome-mcp/dist/bundle.js,并选择以下其中一种方式:

// claude_desktop_config.json
{
  "mcpServers": {
    "onehome-mcp": {
      "command": "node",
      "args": ["/abs/path/to/onehome-mcp/dist/bundle.js"],
      "env": {
        "ONEHOME_MAGIC_LINK": "https://portal.onehome.com/en-US/properties/map?token=eyJ..."
      }
    }
  }
}

开发

npm test               # vitest, mocked transport, no network
npm run test:watch
npm run test:coverage
npx tsc --noEmit
npm run build          # tsc --noEmit + esbuild → dist/bundle.js

测试使用 FakeTransport(位于 tests/helpers.ts),它会注册每个 operationName 对应的处理程序——测试套件不会连接实时网络。tests/index.test.ts 冒烟检查会将 src/index.ts 使用的同一组工具注册加载到内存中的 MCP 客户端/服务端配对中,因此,“我写了工具文件,却忘了将其接入”这类错误会立刻暴露出来。

许可证

MIT。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。