Homes Mcp

io.github.chrischall由 GitHub 账号 chrischall 发布v2.2.0更新于 Nov 7, 2026

homes.com real-estate for Claude — search, property details, photos, compare, mortgage math

概览

AI 生成的概览

通过你自己已登录的浏览器标签页抓取 homes.com 房产信息,让助手搜索房源、获取详情与历史记录,并进行房贷计算。

可以做什么
  • 按城市、邮编或社区搜索房源,可按房型、挂牌类型、价格区间和排序筛选,并把单个或批量美国地址解析为 homes.com 房源链接
  • 获取完整房源记录、照片图库、附近房源、价格/产权/留置权与税费历史,以及多套房源的并排对比
  • 基于近期成交房源生成市场摘要(成交价中位数、每平方英尺均价)
  • 读取已登录用户的收藏房源和已保存搜索
  • 在本地离线运行房贷 PITI、可负担能力和租买对比计算
  • 检查桥接扩展健康状态,并维护账户标签用于记录
适用场景
适合用自然语言在 homes.com 上做美国房产调研:比较候选房源、查看价格与税费历史,或在不离开对话的情况下测算可负担能力和租买方案。
运行要求
以 Node.js 本地进程通过 stdio 运行(npx homes-mcp 或构建后的 bundle)。需要单独安装的 ContextMint Bridge 浏览器扩展(目前仅 Chrome,Safari 尚不可用),并在该浏览器标签页中登录 homes.com。可选环境变量 HOMES_COMMUNITIES_FILE 和 HOMES_WS_PORT。仅支持桌面端。
安装前请注意
它通过你正在使用的浏览器会话读取 homes.com,请求会携带你的 Cookie 并以你的身份发出;README 称这属于对 homes.com 的非正式使用,需自行斟酌。收藏房源和已保存搜索需要登录。桥接扩展需单独安装且不在应用商店上架,请核实来源或校验和。房源数据会作为工具输出发送给助手。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Homes Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

homes-mcp

[CI] [npm] [license]

homes.com real-estate access as an MCP server for Claude — search listings, resolve addresses, fetch property details, price/tax history, market reports, saved homes, photo galleries, and run affordability/mortgage math, all via natural language.

⚠️ homes.com does not publish a public consumer API. This server reads the same server-rendered HTML and Schema.org JSON-LD that homes.com itself ships to your browser, routed through your own signed-in browser tab via the ContextMint Bridge browser extension. Every request acts on behalf of your existing session — your cookies, your TLS, your JS context — exactly as if you'd clicked it in the browser yourself. Treat this as informal use of homes.com. Use at your own discretion.

Tools

ToolPurpose
homes_search_propertiesSearch listings by free-text location (city/ZIP/neighborhood). Slugifies the input into homes.com's URL routing (a blank or unsluggable location is an error, not an empty result) and parses the JSON-LD CollectionPage.mainEntity.itemListElement[]. Filters by property_type, listing_type, sort, and a price_min/price_max band. Returns address, price, beds/baths, sqft, primary photo, listing agent + brokerage; flags truncated/total_estimated past the ~40-listing SSR cap.
homes_get_by_addressResolve one US street address to its canonical homes.com property URL + opaque hash. Walks structured typeahead → slug → city/zip search-fallback with whole-token street + unit verification. Returns matched_via; degrades to { resolved: false }.
homes_resolve_addressesBulk homes_get_by_address (up to 100 addresses, input order preserved, per-row outcomes). Prefer for batches ≥ 3.
homes_get_propertyFull record for a property by URL. Parses JSON-LD + DOM-side sections: address, lat/lng, beds/baths, sqft, year built, price, status, agent (name/title/profile — telephone/email only with include_agent_contact: true) + brokerage, highlights, schools, HOA (raw + monthly), lot size (sqft + acres), parking, heating/cooling, MLS id/source, tax, days-on-market, price drops, extracted_features. Optional inline price_history/tax_history.
homes_get_property_photosFull photo gallery scraped from <img> tags on the detail page (JSON-LD only carries one image). Returns { url, position, alt? } per photo, filtered to the homes.com CDN.
homes_bulk_getFetch up to 200 properties' structured records in one call (per-row errors, input order preserved).
homes_compare_propertiesSide-by-side comparison of 2–8 properties with an aligned summary table. Per-target errors captured per-row. Concurrent fetches.
homes_get_nearby_listingsThe "Homes for Sale Near This Property" cross-link cards from a detail page (For Sale, optionally Rentals). URL + address only.
homes_get_historyCombined price + tax history in one fetch: listing_events, ownership_events, lien_events, normalized events_normalized, and tax_records. events_normalized sets price_change_pct only on PriceChange rows; other rows carry homes.com's "List to Sale" figure as list_to_sale_pct (no dom / source_mls keys).
homes_get_property_historyDeprecated — price/ownership/lien timelines only. Prefer homes_get_history.
homes_get_tax_historyDeprecated — year-by-year tax records only. Prefer homes_get_history.
homes_get_market_reportMedian / average / $-per-sqft for a market, derived from the sold search page's JSON-LD. A blank or unsluggable location is an error, not an empty market.
homes_get_saved_homesThe signed-in user's saved (favorited) homes. Auth-gated.
homes_get_saved_searchesThe signed-in user's saved searches. Auth-gated.
homes_calculate_affordabilityLocal affordability calculator — max purchase price from income + DTI + rates. No network.
homes_calculate_mortgageLocal PITI calculator — principal+interest, taxes, insurance, HOA, PMI. No network.
homes_estimate_rent_vs_buyLocal rent-vs-buy model — you supply monthly_rent (homes.com has no rental signal to impute it; see below). No network.
homes_healthcheckRound-trips /robots.txt through the fetchproxy bridge (the shared registerBridgeHealthcheckTool from @chrischall/mcp-utils/fetchproxy) and returns diagnostics: bridge role/port/version, the extension link state (bridge.session_state, pending_pair_code, extension_connected), a classified error.kind (timeout / bridge_down / session_not_ready / protocol / unknown), and a plain-English hint distinguishing "bridge down" from "extension not connected / pair code pending" from "homes.com-side problem."
homes_get_session_context / homes_register_session / homes_set_active_sessionList / register / switch account labels for your own bookkeeping. Label only: requests always use whichever account the fetchproxy browser tab is signed into.

Known data gap: rental estimates

homes.com does NOT publish rental estimates anywhere on its consumer site — there's no rent_zestimate analogue, no "estimated rent" widget on property detail pages, and no comparable-rentals endpoint. The homes_estimate_rent_vs_buy tool exists for the math, but it requires the caller to pass monthly_rent directly (you can't fetch a rent estimate from homes.com to plug in).

For rental signals, use a sibling MCP: zillow_get_property carries rent_zestimate on detail records, and redfin_get_comparable_rentals returns rental comps by URL. See issue #28 for the feasibility investigation.

Acknowledgement of Terms

By using this MCP server, you acknowledge and agree to the following:

1. This server accesses your own homes.com session. Every request is dispatched through your own browser tab via the ContextMint Bridge extension — your cookies, your TLS, your session. It does not — and cannot — access anyone else's account.

2. homes.com's Terms of Use govern your use of this server, just as they govern your direct use of homes.com. The terms prohibit automated crawling without written permission, and IDX listing data is licensed for personal, non-commercial use only. You are agreeing to those terms every time you invoke a tool in this server.

3. Personal, non-commercial use only. This project is not affiliated with, endorsed by, sponsored by, or in partnership with homes.com or CoStar Group. It is a personal automation tool that reads the same server-rendered HTML and Schema.org JSON-LD homes.com ships to your browser. Do not use it to bulk-extract listings, redistribute IDX data, train AI models, populate a competing real-estate product, or for any commercial purpose.

4. Stability is not guaranteed. This server reads Schema.org JSON-LD (<script type="application/ld+json">) and DOM-side <img> tags from SSR pages whose URL conventions (/<city>-<state>/, /property/<slug>/<id>/) may change without notice. It may break. It may stop working. That's by design — the surface is not theirs to maintain on our behalf.

5. You accept full responsibility for any consequences of using this server in connection with your homes.com access — rate limiting, account suspension, IP blocks, AWS WAF challenges, or any enforcement action homes.com takes. If homes.com objects to your use, stop using this server.

This section is the maintainer's good-faith summary of the terms — it is not legal advice and does not modify or supersede homes.com's actual ToU.

Install

Option A — npx (after first publish)

Add to .mcp.json:

json
{  "mcpServers": {    "homes": {      "command": "npx",      "args": ["-y", "homes-mcp"]    }  }}

Option B — from source

bash
git clone https://github.com/chrischall/homes-mcpcd homes-mcpnpm installnpm run build
json
{  "mcpServers": {    "homes": {      "command": "node",      "args": ["/path/to/homes-mcp/dist/bundle.js"]    }  }}

One-time browser setup

homes-mcp talks to your browser through the ContextMint Bridge extension, which is shared across every fetchproxy-based MCP (zillow-mcp, opentable-mcp, resy-mcp, …) and installed separately — it is not bundled here. Get it from the ContextMint Bridge releases:

  • Chrome: download the Chrome zip, unzip it, then chrome://extensions → toggle Developer mode → Load unpacked → pick the unzipped folder.
  • Safari: not available yet — the extension will ship inside the ContextMint app, which has no public download link. Use Chrome for now.

Where it comes from. ContextMint Bridge is the fetchproxy browser extension under its new name, from the same maintainer; fetchproxy's own README (Extension) 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). There is no Chrome Web Store listing yet.

Open homes.com and sign in. That's all the auth this server needs.

How it works

┌────────────────┐  stdio   ┌──────────────────┐   WS   ┌──────────────────┐    fetch()    ┌─────────────┐│ MCP client     │◀────────▶│  dist/bundle.js  │◀──────▶│  ContextMint     │◀────────────▶│ homes.com  ││ (Claude, etc.) │          │  (Homes MCP)    │ :37149 │  Bridge          │   (real TLS, │ (your tab)  │└────────────────┘          └──────────────────┘        │  (separate)      │   cookies)    └─────────────┘

The MCP server runs in Node, but every HTTP call to homes.com is dispatched into your live browser tab through the ContextMint Bridge extension. Each request rides your existing session — TLS fingerprint, cookies, and JS execution context all match the page that's already on screen. No headless browser stand-in, no separate identity, no third-party proxy: just your real browser, acting on its own behalf, with the MCP server picking what to ask for.

homes.com's pages are SSR React with no public JSON API — every tool extracts data from the Schema.org JSON-LD block embedded in each page (<script type="application/ld+json">). Search pages put listings in CollectionPage.mainEntity.itemListElement[]; detail pages emit a RealEstateListing graph node with mainEntity (address, size, geo) and offers.offeredBy[] (listing agent). Photos are scraped from the DOM since the JSON-LD only carries one primary image. The client wraps that into the tool surface so callers never have to parse HTML themselves.

Commands

bash
npm test               # tsc typecheck + vitest, mocked transport, no networknpm run test:watchnpm run test:coveragenpm run build          # tsc --noEmit + esbuild bundle → dist/bundle.jsnpm run dev            # node dist/bundle.js (after build)

License

MIT

来源:README.md,提交 0a59675

工具

21

homes_search_properties

Search homes.com listings

Search homes.com listings by free-text location (city, ZIP, neighborhood). Optionally filter by property_type (single_family/condo/townhouse/land/mobile/multi_family), listing_type (for_sale/sold/for_rent/open_houses/new_construction), and sort (newest). Slugifies the location into homes.com's URL routing (e.g. 'Atlanta, GA' + condo + for_sale → /atlanta-ga/condos-for-sale/). Parses the embedded Schema.org JSON-LD to return each listing's address, price, beds/baths, sqft, primary photo, listing agent + brokerage, and the homes.com property URL. `location` is required and must contain Latin letters or digits — a blank or unsluggable location (e.g. only punctuation or non-Latin script) is rejected with an error rather than returning an empty result. KNOWN CAP: homes.com server-renders ~40 listings per page; the response carries `truncated: true` + `total_estimated` when the market has more. To enumerate a busy market, price-band or sub-area your search until each segment fits under the cap. Read-only; safe to call repeatedly.

输入参数sortviewlimitlocation必填price_maxprice_minlisting_typeproperty_type

homes_get_property

Get homes.com property details

Fetch a property's full homes.com record. Pass `url` — the full property detail URL (e.g. from a homes_search_properties result's `url` field). Parses the page's Schema.org JSON-LD plus DOM-side sections to return address, lat/lng, beds/baths, sqft, year built, price, status, listing agent + brokerage, highlights, estimated monthly payment, total views, Matterport tour URL, floorplan URLs, schools, HOA fee, lot_size_sqft plus the derived lot_size_acres (round(lot_size_sqft / 43560, 2); both null — never 0 — for condos and listings with no lot), parking, heating/cooling, MLS ID/source, and date posted/modified. Also returns `extracted_features` (lake_front, hot_tub, basement, furnished, dock, community) derived server-side from the listing description so callers don't have to keyword-parse marketing prose. Pass `include_price_history: true` to inline the same data `homes_get_property_history` returns (`listing_events`, `ownership_events`, `lien_events`, `events_normalized`) under `price_history`. Pass `include_tax_history: true` to inline `homes_get_tax_history` records under `tax_history`. Both are off by default; opting in costs nothing extra over the dedicated tools (same page fetch). The raw `description` is omitted by default; pass `include_description: true` to opt back in. `listing_agent` carries name / job title / profile url only; pass `include_agent_contact: true` for the agent's telephone and email. Read-only; safe to call repeatedly.

输入参数url必填viewinclude_descriptioninclude_tax_historyinclude_agent_contactinclude_price_history

homes_calculate_mortgage

Calculate mortgage payment (local)

Local-only mortgage payment calculator. Returns a full PITI breakdown (principal + interest, property tax, insurance, HOA, PMI) and total interest over the life of the loan. No network call — fully deterministic, safe to use for scenario comparison without burning a fetch. Provide either `down_payment` OR `down_payment_percent`; defaults to 20%. Property tax can be given as `property_tax_annual` or `property_tax_rate` (% of home price). PMI applies automatically when LTV > 80% and `pmi_rate` is provided.

输入参数pmi_ratehome_price必填hoa_monthlydown_paymentinterest_rate必填loan_term_yearsinsurance_annualproperty_tax_rateproperty_tax_annualdown_payment_percent

homes_compare_properties

Compare homes.com properties side-by-side

Fetch 2 or more homes.com properties and align their facts side-by-side. Each target supplies a `url` — the full homes.com property URL (e.g. from a homes_search_properties result's `url` field). Returns the full per-property record (with server-side `extracted_features`, `hoa_monthly_usd`, `days_on_market`, `price_drop_*`, `lot_size_sqft` + the derived `lot_size_acres`, and `portal_url_hyperlink`). Per-target errors are captured per-row — one bad target will not fail the whole call: a failed row carries `status` = `error_kind` (`timeout` / `bridge_down` / `protocol` / `other`) plus `retryable` and `error`, and the envelope reports `count` / `ok` / `errored`. Calls are concurrent and bounded by an overall deadline: any row still unsettled comes back `status: "pending"` (retryable) with a top-level `pending` count — re-run just those targets. The raw `description` is omitted by default; pass `include_description: true` to keep the marketing prose. `listing_agent` omits the agent's telephone/email unless `include_agent_contact: true`. The cross-row `summary` table duplicates per-property fields (~30% of response weight); it is OPT-IN via `include_summary: true`.

输入参数viewtargets必填include_summaryinclude_descriptioninclude_agent_contact

homes_calculate_affordability

Calculate max affordable home price

Solve for the maximum home price you can afford under the standard 28/36 DTI rule. Inputs: monthly income, recurring monthly debts (car loans, student loans, etc.), down payment, interest rate, and optional property-tax rate / insurance / HOA / loan term. Output: max home price, the binding constraint (front-end vs back-end), and the full PITI breakdown at that price. Same math across the realty MCP cohort (@chrischall/realty-core). No network — pure local math.

输入参数hoa_monthlyback_end_dtidown_payment必填front_end_dtiinterest_rate必填monthly_debtsmonthly_income必填loan_term_yearsinsurance_annualproperty_tax_rate

homes_get_property_photos

Get homes.com property photo gallery

The full photo gallery for a homes.com listing. homes.com's JSON-LD only exposes one primary image, so this tool scrapes every <img> tag on the property detail page and filters to the homes.com CDN. Pass `url` — the full homes.com property URL or path (e.g. from a homes_search_properties result's `url` field). Returns `{ property_id, url, count, photos: [{ url, position, alt? }] }`. Read-only; safe to call repeatedly.

输入参数url必填

homes_healthcheck

Verify the ContextMint Bridge connection end-to-end

Round-trips a small public www.homes.com URL (/robots.txt) 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.homes.com-side problem'. Read-only, no auth required. Call this when a real tool fails and you want to know which hop broke.

无需输入参数。

homes_get_property_history

Get homes.com property history (DEPRECATED — use homes_get_history)

DEPRECATED — prefer `homes_get_history` (combined timelines + tax) or `homes_get_property({ url, include_price_history: true })`. Same data, fewer round trips. Will be removed in a future major version. Three timelines for a homes.com property in one call: `listing_events`, `ownership_events`, `lien_events`. Also returns `events_normalized` mapped onto the cross-MCP enum. Each `events_normalized` row is `{ date, type, price?, price_change_pct?, list_to_sale_pct? }` — `price_change_pct` only on `PriceChange` rows; every other row carries homes.com's "List to Sale" figure as `list_to_sale_pct` (e.g. the sale-to-list ratio on a `Sold` row), never as a price change.

输入参数url必填

homes_get_tax_history

Get homes.com property tax history (DEPRECATED — use homes_get_history)

DEPRECATED — prefer `homes_get_history` (combined timelines + tax) or `homes_get_property({ url, include_tax_history: true })`. Same data, fewer round trips; note that `homes_get_history` returns the tax array as `tax_records` (not `records`). Will be removed in a future major version. Year-by-year property-tax records: tax paid, total assessed value, land/improvement split.

输入参数url必填

homes_get_history

Get homes.com property + tax history (combined)

Combined history endpoint — replaces `homes_get_property_history` + `homes_get_tax_history` with a single fetch. Returns `{ property_id, url, listing_events, ownership_events, lien_events, events_normalized, tax_records }`. Pass `url` — the full property detail URL. Series are `[]` when the listing doesn't carry that section. Cross-MCP-normalized `events_normalized` carries the same enum across siblings (Listed/PriceChange/Pending/Contingent/Sold/Withdrawn/Relisted/Delisted). Each `events_normalized` row is `{ date, type, price?, price_change_pct?, list_to_sale_pct? }` — `price_change_pct` only on `PriceChange` rows; every other row carries homes.com's "List to Sale" figure as `list_to_sale_pct` (e.g. the sale-to-list ratio on a `Sold` row), never as a price change. Read-only; safe to call repeatedly.

输入参数url必填

homes_get_nearby_listings

Get nearby homes.com listings for a property

Scrape the nearby-links section of a homes.com detail page (the tabbed list of `<ul id="nb-Property">` near the bottom of the page) and return the nearby active listings. Pass `url` (the property whose neighborhood to inspect). By default returns the For Sale tab; pass `include_rentals: true` to also include the Rentals tab. Optional `limit` caps the count. Returns `{ property_id, url, count, listings: [{ property_id, url, address?, tab }] }`. Note: the nearby section is a curated cross-link list, not a comparable-sales set — only URL + address are exposed (no price/beds/baths/sqft/photo). To enrich a row, call `homes_get_property` on its url. Read-only; safe to call repeatedly.

输入参数url必填limitinclude_rentals

homes_get_market_report

Get a homes.com market report for a location

Fetch homes.com's recently-sold listings for a city/ZIP/neighborhood and derive a market summary: count, median sale price, and average $/sqft across the sample. Pass `location` — free-text (e.g. 'Brooklyn, NY', '30311'). `location` is required and must contain Latin letters or digits — a blank or unsluggable location (e.g. only punctuation or non-Latin script) is rejected with an error rather than returning an empty result. Returns `{ region, slug, sold_summary, sample_sold }`. Note: homes.com's sold page typically returns ~40 recent listings — this is a sample-based summary, not an exhaustive market index. Read-only.

输入参数viewlocation必填

homes_get_saved_homes

Get the signed-in user's saved homes on homes.com

The signed-in user's saved (favorited) homes on homes.com. Scrapes /customer/dashboard/favorites/. Returns `{ count, homes: [{ property_id, url, address?, price?, beds?, baths?, sqft?, status? }] }`. REQUIRES the user to be signed into homes.com in their browser tab — if not, the request throws SessionNotAuthenticatedError. Card fields (price/beds/baths/sqft) are best-effort DOM scrapes — they may be missing on some card variants; treat absence as 'not surfaced on the saved-homes card', not 'no value'. Call `homes_get_property(url)` per row when you need the canonical record. Read-only; safe to call repeatedly.

无需输入参数。

homes_get_saved_searches

Get the signed-in user's saved searches on homes.com

The signed-in user's saved searches on homes.com. Scrapes /customer/dashboard/saved-searches/. Returns `{ count, searches: [{ name?, url, filters? }] }`. REQUIRES the user to be signed into homes.com in their browser tab — if not, the request throws SessionNotAuthenticatedError. `name` and `filters` are DOM-scraped from the saved-search card; absence means homes.com didn't render them, not that the search has none. Read-only; safe to call repeatedly.

无需输入参数。

homes_estimate_rent_vs_buy

Project cumulative buy-vs-rent cost over N years

Project the cumulative cost of buying a home versus renting a comparable place over N years. Accounts for down payment, closing costs, monthly PITI, maintenance (~1%/yr default), appreciation (~3%/yr default), rent growth (~3%/yr default), and the opportunity cost of the down payment + closing costs (renter invests it at investment_return_rate, default 6%/yr). P&I stops once the loan term ends. Each year is the buyer's net position if they sold that year (cash out minus equity) versus the renter's net cost, so break-even year is independent of the horizon. Returns year-by-year cumulative net costs, break-even year, and the net difference at horizon (default horizon 7y). No network — pure local math. Same math contract as zillow_estimate_rent_vs_buy. NOTE: caller must supply `monthly_rent` — homes.com does not publish rental estimates anywhere on its consumer site (no rent_zestimate analogue, no comparable-rentals endpoint). For a rent estimate to plug in here, use `zillow_get_property` (its `rent_zestimate` field) or `redfin_get_comparable_rentals`.

输入参数home_price必填hoa_monthlydown_payment必填monthly_rent必填horizon_yearsinterest_rate必填loan_term_yearsinsurance_annualmaintenance_raterent_growth_rateappreciation_rateclosing_cost_rate另有 3 个

homes_get_by_address

Resolve a street address to a homes.com property URL

Resolve a US street address to its canonical homes.com property URL + opaque property hash. Pass `address` (street), `city`, `state`, and optional `zip`. Walks three rungs: first the structured smartsearch typeahead (POST /routes/res/consumer/smartsearch/autocomplete/ — the primary rung, the same address-suggest API homes.com's search box fires, returning the real /property/<slug>/<hash>/ URL directly), then a slug-routed page (parsing the embedded Schema.org JSON-LD — both the CollectionPage search-results shape and the single-RealEstateListing detail redirect), and finally a city/zip search page with street-token fuzzy match. Every candidate is verified against the input with a whole-token street match (plus a unit guard so a multi-unit building resolves to the exact unit, not a neighbour). Optional `price_min` / `price_max` (USD) bound ONLY the city/zip search-fallback rung — when an address is ambiguous or the typeahead misses and you know the listing's rough price, this narrows the area search (homes.com `?price-min=`/`?price-max=` filter) so the fuzzy matcher picks from fewer, more-relevant candidates; omit for unchanged unbounded behaviour. Returns `{ url, property_hash, street_address, matched_via, resolved: true }` on success — `matched_via` is `'typeahead'` for the structured-API hit, `'slug'` for a direct routing hit, `'search_fallback'` for the search-page fuzzy match — or `{ resolved: false, error: 'no listing found' }` when homes.com has no match (so the higher-level unified canonical-URL lookup can degrade gracefully). A retryable `{ resolved: false, status: 'timeout' | 'blocked', retryable: true }` means homes.com never answered (bridge timeout) or refused (sign-in / AWS WAF challenge / HTTP 403-429) — NOT a confirmed miss; for `blocked`, have the user open homes.com and clear the challenge, then retry. KNOWN FAILURE MODE: rural addresses and very-new construction can still miss because homes.com hasn't indexed them yet. Compare the returned `street_

输入参数zipcity必填state必填address必填price_maxprice_min

homes_register_session

Register a signed-in Homes.com session

Record (or refresh) which Homes.com account the signed-in session belongs to, keyed by `account_identity`. Re-registering the same identity updates the existing entry. Returns a `session_id`; pass `mark_active: true` to mark it as the current account in the same call. The registry is a label only: it does not change which Homes.com account requests use. Every homes tool call goes through whichever browser tab the ContextMint Bridge extension is signed into; to read a different account, sign that tab into it.

输入参数mark_activeauth_expires_ataccount_identity必填

homes_set_active_session

Set the active Homes.com session

Mark a previously registered `session_id` as the current account label, for your own bookkeeping across a conversation. The registry is a label only: it does not change which Homes.com account requests use. Every homes tool call goes through whichever browser tab the ContextMint Bridge extension is signed into; to read a different account, sign that tab into it.

输入参数session_id必填

homes_get_session_context

List all registered Homes.com sessions

List every registered account label plus the current `active_session_id`. When none are registered, `sessions` is empty and `active_session_id` is null. The registry is a label only: it does not change which Homes.com account requests use. Every homes tool call goes through whichever browser tab the ContextMint Bridge extension is signed into; to read a different account, sign that tab into it.

无需输入参数。

homes_bulk_get

Bulk-fetch homes.com properties (structured records only)

Fetch up to 200 homes.com properties in one call and return their structured records. Pass `urls: string[]`. Results are ordered to match the input array and per-row errors are captured (one bad URL won't fail the whole call). Each row carries a `status`: `ok`, `pending`, or — on failure — the error kind (`timeout` / `bridge_down` / `protocol` / `other`, also in `error_kind`) with a `retryable` flag; the envelope reports `count` / `ok` / `errored` (+ `pending` when non-zero). Mirrors `homes_get_property` per-row, including `extracted_features`, `hoa_fee`, `highlights`, `schools`, `lot_size_sqft` + the derived `lot_size_acres` (null — never 0 — for condos / no-lot listings), and all standard listing fields. The raw `description` is omitted by default; opt back in via `include_description: true`. `listing_agent` omits the agent's telephone/email unless `include_agent_contact: true`. The whole call is bounded by an overall hard deadline: a single slow/hung URL never wedges the server — when the deadline is reached any unsettled row is returned with `status: "pending"` and a `pending` count so you can re-run just those URLs. Use this instead of looping `homes_compare_properties` (which caps at 8 + emits a redundant summary table) when you just want the records. Read-only; safe to call repeatedly.

输入参数urls必填viewinclude_descriptioninclude_agent_contact

homes_resolve_addresses

Bulk-resolve street addresses to homes.com property URLs

Resolve up to 100 street addresses to canonical homes.com property URLs + opaque property hashes in one call. Pass `addresses: [{ address, city, state, zip? }, ...]`. Fans out to the same rungs `homes_get_by_address` runs (structured smartsearch typeahead → slug → city/zip search fallback), verifying each candidate with the same whole-token street + unit match. Per-row outcomes parallel `homes_get_by_address` (with `property_hash` renamed to `property_id` here so the field name lines up with `homes_bulk_get`): `{ resolved: true, url, property_id, street_address, matched_via }` on success — `matched_via` is `'typeahead'`, `'slug'`, or `'search_fallback'` — `{ resolved: false, error }` otherwise; one bad row won't fail the whole call. Each row's `status` is `resolved`, `unresolved`, `pending` (deadline reached — retry it) or `blocked` (homes.com returned a sign-in / AWS WAF challenge or HTTP 403/429 — not a miss; clear the challenge in the browser and retry). Results preserve input order. Use this instead of looping `homes_get_by_address` for any batch ≥ 3. Read-only; safe to call repeatedly.

输入参数addresses必填

版本历史

15
  1. v2.2.0最新Nov 4, 2026
  2. v2.1.11Oct 16, 2026
  3. v2.1.10Oct 10, 2026
  4. v2.1.9Oct 7, 2026
  5. v2.1.8Oct 5, 2026
  6. v2.1.7Oct 3, 2026
  7. v2.1.6Sep 28, 2026
  8. v2.1.5Sep 25, 2026
  9. v2.1.4Sep 24, 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.4.5Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分