{"id":"80427a42-9f54-4af9-819b-4513524564e0","entityType":"agent","slug":"clawhub-chrischall-homes-mcp","name":"Tmp.EiWSQt4h8g","canonicalUrl":"https://www.xpersona.co/agent/clawhub-chrischall-homes-mcp","canonicalPath":"/agent/clawhub-chrischall-homes-mcp","generatedAt":"2026-10-10T21:49:45.789Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T16:38:33.428Z","emptyReason":null},"description":"Look up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. Triggers on phrases... Skill: Tmp.EiWSQt4h8g Owner: chrischall Summary: Look up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. Triggers on phrases... Tags: latest:1.0.3 Version history: v1.0.3 | 2026-07-07T23:57:42.742Z | auto - Removed the skill-card.md file. - No user-facing features or functionality were changed. v1.0.2 | 2026-06-15T14:33:39.534Z | auto -","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:homes-mcp","sourceUrl":"https://clawhub.ai/chrischall/homes-mcp","homepage":"https://clawhub.ai/chrischall/skills/homes-mcp","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/chrischall/homes-mcp","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/chrischall/skills/homes-mcp","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":63,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Look up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. Triggers on phrases..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T16:38:33.428Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T16:38:33.428Z","emptyReason":null},"stars":null,"forks":null,"downloads":1336,"packageName":null,"latestVersion":"1.0.3","tractionLabel":"1.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T16:38:33.427Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T16:38:33.428Z","lastCrawledAt":"2026-10-10T16:38:33.427Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T16:38:33.427Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.3","createdAt":"2026-07-07T23:57:42.742Z","changelog":"- Removed the skill-card.md file. - No user-facing features or functionality were changed.","fileCount":3,"zipByteSize":5104},{"version":"1.0.2","createdAt":"2026-06-15T14:33:39.534Z","changelog":"- Removed the skill-card.md file. - No changes to features or functionality. - No impact to users; documentation and usage remain unchanged.","fileCount":3,"zipByteSize":5085},{"version":"1.0.1","createdAt":"2026-06-13T00:54:32.900Z","changelog":"- Removed the skill-card.md file. - No changes to functionality or usage—only documentation cleanup.","fileCount":3,"zipByteSize":4772},{"version":"1.0.0","createdAt":"2026-06-10T02:10:09.947Z","changelog":"- Removed the file: skill-card.md. - No changes to user-facing features or tool functionality. - This version consists solely of file cleanup, with no impact on usage.","fileCount":3,"zipByteSize":4797},{"version":"0.12.2","createdAt":"2026-06-07T19:35:27.000Z","changelog":"- Removed the file: skill-card.md. - No changes to features or behavior; only documentation cleanup.","fileCount":3,"zipByteSize":4973},{"version":"0.12.1","createdAt":"2026-06-04T04:29:35.049Z","changelog":"- Removed the file skill-card.md. - No changes to functionality or user-facing features. - All usage instructions and capabilities remain unchanged.","fileCount":3,"zipByteSize":5137},{"version":"0.12.0","createdAt":"2026-05-29T19:04:18.024Z","changelog":"Version 0.12.0 — Major update with expanded coverage and new tools - Added support for price/tax history, market reports, and saved homes/searches. - Expanded search filters: property type, listing type, sort, and price range. - Introduced address resolution tools (`homes_get_by_address` and batch `homes_resolve_addresses`). - Added bulk property fetch (`homes_bulk_get`) and market report tool. - New: Authenticated tools for listing saved homes/searches. - Improved local calculators, including a rent-vs-buy estimator. - Documentation updated throughout: new usage details, gotchas, and tool list.","fileCount":3,"zipByteSize":4954},{"version":"0.11.0","createdAt":"2026-05-29T12:20:19.959Z","changelog":"Version 0.11.0 - No file changes detected in this release. - Existing functionality and documentation remain unchanged.","fileCount":3,"zipByteSize":4049}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:homes-mcp","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-homes-mcp/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-homes-mcp/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-homes-mcp/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-homes-mcp/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-homes-mcp/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-homes-mcp/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T21:49:45.782Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-homes-mcp/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-homes-mcp/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-homes-mcp/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chrischall-homes-mcp/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T16:38:33.428Z","emptyReason":null},"readme":"Skill: Tmp.EiWSQt4h8g\n\nOwner: chrischall\n\nSummary: Look up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. Triggers on phrases...\n\nTags: latest:1.0.3\n\nVersion history:\n\nv1.0.3 | 2026-07-07T23:57:42.742Z | auto\n\n- Removed the skill-card.md file.\n- No user-facing features or functionality were changed.\n\nv1.0.2 | 2026-06-15T14:33:39.534Z | auto\n\n- Removed the skill-card.md file.\n- No changes to features or functionality.\n- No impact to users; documentation and usage remain unchanged.\n\nv1.0.1 | 2026-06-13T00:54:32.900Z | auto\n\n- Removed the skill-card.md file.\n- No changes to functionality or usage—only documentation cleanup.\n\nv1.0.0 | 2026-06-10T02:10:09.947Z | auto\n\n- Removed the file: skill-card.md.\n- No changes to user-facing features or tool functionality.\n- This version consists solely of file cleanup, with no impact on usage.\n\nv0.12.2 | 2026-06-07T19:35:27.000Z | auto\n\n- Removed the file: skill-card.md.\n- No changes to features or behavior; only documentation cleanup.\n\nv0.12.1 | 2026-06-04T04:29:35.049Z | auto\n\n- Removed the file skill-card.md.\n- No changes to functionality or user-facing features.\n- All usage instructions and capabilities remain unchanged.\n\nv0.12.0 | 2026-05-29T19:04:18.024Z | auto\n\nVersion 0.12.0 — Major update with expanded coverage and new tools\n\n- Added support for price/tax history, market reports, and saved homes/searches.\n- Expanded search filters: property type, listing type, sort, and price range.\n- Introduced address resolution tools (`homes_get_by_address` and batch `homes_resolve_addresses`).\n- Added bulk property fetch (`homes_bulk_get`) and market report tool.\n- New: Authenticated tools for listing saved homes/searches.\n- Improved local calculators, including a rent-vs-buy estimator.\n- Documentation updated throughout: new usage details, gotchas, and tool list.\n\nv0.11.0 | 2026-05-29T12:20:19.959Z | auto\n\nVersion 0.11.0\n\n- No file changes detected in this release.\n- Existing functionality and documentation remain unchanged.\n\nv0.10.0 | 2026-05-28T16:44:03.030Z | auto\n\n- Removed the file skill-card.md to streamline documentation.\n- No user-facing feature or functionality changes.\n\nv0.9.0 | 2026-05-28T01:30:13.157Z | auto\n\n- Removed the file skill-card.md. \n- No other user-facing changes or feature updates in this version.\n\nv0.8.0 | 2026-05-27T02:02:23.825Z | auto\n\nhomes-mcp v0.8.0\n\n- No file changes detected in this release.\n- No updates to features, tools, or documentation.\n\nv0.7.0 | 2026-05-26T16:37:54.465Z | auto\n\nhomes-mcp v0.7.0\n\n- Added SKILL.md with detailed description, triggers, and setup instructions.\n- Lists all available tools, including search, property details, photo galleries, comparisons, and calculators.\n- Provides clear setup and usage steps for fetchproxy integration.\n- Documents current limitations and typical use cases.\n- No code or functional changes described—documentation-focused release.\n\nArchive index:\n\nArchive v1.0.3: 3 files, 5104 bytes\n\nFiles: skill-card.md (2704b), SKILL.md (7720b), _meta.json (128b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: homes-mcp\ndescription: Look up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. Triggers on phrases like \"find homes on homes.com in\", \"homes.com property details for\", \"what does homes.com say about\", \"homes.com price history for\", or any request involving homes.com properties, prices, history, or photos. Requires homes-mcp installed and the fetchproxy extension active (see Setup below).\n---\n\n# homes-mcp\n\nMCP server for homes.com — natural-language access to listings, property records, price/tax history, market reports, saved homes/searches, and photo galleries. Routes through your signed-in homes.com tab via the fetchproxy browser extension, so AWS WAF sees a real browser session instead of a Node process.\n\n- **npm:** [npmjs.com/package/homes-mcp](https://www.npmjs.com/package/homes-mcp)\n- **Source:** [github.com/chrischall/homes-mcp](https://github.com/chrischall/homes-mcp)\n\n> ⚠️ homes.com does not publish a public consumer API. This server reads the Schema.org JSON-LD blob (and some DOM-side sections) embedded in each SSR page, dispatched through your own signed-in browser tab via the fetchproxy extension. Use at your own discretion.\n\n## Setup\n\n### 1. Install homes-mcp\n\n`.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}\n```\n\n### 2. Install the fetchproxy extension (one-time, shared across all fetchproxy-based MCPs)\n\nThe extension lives in its own repo and is installed separately — it is **not** bundled in this repo. Follow the install instructions at [github.com/chrischall/fetchproxy](https://github.com/chrischall/fetchproxy), then load the built extension in Chrome via `chrome://extensions` → Developer mode → Load unpacked.\n\n### 3. Open homes.com and sign in.\n\nThat's it. No API keys, no env vars. (Sign-in isn't strictly required for the public-listing tools, but having a real session active helps the page render the way the extractors expect — and saved-homes / saved-searches require it.)\n\n## Tools\n\n### Search & resolve\n\n- **`homes_search_properties`** — Search by free-text location (city, ZIP, neighborhood). Slugifies the input into homes.com's URL routing. Filters by `property_type`, `listing_type`, `sort`, and a `price_min`/`price_max` band (homes.com's `?price-min=`/`?price-max=` query facet). Returns each listing's address, price, beds/baths, sqft, primary photo, listing agent + brokerage. Caps at the ~40-listing SSR page; sets `truncated`/`total_estimated` when the market has more.\n- **`homes_get_by_address`** — Resolve a single US street address to its canonical homes.com property URL + opaque property hash. Walks structured smartsearch typeahead → slug routing → city/zip search-fallback, verifying each candidate with a whole-token street + unit match. Returns `matched_via` and degrades gracefully to `{ resolved: false }`.\n- **`homes_resolve_addresses`** — Bulk version of `homes_get_by_address` (up to 100 addresses, input order preserved, per-row outcomes). Prefer for any batch ≥ 3.\n\n### Property details\n\n- **`homes_get_property`** — Full record for a property by URL. Parses JSON-LD + DOM-side sections: address, lat/lng, beds/baths, sqft, year built, price, status, listing agent + brokerage, highlights, schools, HOA (raw + normalized monthly), lot size (sqft + derived acres), parking, heating/cooling, MLS id/source, tax, days-on-market, price drops, and server-derived `extracted_features`. Optional inline `price_history` / `tax_history`.\n- **`homes_get_property_photos`** — Full photo gallery scraped from `<img>` tags on the detail page (JSON-LD carries only one image). Returns `{ url, position, alt? }` per photo, filtered to the homes.com CDN.\n- **`homes_bulk_get`** — Fetch up to 200 properties' structured records in one call (per-row errors captured, input order preserved). Use instead of looping when you just want the records.\n- **`homes_compare_properties`** — Side-by-side comparison of 2–8 properties with an aligned summary table. Concurrent fetches, per-row errors.\n- **`homes_get_nearby_listings`** — The \"Homes for Sale Near This Property\" cross-link cards from a detail page (For Sale, optionally Rentals). URL + address only.\n\n### History & market\n\n- **`homes_get_history`** — Combined price + tax history in one fetch: `listing_events`, `ownership_events`, `lien_events`, cross-MCP-normalized `events_normalized`, and `tax_records`. (Preferred over the two split tools below.)\n- **`homes_get_property_history`** — *Deprecated* — price/ownership/lien timelines only. Prefer `homes_get_history`.\n- **`homes_get_tax_history`** — *Deprecated* — year-by-year tax records only. Prefer `homes_get_history`.\n- **`homes_get_market_report`** — Median / average / $-per-sqft for a market, derived from the `sold` search page's JSON-LD.\n\n### Saved (auth-gated)\n\n- **`homes_get_saved_homes`** — The signed-in user's saved (favorited) homes. Requires an authenticated homes.com tab.\n- **`homes_get_saved_searches`** — The signed-in user's saved searches. Requires an authenticated homes.com tab.\n\n### Local calculators (no network)\n\n- **`homes_calculate_mortgage`** — Local PITI calculator (price, rate, down payment, taxes, insurance, HOA, PMI → monthly breakdown).\n- **`homes_calculate_affordability`** — Local affordability calculator — max purchase price under standard 28/36 DTI.\n- **`homes_estimate_rent_vs_buy`** — Local rent-vs-buy model. **You must supply `monthly_rent`** — homes.com publishes no rental estimate to impute it (see Gotchas).\n\n### Diagnostics & sessions\n\n- **`homes_healthcheck`** — Round-trips `/robots.txt` through the fetchproxy bridge; distinguishes \"bridge down\" vs \"extension not connected\" vs \"homes.com-side problem.\"\n- **`homes_get_session_context`**, **`homes_register_session`**, **`homes_set_active_session`** — List / register / switch logical homes.com sessions.\n\n## Trigger examples\n\n- \"Find me condos for sale in Atlanta under $500k on homes.com\" → `homes_search_properties` (with `price_max`)\n- \"Resolve 3199 Delmar Ln NW, Atlanta GA to a homes.com listing\" → `homes_get_by_address`\n- \"What's the price history for this homes.com listing?\" → `homes_get_history` (or `homes_get_property` with `include_price_history`)\n- \"Show me all photos for this homes.com listing\" → `homes_get_property_photos`\n- \"What's the market report for sold homes in Brooklyn?\" → `homes_get_market_report`\n- \"List my saved homes on homes.com\" → `homes_get_saved_homes`\n- \"Monthly payment on a $500k home, 20% down, 6.5% rate\" → `homes_calculate_mortgage`\n\n## Gotchas\n\n- **AWS WAF challenge.** homes.com (CoStar) gates traffic through AWS WAF and occasionally serves a challenge page to fresh sessions. Solving it in the Chrome tab once unblocks subsequent fetches; the client detects the interstitial and throws `SessionNotAuthenticatedError`.\n- **No write surface.** All tools are read-only. Saving a home / contact forms are not implemented.\n- **Property URL is required for detail tools.** `get_property`, `get_property_photos`, `compare_properties`, history, photos, and nearby all need a full property URL from a search or `get_by_address` result — there's no stable way to construct one from a property id alone.\n- **No rental estimate to impute.** homes.com publishes no `rent_zestimate` analogue, so `homes_estimate_rent_vs_buy` requires you to pass `monthly_rent`. For a rent figure to plug in, use a sibling MCP (`zillow_get_property` carries `rent_zestimate`; `redfin_get_comparable_rentals` returns rental comps).\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"homes-mcp\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1783468662742\n}\n\nFile v1.0.3:skill-card.md\n\n## Description:\n\nLook up real-estate listings, property details, price and tax history, market reports, saved homes, and photo galleries on homes.com via MCP.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and real-estate researchers use this skill to ask an agent for homes.com listing search, property records, price and tax history, market reports, saved homes, saved searches, photo galleries, and local mortgage or affordability calculations.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill asks users to run an unpinned npm MCP package.\n\nMitigation: Pin and review the exact homes-mcp package version before installation or deployment.\n\nRisk: The skill depends on a separate Chrome extension that routes requests through a signed-in browser session.\n\nMitigation: Install the extension only after source review, and use a dedicated Chrome profile with only the homes.com session needed for this workflow.\n\nRisk: Saved homes and saved searches may expose private account data to the MCP flow.\n\nMitigation: Treat saved homes and saved searches as private data and limit use to trusted agent sessions.\n\nRisk: homes.com does not publish a public consumer API, so page structure changes or WAF challenges can interrupt extraction.\n\nMitigation: Treat extracted data as a lookup aid, handle failures explicitly, and verify important property information with authoritative sources before decisions.\n\n## Reference(s):\n\n- [homes-mcp package on npm](https://www.npmjs.com/package/homes-mcp)\n- [homes-mcp project reference](https://github.com/chrischall/homes-mcp)\n- [fetchproxy extension setup](https://github.com/chrischall/fetchproxy)\n- [ClawHub skill page](https://clawhub.ai/chrischall/skills/homes-mcp)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Natural-language responses, Markdown summaries, JSON-style MCP configuration snippets, and shell commands.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Read-only MCP lookup flow; results depend on homes.com page availability, fetchproxy connectivity, and an authenticated browser session for saved homes or saved searches.]\n\n## Skill Version(s):\n\n1.0.3 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.2: 3 files, 5085 bytes\n\nFiles: skill-card.md (2819b), SKILL.md (7720b), _meta.json (128b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: homes-mcp\ndescription: Look up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. Triggers on phrases like \"find homes on homes.com in\", \"homes.com property details for\", \"what does homes.com say about\", \"homes.com price history for\", or any request involving homes.com properties, prices, history, or photos. Requires homes-mcp installed and the fetchproxy extension active (see Setup below).\n---\n\n# homes-mcp\n\nMCP server for homes.com — natural-language access to listings, property records, price/tax history, market reports, saved homes/searches, and photo galleries. Routes through your signed-in homes.com tab via the fetchproxy browser extension, so AWS WAF sees a real browser session instead of a Node process.\n\n- **npm:** [npmjs.com/package/homes-mcp](https://www.npmjs.com/package/homes-mcp)\n- **Source:** [github.com/chrischall/homes-mcp](https://github.com/chrischall/homes-mcp)\n\n> ⚠️ homes.com does not publish a public consumer API. This server reads the Schema.org JSON-LD blob (and some DOM-side sections) embedded in each SSR page, dispatched through your own signed-in browser tab via the fetchproxy extension. Use at your own discretion.\n\n## Setup\n\n### 1. Install homes-mcp\n\n`.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}\n```\n\n### 2. Install the fetchproxy extension (one-time, shared across all fetchproxy-based MCPs)\n\nThe extension lives in its own repo and is installed separately — it is **not** bundled in this repo. Follow the install instructions at [github.com/chrischall/fetchproxy](https://github.com/chrischall/fetchproxy), then load the built extension in Chrome via `chrome://extensions` → Developer mode → Load unpacked.\n\n### 3. Open homes.com and sign in.\n\nThat's it. No API keys, no env vars. (Sign-in isn't strictly required for the public-listing tools, but having a real session active helps the page render the way the extractors expect — and saved-homes / saved-searches require it.)\n\n## Tools\n\n### Search & resolve\n\n- **`homes_search_properties`** — Search by free-text location (city, ZIP, neighborhood). Slugifies the input into homes.com's URL routing. Filters by `property_type`, `listing_type`, `sort`, and a `price_min`/`price_max` band (homes.com's `?price-min=`/`?price-max=` query facet). Returns each listing's address, price, beds/baths, sqft, primary photo, listing agent + brokerage. Caps at the ~40-listing SSR page; sets `truncated`/`total_estimated` when the market has more.\n- **`homes_get_by_address`** — Resolve a single US street address to its canonical homes.com property URL + opaque property hash. Walks structured smartsearch typeahead → slug routing → city/zip search-fallback, verifying each candidate with a whole-token street + unit match. Returns `matched_via` and degrades gracefully to `{ resolved: false }`.\n- **`homes_resolve_addresses`** — Bulk version of `homes_get_by_address` (up to 100 addresses, input order preserved, per-row outcomes). Prefer for any batch ≥ 3.\n\n### Property details\n\n- **`homes_get_property`** — Full record for a property by URL. Parses JSON-LD + DOM-side sections: address, lat/lng, beds/baths, sqft, year built, price, status, listing agent + brokerage, highlights, schools, HOA (raw + normalized monthly), lot size (sqft + derived acres), parking, heating/cooling, MLS id/source, tax, days-on-market, price drops, and server-derived `extracted_features`. Optional inline `price_history` / `tax_history`.\n- **`homes_get_property_photos`** — Full photo gallery scraped from `<img>` tags on the detail page (JSON-LD carries only one image). Returns `{ url, position, alt? }` per photo, filtered to the homes.com CDN.\n- **`homes_bulk_get`** — Fetch up to 200 properties' structured records in one call (per-row errors captured, input order preserved). Use instead of looping when you just want the records.\n- **`homes_compare_properties`** — Side-by-side comparison of 2–8 properties with an aligned summary table. Concurrent fetches, per-row errors.\n- **`homes_get_nearby_listings`** — The \"Homes for Sale Near This Property\" cross-link cards from a detail page (For Sale, optionally Rentals). URL + address only.\n\n### History & market\n\n- **`homes_get_history`** — Combined price + tax history in one fetch: `listing_events`, `ownership_events`, `lien_events`, cross-MCP-normalized `events_normalized`, and `tax_records`. (Preferred over the two split tools below.)\n- **`homes_get_property_history`** — *Deprecated* — price/ownership/lien timelines only. Prefer `homes_get_history`.\n- **`homes_get_tax_history`** — *Deprecated* — year-by-year tax records only. Prefer `homes_get_history`.\n- **`homes_get_market_report`** — Median / average / $-per-sqft for a market, derived from the `sold` search page's JSON-LD.\n\n### Saved (auth-gated)\n\n- **`homes_get_saved_homes`** — The signed-in user's saved (favorited) homes. Requires an authenticated homes.com tab.\n- **`homes_get_saved_searches`** — The signed-in user's saved searches. Requires an authenticated homes.com tab.\n\n### Local calculators (no network)\n\n- **`homes_calculate_mortgage`** — Local PITI calculator (price, rate, down payment, taxes, insurance, HOA, PMI → monthly breakdown).\n- **`homes_calculate_affordability`** — Local affordability calculator — max purchase price under standard 28/36 DTI.\n- **`homes_estimate_rent_vs_buy`** — Local rent-vs-buy model. **You must supply `monthly_rent`** — homes.com publishes no rental estimate to impute it (see Gotchas).\n\n### Diagnostics & sessions\n\n- **`homes_healthcheck`** — Round-trips `/robots.txt` through the fetchproxy bridge; distinguishes \"bridge down\" vs \"extension not connected\" vs \"homes.com-side problem.\"\n- **`homes_get_session_context`**, **`homes_register_session`**, **`homes_set_active_session`** — List / register / switch logical homes.com sessions.\n\n## Trigger examples\n\n- \"Find me condos for sale in Atlanta under $500k on homes.com\" → `homes_search_properties` (with `price_max`)\n- \"Resolve 3199 Delmar Ln NW, Atlanta GA to a homes.com listing\" → `homes_get_by_address`\n- \"What's the price history for this homes.com listing?\" → `homes_get_history` (or `homes_get_property` with `include_price_history`)\n- \"Show me all photos for this homes.com listing\" → `homes_get_property_photos`\n- \"What's the market report for sold homes in Brooklyn?\" → `homes_get_market_report`\n- \"List my saved homes on homes.com\" → `homes_get_saved_homes`\n- \"Monthly payment on a $500k home, 20% down, 6.5% rate\" → `homes_calculate_mortgage`\n\n## Gotchas\n\n- **AWS WAF challenge.** homes.com (CoStar) gates traffic through AWS WAF and occasionally serves a challenge page to fresh sessions. Solving it in the Chrome tab once unblocks subsequent fetches; the client detects the interstitial and throws `SessionNotAuthenticatedError`.\n- **No write surface.** All tools are read-only. Saving a home / contact forms are not implemented.\n- **Property URL is required for detail tools.** `get_property`, `get_property_photos`, `compare_properties`, history, photos, and nearby all need a full property URL from a search or `get_by_address` result — there's no stable way to construct one from a property id alone.\n- **No rental estimate to impute.** homes.com publishes no `rent_zestimate` analogue, so `homes_estimate_rent_vs_buy` requires you to pass `monthly_rent`. For a rent figure to plug in, use a sibling MCP (`zillow_get_property` carries `rent_zestimate`; `redfin_get_comparable_rentals` returns rental comps).\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"homes-mcp\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1781534019534\n}\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nLook up real-estate listings, property details, price and tax history, market reports, saved homes, and photo galleries on homes.com via MCP. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[chrischall](https://clawhub.ai/user/chrischall) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users, developers, and real-estate researchers use this skill to query homes.com listings, property records, saved homes, price and tax history, market reports, and photo galleries through an MCP server. It is intended for read-only real-estate lookup and comparison workflows, with saved-home and saved-search access requiring an authenticated homes.com browser session. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The MCP and fetchproxy extension can read homes.com pages through the user's active browser session, including saved homes or saved searches when requested. <br>\nMitigation: Install only when comfortable with that browser-session access, and avoid requesting account-specific saved-home or saved-search data unless it is needed. <br>\nRisk: The skill depends on a separately installed npm package and Chrome extension that are not bundled in the skill artifact. <br>\nMitigation: Review the external homes-mcp package and fetchproxy extension before enabling them. <br>\nRisk: homes.com does not publish a public consumer API, so extraction can be affected by site changes, authentication state, or WAF challenges. <br>\nMitigation: Treat returned listings and history as website-derived data, verify important results against homes.com directly, and resolve browser-session challenges before retrying. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/chrischall/homes-mcp) <br>\n- [homes-mcp npm package](https://www.npmjs.com/package/homes-mcp) <br>\n- [homes-mcp repository listed in artifact](https://github.com/chrischall/homes-mcp) <br>\n- [fetchproxy extension repository](https://github.com/chrischall/fetchproxy) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown with setup snippets and MCP tool results summarized in text] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Read-only homes.com data; saved homes and saved searches require an authenticated browser session.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.1: 3 files, 4772 bytes\n\nFiles: skill-card.md (1955b), SKILL.md (7720b), _meta.json (128b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: homes-mcp\ndescription: Look up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. Triggers on phrases like \"find homes on homes.com in\", \"homes.com property details for\", \"what does homes.com say about\", \"homes.com price history for\", or any request involving homes.com properties, prices, history, or photos. Requires homes-mcp installed and the fetchproxy extension active (see Setup below).\n---\n\n# homes-mcp\n\nMCP server for homes.com — natural-language access to listings, property records, price/tax history, market reports, saved homes/searches, and photo galleries. Routes through your signed-in homes.com tab via the fetchproxy browser extension, so AWS WAF sees a real browser session instead of a Node process.\n\n- **npm:** [npmjs.com/package/homes-mcp](https://www.npmjs.com/package/homes-mcp)\n- **Source:** [github.com/chrischall/homes-mcp](https://github.com/chrischall/homes-mcp)\n\n> ⚠️ homes.com does not publish a public consumer API. This server reads the Schema.org JSON-LD blob (and some DOM-side sections) embedded in each SSR page, dispatched through your own signed-in browser tab via the fetchproxy extension. Use at your own discretion.\n\n## Setup\n\n### 1. Install homes-mcp\n\n`.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}\n```\n\n### 2. Install the fetchproxy extension (one-time, shared across all fetchproxy-based MCPs)\n\nThe extension lives in its own repo and is installed separately — it is **not** bundled in this repo. Follow the install instructions at [github.com/chrischall/fetchproxy](https://github.com/chrischall/fetchproxy), then load the built extension in Chrome via `chrome://extensions` → Developer mode → Load unpacked.\n\n### 3. Open homes.com and sign in.\n\nThat's it. No API keys, no env vars. (Sign-in isn't strictly required for the public-listing tools, but having a real session active helps the page render the way the extractors expect — and saved-homes / saved-searches require it.)\n\n## Tools\n\n### Search & resolve\n\n- **`homes_search_properties`** — Search by free-text location (city, ZIP, neighborhood). Slugifies the input into homes.com's URL routing. Filters by `property_type`, `listing_type`, `sort`, and a `price_min`/`price_max` band (homes.com's `?price-min=`/`?price-max=` query facet). Returns each listing's address, price, beds/baths, sqft, primary photo, listing agent + brokerage. Caps at the ~40-listing SSR page; sets `truncated`/`total_estimated` when the market has more.\n- **`homes_get_by_address`** — Resolve a single US street address to its canonical homes.com property URL + opaque property hash. Walks structured smartsearch typeahead → slug routing → city/zip search-fallback, verifying each candidate with a whole-token street + unit match. Returns `matched_via` and degrades gracefully to `{ resolved: false }`.\n- **`homes_resolve_addresses`** — Bulk version of `homes_get_by_address` (up to 100 addresses, input order preserved, per-row outcomes). Prefer for any batch ≥ 3.\n\n### Property details\n\n- **`homes_get_property`** — Full record for a property by URL. Parses JSON-LD + DOM-side sections: address, lat/lng, beds/baths, sqft, year built, price, status, listing agent + brokerage, highlights, schools, HOA (raw + normalized monthly), lot size (sqft + derived acres), parking, heating/cooling, MLS id/source, tax, days-on-market, price drops, and server-derived `extracted_features`. Optional inline `price_history` / `tax_history`.\n- **`homes_get_property_photos`** — Full photo gallery scraped from `<img>` tags on the detail page (JSON-LD carries only one image). Returns `{ url, position, alt? }` per photo, filtered to the homes.com CDN.\n- **`homes_bulk_get`** — Fetch up to 200 properties' structured records in one call (per-row errors captured, input order preserved). Use instead of looping when you just want the records.\n- **`homes_compare_properties`** — Side-by-side comparison of 2–8 properties with an aligned summary table. Concurrent fetches, per-row errors.\n- **`homes_get_nearby_listings`** — The \"Homes for Sale Near This Property\" cross-link cards from a detail page (For Sale, optionally Rentals). URL + address only.\n\n### History & market\n\n- **`homes_get_history`** — Combined price + tax history in one fetch: `listing_events`, `ownership_events`, `lien_events`, cross-MCP-normalized `events_normalized`, and `tax_records`. (Preferred over the two split tools below.)\n- **`homes_get_property_history`** — *Deprecated* — price/ownership/lien timelines only. Prefer `homes_get_history`.\n- **`homes_get_tax_history`** — *Deprecated* — year-by-year tax records only. Prefer `homes_get_history`.\n- **`homes_get_market_report`** — Median / average / $-per-sqft for a market, derived from the `sold` search page's JSON-LD.\n\n### Saved (auth-gated)\n\n- **`homes_get_saved_homes`** — The signed-in user's saved (favorited) homes. Requires an authenticated homes.com tab.\n- **`homes_get_saved_searches`** — The signed-in user's saved searches. Requires an authenticated homes.com tab.\n\n### Local calculators (no network)\n\n- **`homes_calculate_mortgage`** — Local PITI calculator (price, rate, down payment, taxes, insurance, HOA, PMI → monthly breakdown).\n- **`homes_calculate_affordability`** — Local affordability calculator — max purchase price under standard 28/36 DTI.\n- **`homes_estimate_rent_vs_buy`** — Local rent-vs-buy model. **You must supply `monthly_rent`** — homes.com publishes no rental estimate to impute it (see Gotchas).\n\n### Diagnostics & sessions\n\n- **`homes_healthcheck`** — Round-trips `/robots.txt` through the fetchproxy bridge; distinguishes \"bridge down\" vs \"extension not connected\" vs \"homes.com-side problem.\"\n- **`homes_get_session_context`**, **`homes_register_session`**, **`homes_set_active_session`** — List / register / switch logical homes.com sessions.\n\n## Trigger examples\n\n- \"Find me condos for sale in Atlanta under $500k on homes.com\" → `homes_search_properties` (with `price_max`)\n- \"Resolve 3199 Delmar Ln NW, Atlanta GA to a homes.com listing\" → `homes_get_by_address`\n- \"What's the price history for this homes.com listing?\" → `homes_get_history` (or `homes_get_property` with `include_price_history`)\n- \"Show me all photos for this homes.com listing\" → `homes_get_property_photos`\n- \"What's the market report for sold homes in Brooklyn?\" → `homes_get_market_report`\n- \"List my saved homes on homes.com\" → `homes_get_saved_homes`\n- \"Monthly payment on a $500k home, 20% down, 6.5% rate\" → `homes_calculate_mortgage`\n\n## Gotchas\n\n- **AWS WAF challenge.** homes.com (CoStar) gates traffic through AWS WAF and occasionally serves a challenge page to fresh sessions. Solving it in the Chrome tab once unblocks subsequent fetches; the client detects the interstitial and throws `SessionNotAuthenticatedError`.\n- **No write surface.** All tools are read-only. Saving a home / contact forms are not implemented.\n- **Property URL is required for detail tools.** `get_property`, `get_property_photos`, `compare_properties`, history, photos, and nearby all need a full property URL from a search or `get_by_address` result — there's no stable way to construct one from a property id alone.\n- **No rental estimate to impute.** homes.com publishes no `rent_zestimate` analogue, so `homes_estimate_rent_vs_buy` requires you to pass `monthly_rent`. For a rent figure to plug in, use a sibling MCP (`zillow_get_property` carries `rent_zestimate`; `redfin_get_comparable_rentals` returns rental comps).\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"homes-mcp\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1781312072900\n}\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nLook up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[chrischall](https://clawhub.ai/user/chrischall) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and external users use this skill to let an agent query Homes.com listings, property records, history, market reports, photos, and local mortgage or affordability calculators through the homes-mcp server. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can access saved Homes.com homes and saved searches from a signed-in browser session. <br>\nMitigation: Invoke saved-data tools only after an explicit user request or confirmation, and avoid using account-data tools for general real-estate questions. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Homes MCP Listing](https://clawhub.ai/chrischall/homes-mcp) <br>\n- [homes-mcp npm Package](https://www.npmjs.com/package/homes-mcp) <br>\n- [fetchproxy Extension](https://github.com/chrischall/fetchproxy) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Configuration, Guidance] <br>\n**Output Format:** [Markdown with structured real-estate details, setup snippets, and short tool-use guidance.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Read-only Homes.com property and saved-account data; saved homes and saved searches require a signed-in Homes.com browser session.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.0: 3 files, 4797 bytes\n\nFiles: skill-card.md (1979b), SKILL.md (7720b), _meta.json (128b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: homes-mcp\ndescription: Look up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. Triggers on phrases like \"find homes on homes.com in\", \"homes.com property details for\", \"what does homes.com say about\", \"homes.com price history for\", or any request involving homes.com properties, prices, history, or photos. Requires homes-mcp installed and the fetchproxy extension active (see Setup below).\n---\n\n# homes-mcp\n\nMCP server for homes.com — natural-language access to listings, property records, price/tax history, market reports, saved homes/searches, and photo galleries. Routes through your signed-in homes.com tab via the fetchproxy browser extension, so AWS WAF sees a real browser session instead of a Node process.\n\n- **npm:** [npmjs.com/package/homes-mcp](https://www.npmjs.com/package/homes-mcp)\n- **Source:** [github.com/chrischall/homes-mcp](https://github.com/chrischall/homes-mcp)\n\n> ⚠️ homes.com does not publish a public consumer API. This server reads the Schema.org JSON-LD blob (and some DOM-side sections) embedded in each SSR page, dispatched through your own signed-in browser tab via the fetchproxy extension. Use at your own discretion.\n\n## Setup\n\n### 1. Install homes-mcp\n\n`.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}\n```\n\n### 2. Install the fetchproxy extension (one-time, shared across all fetchproxy-based MCPs)\n\nThe extension lives in its own repo and is installed separately — it is **not** bundled in this repo. Follow the install instructions at [github.com/chrischall/fetchproxy](https://github.com/chrischall/fetchproxy), then load the built extension in Chrome via `chrome://extensions` → Developer mode → Load unpacked.\n\n### 3. Open homes.com and sign in.\n\nThat's it. No API keys, no env vars. (Sign-in isn't strictly required for the public-listing tools, but having a real session active helps the page render the way the extractors expect — and saved-homes / saved-searches require it.)\n\n## Tools\n\n### Search & resolve\n\n- **`homes_search_properties`** — Search by free-text location (city, ZIP, neighborhood). Slugifies the input into homes.com's URL routing. Filters by `property_type`, `listing_type`, `sort`, and a `price_min`/`price_max` band (homes.com's `?price-min=`/`?price-max=` query facet). Returns each listing's address, price, beds/baths, sqft, primary photo, listing agent + brokerage. Caps at the ~40-listing SSR page; sets `truncated`/`total_estimated` when the market has more.\n- **`homes_get_by_address`** — Resolve a single US street address to its canonical homes.com property URL + opaque property hash. Walks structured smartsearch typeahead → slug routing → city/zip search-fallback, verifying each candidate with a whole-token street + unit match. Returns `matched_via` and degrades gracefully to `{ resolved: false }`.\n- **`homes_resolve_addresses`** — Bulk version of `homes_get_by_address` (up to 100 addresses, input order preserved, per-row outcomes). Prefer for any batch ≥ 3.\n\n### Property details\n\n- **`homes_get_property`** — Full record for a property by URL. Parses JSON-LD + DOM-side sections: address, lat/lng, beds/baths, sqft, year built, price, status, listing agent + brokerage, highlights, schools, HOA (raw + normalized monthly), lot size (sqft + derived acres), parking, heating/cooling, MLS id/source, tax, days-on-market, price drops, and server-derived `extracted_features`. Optional inline `price_history` / `tax_history`.\n- **`homes_get_property_photos`** — Full photo gallery scraped from `<img>` tags on the detail page (JSON-LD carries only one image). Returns `{ url, position, alt? }` per photo, filtered to the homes.com CDN.\n- **`homes_bulk_get`** — Fetch up to 200 properties' structured records in one call (per-row errors captured, input order preserved). Use instead of looping when you just want the records.\n- **`homes_compare_properties`** — Side-by-side comparison of 2–8 properties with an aligned summary table. Concurrent fetches, per-row errors.\n- **`homes_get_nearby_listings`** — The \"Homes for Sale Near This Property\" cross-link cards from a detail page (For Sale, optionally Rentals). URL + address only.\n\n### History & market\n\n- **`homes_get_history`** — Combined price + tax history in one fetch: `listing_events`, `ownership_events`, `lien_events`, cross-MCP-normalized `events_normalized`, and `tax_records`. (Preferred over the two split tools below.)\n- **`homes_get_property_history`** — *Deprecated* — price/ownership/lien timelines only. Prefer `homes_get_history`.\n- **`homes_get_tax_history`** — *Deprecated* — year-by-year tax records only. Prefer `homes_get_history`.\n- **`homes_get_market_report`** — Median / average / $-per-sqft for a market, derived from the `sold` search page's JSON-LD.\n\n### Saved (auth-gated)\n\n- **`homes_get_saved_homes`** — The signed-in user's saved (favorited) homes. Requires an authenticated homes.com tab.\n- **`homes_get_saved_searches`** — The signed-in user's saved searches. Requires an authenticated homes.com tab.\n\n### Local calculators (no network)\n\n- **`homes_calculate_mortgage`** — Local PITI calculator (price, rate, down payment, taxes, insurance, HOA, PMI → monthly breakdown).\n- **`homes_calculate_affordability`** — Local affordability calculator — max purchase price under standard 28/36 DTI.\n- **`homes_estimate_rent_vs_buy`** — Local rent-vs-buy model. **You must supply `monthly_rent`** — homes.com publishes no rental estimate to impute it (see Gotchas).\n\n### Diagnostics & sessions\n\n- **`homes_healthcheck`** — Round-trips `/robots.txt` through the fetchproxy bridge; distinguishes \"bridge down\" vs \"extension not connected\" vs \"homes.com-side problem.\"\n- **`homes_get_session_context`**, **`homes_register_session`**, **`homes_set_active_session`** — List / register / switch logical homes.com sessions.\n\n## Trigger examples\n\n- \"Find me condos for sale in Atlanta under $500k on homes.com\" → `homes_search_properties` (with `price_max`)\n- \"Resolve 3199 Delmar Ln NW, Atlanta GA to a homes.com listing\" → `homes_get_by_address`\n- \"What's the price history for this homes.com listing?\" → `homes_get_history` (or `homes_get_property` with `include_price_history`)\n- \"Show me all photos for this homes.com listing\" → `homes_get_property_photos`\n- \"What's the market report for sold homes in Brooklyn?\" → `homes_get_market_report`\n- \"List my saved homes on homes.com\" → `homes_get_saved_homes`\n- \"Monthly payment on a $500k home, 20% down, 6.5% rate\" → `homes_calculate_mortgage`\n\n## Gotchas\n\n- **AWS WAF challenge.** homes.com (CoStar) gates traffic through AWS WAF and occasionally serves a challenge page to fresh sessions. Solving it in the Chrome tab once unblocks subsequent fetches; the client detects the interstitial and throws `SessionNotAuthenticatedError`.\n- **No write surface.** All tools are read-only. Saving a home / contact forms are not implemented.\n- **Property URL is required for detail tools.** `get_property`, `get_property_photos`, `compare_properties`, history, photos, and nearby all need a full property URL from a search or `get_by_address` result — there's no stable way to construct one from a property id alone.\n- **No rental estimate to impute.** homes.com publishes no `rent_zestimate` analogue, so `homes_estimate_rent_vs_buy` requires you to pass `monthly_rent`. For a rent figure to plug in, use a sibling MCP (`zillow_get_property` carries `rent_zestimate`; `redfin_get_comparable_rentals` returns rental comps).\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"homes-mcp\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1781057409947\n}\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nProvides natural-language MCP access to homes.com listings, property details, price and tax history, market reports, saved homes, and photo galleries through an installed homes-mcp server and active fetchproxy browser extension. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[chrischall](https://clawhub.ai/user/chrischall) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and real-estate researchers use this skill to query homes.com listings, resolve addresses, compare properties, retrieve price and tax histories, inspect photo galleries, and run local mortgage or affordability calculations from an agent workflow. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Review before execution as proposals could introduce incorrect or misleading guidance into skills. <br>\nMitigation: Review and scan skill before deployment. <br>\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/chrischall/homes-mcp) <br>\n- [homes-mcp npm package](https://www.npmjs.com/package/homes-mcp) <br>\n- [fetchproxy extension setup](https://github.com/chrischall/fetchproxy) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, configuration, guidance] <br>\n**Output Format:** [Markdown and structured MCP tool responses] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Read-only homes.com integration; saved homes and saved searches require the user's signed-in browser session and should be enabled with project-level MCP scope when possible.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.12.2: 3 files, 4973 bytes\n\nFiles: skill-card.md (2533b), SKILL.md (7720b), _meta.json (129b)\n\nFile v0.12.2:SKILL.md\n\n---\nname: homes-mcp\ndescription: Look up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. Triggers on phrases like \"find homes on homes.com in\", \"homes.com property details for\", \"what does homes.com say about\", \"homes.com price history for\", or any request involving homes.com properties, prices, history, or photos. Requires homes-mcp installed and the fetchproxy extension active (see Setup below).\n---\n\n# homes-mcp\n\nMCP server for homes.com — natural-language access to listings, property records, price/tax history, market reports, saved homes/searches, and photo galleries. Routes through your signed-in homes.com tab via the fetchproxy browser extension, so AWS WAF sees a real browser session instead of a Node process.\n\n- **npm:** [npmjs.com/package/homes-mcp](https://www.npmjs.com/package/homes-mcp)\n- **Source:** [github.com/chrischall/homes-mcp](https://github.com/chrischall/homes-mcp)\n\n> ⚠️ homes.com does not publish a public consumer API. This server reads the Schema.org JSON-LD blob (and some DOM-side sections) embedded in each SSR page, dispatched through your own signed-in browser tab via the fetchproxy extension. Use at your own discretion.\n\n## Setup\n\n### 1. Install homes-mcp\n\n`.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}\n```\n\n### 2. Install the fetchproxy extension (one-time, shared across all fetchproxy-based MCPs)\n\nThe extension lives in its own repo and is installed separately — it is **not** bundled in this repo. Follow the install instructions at [github.com/chrischall/fetchproxy](https://github.com/chrischall/fetchproxy), then load the built extension in Chrome via `chrome://extensions` → Developer mode → Load unpacked.\n\n### 3. Open homes.com and sign in.\n\nThat's it. No API keys, no env vars. (Sign-in isn't strictly required for the public-listing tools, but having a real session active helps the page render the way the extractors expect — and saved-homes / saved-searches require it.)\n\n## Tools\n\n### Search & resolve\n\n- **`homes_search_properties`** — Search by free-text location (city, ZIP, neighborhood). Slugifies the input into homes.com's URL routing. Filters by `property_type`, `listing_type`, `sort`, and a `price_min`/`price_max` band (homes.com's `?price-min=`/`?price-max=` query facet). Returns each listing's address, price, beds/baths, sqft, primary photo, listing agent + brokerage. Caps at the ~40-listing SSR page; sets `truncated`/`total_estimated` when the market has more.\n- **`homes_get_by_address`** — Resolve a single US street address to its canonical homes.com property URL + opaque property hash. Walks structured smartsearch typeahead → slug routing → city/zip search-fallback, verifying each candidate with a whole-token street + unit match. Returns `matched_via` and degrades gracefully to `{ resolved: false }`.\n- **`homes_resolve_addresses`** — Bulk version of `homes_get_by_address` (up to 100 addresses, input order preserved, per-row outcomes). Prefer for any batch ≥ 3.\n\n### Property details\n\n- **`homes_get_property`** — Full record for a property by URL. Parses JSON-LD + DOM-side sections: address, lat/lng, beds/baths, sqft, year built, price, status, listing agent + brokerage, highlights, schools, HOA (raw + normalized monthly), lot size (sqft + derived acres), parking, heating/cooling, MLS id/source, tax, days-on-market, price drops, and server-derived `extracted_features`. Optional inline `price_history` / `tax_history`.\n- **`homes_get_property_photos`** — Full photo gallery scraped from `<img>` tags on the detail page (JSON-LD carries only one image). Returns `{ url, position, alt? }` per photo, filtered to the homes.com CDN.\n- **`homes_bulk_get`** — Fetch up to 200 properties' structured records in one call (per-row errors captured, input order preserved). Use instead of looping when you just want the records.\n- **`homes_compare_properties`** — Side-by-side comparison of 2–8 properties with an aligned summary table. Concurrent fetches, per-row errors.\n- **`homes_get_nearby_listings`** — The \"Homes for Sale Near This Property\" cross-link cards from a detail page (For Sale, optionally Rentals). URL + address only.\n\n### History & market\n\n- **`homes_get_history`** — Combined price + tax history in one fetch: `listing_events`, `ownership_events`, `lien_events`, cross-MCP-normalized `events_normalized`, and `tax_records`. (Preferred over the two split tools below.)\n- **`homes_get_property_history`** — *Deprecated* — price/ownership/lien timelines only. Prefer `homes_get_history`.\n- **`homes_get_tax_history`** — *Deprecated* — year-by-year tax records only. Prefer `homes_get_history`.\n- **`homes_get_market_report`** — Median / average / $-per-sqft for a market, derived from the `sold` search page's JSON-LD.\n\n### Saved (auth-gated)\n\n- **`homes_get_saved_homes`** — The signed-in user's saved (favorited) homes. Requires an authenticated homes.com tab.\n- **`homes_get_saved_searches`** — The signed-in user's saved searches. Requires an authenticated homes.com tab.\n\n### Local calculators (no network)\n\n- **`homes_calculate_mortgage`** — Local PITI calculator (price, rate, down payment, taxes, insurance, HOA, PMI → monthly breakdown).\n- **`homes_calculate_affordability`** — Local affordability calculator — max purchase price under standard 28/36 DTI.\n- **`homes_estimate_rent_vs_buy`** — Local rent-vs-buy model. **You must supply `monthly_rent`** — homes.com publishes no rental estimate to impute it (see Gotchas).\n\n### Diagnostics & sessions\n\n- **`homes_healthcheck`** — Round-trips `/robots.txt` through the fetchproxy bridge; distinguishes \"bridge down\" vs \"extension not connected\" vs \"homes.com-side problem.\"\n- **`homes_get_session_context`**, **`homes_register_session`**, **`homes_set_active_session`** — List / register / switch logical homes.com sessions.\n\n## Trigger examples\n\n- \"Find me condos for sale in Atlanta under $500k on homes.com\" → `homes_search_properties` (with `price_max`)\n- \"Resolve 3199 Delmar Ln NW, Atlanta GA to a homes.com listing\" → `homes_get_by_address`\n- \"What's the price history for this homes.com listing?\" → `homes_get_history` (or `homes_get_property` with `include_price_history`)\n- \"Show me all photos for this homes.com listing\" → `homes_get_property_photos`\n- \"What's the market report for sold homes in Brooklyn?\" → `homes_get_market_report`\n- \"List my saved homes on homes.com\" → `homes_get_saved_homes`\n- \"Monthly payment on a $500k home, 20% down, 6.5% rate\" → `homes_calculate_mortgage`\n\n## Gotchas\n\n- **AWS WAF challenge.** homes.com (CoStar) gates traffic through AWS WAF and occasionally serves a challenge page to fresh sessions. Solving it in the Chrome tab once unblocks subsequent fetches; the client detects the interstitial and throws `SessionNotAuthenticatedError`.\n- **No write surface.** All tools are read-only. Saving a home / contact forms are not implemented.\n- **Property URL is required for detail tools.** `get_property`, `get_property_photos`, `compare_properties`, history, photos, and nearby all need a full property URL from a search or `get_by_address` result — there's no stable way to construct one from a property id alone.\n- **No rental estimate to impute.** homes.com publishes no `rent_zestimate` analogue, so `homes_estimate_rent_vs_buy` requires you to pass `monthly_rent`. For a rent figure to plug in, use a sibling MCP (`zillow_get_property` carries `rent_zestimate`; `redfin_get_comparable_rentals` returns rental comps).\n\nFile v0.12.2:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"homes-mcp\",\n  \"version\": \"0.12.2\",\n  \"publishedAt\": 1780860927000\n}\n\nFile v0.12.2:skill-card.md\n\n## Description: <br>\nLook up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[chrischall](https://clawhub.ai/user/chrischall) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and real-estate workflows use this skill to query homes.com listings, property details, price and tax history, market reports, saved homes, saved searches, photos, and local mortgage or affordability calculations through an MCP server. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can read homes.com pages through the user's signed-in browser session, including saved homes or saved searches when authenticated. <br>\nMitigation: Use a separate browser profile or sign out when account-scoped homes.com data should not be available to the agent. <br>\nRisk: homes.com may serve AWS WAF challenges to fresh sessions, interrupting MCP requests. <br>\nMitigation: Open homes.com in the browser session and resolve the challenge before relying on the MCP tools. <br>\nRisk: homes.com does not publish a public consumer API, so extracted page data may be incomplete or change as pages change. <br>\nMitigation: Review important property, price, tax, and market outputs against homes.com pages before using them for decisions. <br>\n\n\n## Reference(s): <br>\n- [ClawHub listing](https://clawhub.ai/chrischall/homes-mcp) <br>\n- [homes-mcp npm package](https://www.npmjs.com/package/homes-mcp) <br>\n- [homes-mcp source](https://github.com/chrischall/homes-mcp) <br>\n- [fetchproxy extension](https://github.com/chrischall/fetchproxy) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, configuration, shell commands, guidance] <br>\n**Output Format:** [Markdown and structured MCP tool results] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Read-only homes.com access depends on homes-mcp, the fetchproxy browser extension, and an active browser session for authenticated saved-home or saved-search tools.] <br>\n\n## Skill Version(s): <br>\n0.12.2 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.12.1: 3 files, 5137 bytes\n\nFiles: skill-card.md (2932b), SKILL.md (7720b), _meta.json (129b)\n\nFile v0.12.1:SKILL.md\n\n---\nname: homes-mcp\ndescription: Look up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. Triggers on phrases like \"find homes on homes.com in\", \"homes.com property details for\", \"what does homes.com say about\", \"homes.com price history for\", or any request involving homes.com properties, prices, history, or photos. Requires homes-mcp installed and the fetchproxy extension active (see Setup below).\n---\n\n# homes-mcp\n\nMCP server for homes.com — natural-language access to listings, property records, price/tax history, market reports, saved homes/searches, and photo galleries. Routes through your signed-in homes.com tab via the fetchproxy browser extension, so AWS WAF sees a real browser session instead of a Node process.\n\n- **npm:** [npmjs.com/package/homes-mcp](https://www.npmjs.com/package/homes-mcp)\n- **Source:** [github.com/chrischall/homes-mcp](https://github.com/chrischall/homes-mcp)\n\n> ⚠️ homes.com does not publish a public consumer API. This server reads the Schema.org JSON-LD blob (and some DOM-side sections) embedded in each SSR page, dispatched through your own signed-in browser tab via the fetchproxy extension. Use at your own discretion.\n\n## Setup\n\n### 1. Install homes-mcp\n\n`.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}\n```\n\n### 2. Install the fetchproxy extension (one-time, shared across all fetchproxy-based MCPs)\n\nThe extension lives in its own repo and is installed separately — it is **not** bundled in this repo. Follow the install instructions at [github.com/chrischall/fetchproxy](https://github.com/chrischall/fetchproxy), then load the built extension in Chrome via `chrome://extensions` → Developer mode → Load unpacked.\n\n### 3. Open homes.com and sign in.\n\nThat's it. No API keys, no env vars. (Sign-in isn't strictly required for the public-listing tools, but having a real session active helps the page render the way the extractors expect — and saved-homes / saved-searches require it.)\n\n## Tools\n\n### Search & resolve\n\n- **`homes_search_properties`** — Search by free-text location (city, ZIP, neighborhood). Slugifies the input into homes.com's URL routing. Filters by `property_type`, `listing_type`, `sort`, and a `price_min`/`price_max` band (homes.com's `?price-min=`/`?price-max=` query facet). Returns each listing's address, price, beds/baths, sqft, primary photo, listing agent + brokerage. Caps at the ~40-listing SSR page; sets `truncated`/`total_estimated` when the market has more.\n- **`homes_get_by_address`** — Resolve a single US street address to its canonical homes.com property URL + opaque property hash. Walks structured smartsearch typeahead → slug routing → city/zip search-fallback, verifying each candidate with a whole-token street + unit match. Returns `matched_via` and degrades gracefully to `{ resolved: false }`.\n- **`homes_resolve_addresses`** — Bulk version of `homes_get_by_address` (up to 100 addresses, input order preserved, per-row outcomes). Prefer for any batch ≥ 3.\n\n### Property details\n\n- **`homes_get_property`** — Full record for a property by URL. Parses JSON-LD + DOM-side sections: address, lat/lng, beds/baths, sqft, year built, price, status, listing agent + brokerage, highlights, schools, HOA (raw + normalized monthly), lot size (sqft + derived acres), parking, heating/cooling, MLS id/source, tax, days-on-market, price drops, and server-derived `extracted_features`. Optional inline `price_history` / `tax_history`.\n- **`homes_get_property_photos`** — Full photo gallery scraped from `<img>` tags on the detail page (JSON-LD carries only one image). Returns `{ url, position, alt? }` per photo, filtered to the homes.com CDN.\n- **`homes_bulk_get`** — Fetch up to 200 properties' structured records in one call (per-row errors captured, input order preserved). Use instead of looping when you just want the records.\n- **`homes_compare_properties`** — Side-by-side comparison of 2–8 properties with an aligned summary table. Concurrent fetches, per-row errors.\n- **`homes_get_nearby_listings`** — The \"Homes for Sale Near This Property\" cross-link cards from a detail page (For Sale, optionally Rentals). URL + address only.\n\n### History & market\n\n- **`homes_get_history`** — Combined price + tax history in one fetch: `listing_events`, `ownership_events`, `lien_events`, cross-MCP-normalized `events_normalized`, and `tax_records`. (Preferred over the two split tools below.)\n- **`homes_get_property_history`** — *Deprecated* — price/ownership/lien timelines only. Prefer `homes_get_history`.\n- **`homes_get_tax_history`** — *Deprecated* — year-by-year tax records only. Prefer `homes_get_history`.\n- **`homes_get_market_report`** — Median / average / $-per-sqft for a market, derived from the `sold` search page's JSON-LD.\n\n### Saved (auth-gated)\n\n- **`homes_get_saved_homes`** — The signed-in user's saved (favorited) homes. Requires an authenticated homes.com tab.\n- **`homes_get_saved_searches`** — The signed-in user's saved searches. Requires an authenticated homes.com tab.\n\n### Local calculators (no network)\n\n- **`homes_calculate_mortgage`** — Local PITI calculator (price, rate, down payment, taxes, insurance, HOA, PMI → monthly breakdown).\n- **`homes_calculate_affordability`** — Local affordability calculator — max purchase price under standard 28/36 DTI.\n- **`homes_estimate_rent_vs_buy`** — Local rent-vs-buy model. **You must supply `monthly_rent`** — homes.com publishes no rental estimate to impute it (see Gotchas).\n\n### Diagnostics & sessions\n\n- **`homes_healthcheck`** — Round-trips `/robots.txt` through the fetchproxy bridge; distinguishes \"bridge down\" vs \"extension not connected\" vs \"homes.com-side problem.\"\n- **`homes_get_session_context`**, **`homes_register_session`**, **`homes_set_active_session`** — List / register / switch logical homes.com sessions.\n\n## Trigger examples\n\n- \"Find me condos for sale in Atlanta under $500k on homes.com\" → `homes_search_properties` (with `price_max`)\n- \"Resolve 3199 Delmar Ln NW, Atlanta GA to a homes.com listing\" → `homes_get_by_address`\n- \"What's the price history for this homes.com listing?\" → `homes_get_history` (or `homes_get_property` with `include_price_history`)\n- \"Show me all photos for this homes.com listing\" → `homes_get_property_photos`\n- \"What's the market report for sold homes in Brooklyn?\" → `homes_get_market_report`\n- \"List my saved homes on homes.com\" → `homes_get_saved_homes`\n- \"Monthly payment on a $500k home, 20% down, 6.5% rate\" → `homes_calculate_mortgage`\n\n## Gotchas\n\n- **AWS WAF challenge.** homes.com (CoStar) gates traffic through AWS WAF and occasionally serves a challenge page to fresh sessions. Solving it in the Chrome tab once unblocks subsequent fetches; the client detects the interstitial and throws `SessionNotAuthenticatedError`.\n- **No write surface.** All tools are read-only. Saving a home / contact forms are not implemented.\n- **Property URL is required for detail tools.** `get_property`, `get_property_photos`, `compare_properties`, history, photos, and nearby all need a full property URL from a search or `get_by_address` result — there's no stable way to construct one from a property id alone.\n- **No rental estimate to impute.** homes.com publishes no `rent_zestimate` analogue, so `homes_estimate_rent_vs_buy` requires you to pass `monthly_rent`. For a rent figure to plug in, use a sibling MCP (`zillow_get_property` carries `rent_zestimate`; `redfin_get_comparable_rentals` returns rental comps).\n\nFile v0.12.1:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"homes-mcp\",\n  \"version\": \"0.12.1\",\n  \"publishedAt\": 1780547375049\n}\n\nFile v0.12.1:skill-card.md\n\n## Description: <br>\nProvides agent access to homes.com real-estate listing searches, property details, price and tax history, market reports, saved homes, and photo galleries through the homes-mcp MCP server. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[chrischall](https://clawhub.ai/user/chrischall) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to let an agent retrieve homes.com property search results, listing details, histories, market reports, saved homes, saved searches, and photo galleries. It is suited for read-only real-estate research workflows that rely on a locally installed MCP server and browser fetch proxy. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill relies on an external npm MCP package and a separately installed Chrome extension that can use a signed-in homes.com session. <br>\nMitigation: Use project-scoped MCP configuration when possible, review the external package and extension before installation, and only enable access for homes.com data the user is comfortable letting an agent read. <br>\nRisk: Saved homes and saved searches require an authenticated homes.com tab and may expose personal real-estate research data. <br>\nMitigation: Keep the browser session and active homes.com account scoped to the intended task, and disable the MCP server or extension when saved-account data is not needed. <br>\nRisk: homes.com does not provide a public consumer API, so page extraction can fail or return incomplete results when the site changes or presents access challenges. <br>\nMitigation: Treat returned listing data as research assistance, verify important property facts against homes.com or another authoritative source, and review site terms before use. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/chrischall/homes-mcp) <br>\n- [homes-mcp npm package](https://www.npmjs.com/package/homes-mcp) <br>\n- [homes-mcp source](https://github.com/chrischall/homes-mcp) <br>\n- [fetchproxy extension](https://github.com/chrischall/fetchproxy) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with JSON configuration snippets and MCP tool outputs.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Read-only property data may include listing attributes, photos, price history, tax history, saved-home data, and local calculator results.] <br>\n\n## Skill Version(s): <br>\n0.12.1 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.12.0: 3 files, 4954 bytes\n\nFiles: skill-card.md (2423b), SKILL.md (7720b), _meta.json (129b)\n\nFile v0.12.0:SKILL.md\n\n---\nname: homes-mcp\ndescription: Look up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. Triggers on phrases like \"find homes on homes.com in\", \"homes.com property details for\", \"what does homes.com say about\", \"homes.com price history for\", or any request involving homes.com properties, prices, history, or photos. Requires homes-mcp installed and the fetchproxy extension active (see Setup below).\n---\n\n# homes-mcp\n\nMCP server for homes.com — natural-language access to listings, property records, price/tax history, market reports, saved homes/searches, and photo galleries. Routes through your signed-in homes.com tab via the fetchproxy browser extension, so AWS WAF sees a real browser session instead of a Node process.\n\n- **npm:** [npmjs.com/package/homes-mcp](https://www.npmjs.com/package/homes-mcp)\n- **Source:** [github.com/chrischall/homes-mcp](https://github.com/chrischall/homes-mcp)\n\n> ⚠️ homes.com does not publish a public consumer API. This server reads the Schema.org JSON-LD blob (and some DOM-side sections) embedded in each SSR page, dispatched through your own signed-in browser tab via the fetchproxy extension. Use at your own discretion.\n\n## Setup\n\n### 1. Install homes-mcp\n\n`.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}\n```\n\n### 2. Install the fetchproxy extension (one-time, shared across all fetchproxy-based MCPs)\n\nThe extension lives in its own repo and is installed separately — it is **not** bundled in this repo. Follow the install instructions at [github.com/chrischall/fetchproxy](https://github.com/chrischall/fetchproxy), then load the built extension in Chrome via `chrome://extensions` → Developer mode → Load unpacked.\n\n### 3. Open homes.com and sign in.\n\nThat's it. No API keys, no env vars. (Sign-in isn't strictly required for the public-listing tools, but having a real session active helps the page render the way the extractors expect — and saved-homes / saved-searches require it.)\n\n## Tools\n\n### Search & resolve\n\n- **`homes_search_properties`** — Search by free-text location (city, ZIP, neighborhood). Slugifies the input into homes.com's URL routing. Filters by `property_type`, `listing_type`, `sort`, and a `price_min`/`price_max` band (homes.com's `?price-min=`/`?price-max=` query facet). Returns each listing's address, price, beds/baths, sqft, primary photo, listing agent + brokerage. Caps at the ~40-listing SSR page; sets `truncated`/`total_estimated` when the market has more.\n- **`homes_get_by_address`** — Resolve a single US street address to its canonical homes.com property URL + opaque property hash. Walks structured smartsearch typeahead → slug routing → city/zip search-fallback, verifying each candidate with a whole-token street + unit match. Returns `matched_via` and degrades gracefully to `{ resolved: false }`.\n- **`homes_resolve_addresses`** — Bulk version of `homes_get_by_address` (up to 100 addresses, input order preserved, per-row outcomes). Prefer for any batch ≥ 3.\n\n### Property details\n\n- **`homes_get_property`** — Full record for a property by URL. Parses JSON-LD + DOM-side sections: address, lat/lng, beds/baths, sqft, year built, price, status, listing agent + brokerage, highlights, schools, HOA (raw + normalized monthly), lot size (sqft + derived acres), parking, heating/cooling, MLS id/source, tax, days-on-market, price drops, and server-derived `extracted_features`. Optional inline `price_history` / `tax_history`.\n- **`homes_get_property_photos`** — Full photo gallery scraped from `<img>` tags on the detail page (JSON-LD carries only one image). Returns `{ url, position, alt? }` per photo, filtered to the homes.com CDN.\n- **`homes_bulk_get`** — Fetch up to 200 properties' structured records in one call (per-row errors captured, input order preserved). Use instead of looping when you just want the records.\n- **`homes_compare_properties`** — Side-by-side comparison of 2–8 properties with an aligned summary table. Concurrent fetches, per-row errors.\n- **`homes_get_nearby_listings`** — The \"Homes for Sale Near This Property\" cross-link cards from a detail page (For Sale, optionally Rentals). URL + address only.\n\n### History & market\n\n- **`homes_get_history`** — Combined price + tax history in one fetch: `listing_events`, `ownership_events`, `lien_events`, cross-MCP-normalized `events_normalized`, and `tax_records`. (Preferred over the two split tools below.)\n- **`homes_get_property_history`** — *Deprecated* — price/ownership/lien timelines only. Prefer `homes_get_history`.\n- **`homes_get_tax_history`** — *Deprecated* — year-by-year tax records only. Prefer `homes_get_history`.\n- **`homes_get_market_report`** — Median / average / $-per-sqft for a market, derived from the `sold` search page's JSON-LD.\n\n### Saved (auth-gated)\n\n- **`homes_get_saved_homes`** — The signed-in user's saved (favorited) homes. Requires an authenticated homes.com tab.\n- **`homes_get_saved_searches`** — The signed-in user's saved searches. Requires an authenticated homes.com tab.\n\n### Local calculators (no network)\n\n- **`homes_calculate_mortgage`** — Local PITI calculator (price, rate, down payment, taxes, insurance, HOA, PMI → monthly breakdown).\n- **`homes_calculate_affordability`** — Local affordability calculator — max purchase price under standard 28/36 DTI.\n- **`homes_estimate_rent_vs_buy`** — Local rent-vs-buy model. **You must supply `monthly_rent`** — homes.com publishes no rental estimate to impute it (see Gotchas).\n\n### Diagnostics & sessions\n\n- **`homes_healthcheck`** — Round-trips `/robots.txt` through the fetchproxy bridge; distinguishes \"bridge down\" vs \"extension not connected\" vs \"homes.com-side problem.\"\n- **`homes_get_session_context`**, **`homes_register_session`**, **`homes_set_active_session`** — List / register / switch logical homes.com sessions.\n\n## Trigger examples\n\n- \"Find me condos for sale in Atlanta under $500k on homes.com\" → `homes_search_properties` (with `price_max`)\n- \"Resolve 3199 Delmar Ln NW, Atlanta GA to a homes.com listing\" → `homes_get_by_address`\n- \"What's the price history for this homes.com listing?\" → `homes_get_history` (or `homes_get_property` with `include_price_history`)\n- \"Show me all photos for this homes.com listing\" → `homes_get_property_photos`\n- \"What's the market report for sold homes in Brooklyn?\" → `homes_get_market_report`\n- \"List my saved homes on homes.com\" → `homes_get_saved_homes`\n- \"Monthly payment on a $500k home, 20% down, 6.5% rate\" → `homes_calculate_mortgage`\n\n## Gotchas\n\n- **AWS WAF challenge.** homes.com (CoStar) gates traffic through AWS WAF and occasionally serves a challenge page to fresh sessions. Solving it in the Chrome tab once unblocks subsequent fetches; the client detects the interstitial and throws `SessionNotAuthenticatedError`.\n- **No write surface.** All tools are read-only. Saving a home / contact forms are not implemented.\n- **Property URL is required for detail tools.** `get_property`, `get_property_photos`, `compare_properties`, history, photos, and nearby all need a full property URL from a search or `get_by_address` result — there's no stable way to construct one from a property id alone.\n- **No rental estimate to impute.** homes.com publishes no `rent_zestimate` analogue, so `homes_estimate_rent_vs_buy` requires you to pass `monthly_rent`. For a rent figure to plug in, use a sibling MCP (`zillow_get_property` carries `rent_zestimate`; `redfin_get_comparable_rentals` returns rental comps).\n\nFile v0.12.0:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"homes-mcp\",\n  \"version\": \"0.12.0\",\n  \"publishedAt\": 1780081458024\n}\n\nFile v0.12.0:skill-card.md\n\n## Description: <br>\nLooks up Homes.com real-estate listings, property details, price and tax history, market reports, saved homes, and photo galleries through an MCP server that uses a signed-in browser session. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[chrischall](https://clawhub.ai/user/chrischall) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and real-estate users use this skill to let an agent search Homes.com listings, inspect property records, compare homes, retrieve histories and photos, and run local mortgage or affordability calculations. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can access account-specific saved homes and saved searches through the user's signed-in Homes.com browser session. <br>\nMitigation: Ask explicitly before accessing saved Homes.com data and use a browser profile that does not contain account data the agent should not inspect. <br>\nRisk: Homes.com does not publish a public consumer API, so page structure or session challenges may affect extraction accuracy. <br>\nMitigation: Review important results against Homes.com directly and treat WAF or session errors as a prompt to refresh or reauthenticate the browser session. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Listing](https://clawhub.ai/chrischall/homes-mcp) <br>\n- [homes-mcp npm package](https://www.npmjs.com/package/homes-mcp) <br>\n- [homes-mcp source](https://github.com/chrischall/homes-mcp) <br>\n- [fetchproxy source](https://github.com/chrischall/fetchproxy) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown and text summaries with MCP tool results and inline JSON configuration examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include real-estate listing summaries, property records, histories, photo URLs, saved-home data, market reports, and local calculator outputs.] <br>\n\n## Skill Version(s): <br>\n0.12.0 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.11.0: 3 files, 4049 bytes\n\nFiles: skill-card.md (2679b), SKILL.md (5054b), _meta.json (129b)\n\nFile v0.11.0:SKILL.md\n\n---\nname: homes-mcp\ndescription: Look up real-estate listings, property details, and photo galleries on homes.com via MCP. Triggers on phrases like \"find homes on homes.com in\", \"homes.com property details for\", \"what does homes.com say about\", or any request involving homes.com properties, prices, or photos. Requires homes-mcp installed and the fetchproxy extension active (see Setup below).\n---\n\n# homes-mcp\n\nMCP server for homes.com — natural-language access to listings, property records, and photo galleries. Routes through your signed-in homes.com tab via the fetchproxy browser extension, so AWS WAF sees a real browser session instead of a Node process.\n\n- **npm:** [npmjs.com/package/homes-mcp](https://www.npmjs.com/package/homes-mcp)\n- **Source:** [github.com/chrischall/homes-mcp](https://github.com/chrischall/homes-mcp)\n\n> ⚠️ homes.com does not publish a public consumer API. This server reads the Schema.org JSON-LD blob embedded in each SSR page, dispatched through your own signed-in browser tab via the fetchproxy extension. Use at your own discretion.\n\n## Setup\n\n### 1. Install homes-mcp\n\n`.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}\n```\n\n### 2. Install the fetchproxy extension (one-time, shared across all fetchproxy-based MCPs)\n\n```bash\ngit clone https://github.com/chrischall/fetchproxy\ncd fetchproxy\nnpm ci\nnpm --workspace=@fetchproxy/extension-chrome run build\n```\n\nThen in Chrome: `chrome://extensions` → Developer mode → Load unpacked → pick `packages/extension-chrome/dist/`.\n\n### 3. Open homes.com and sign in.\n\nThat's it. No API keys, no env vars. (Sign-in isn't strictly required for the public-listing tools, but having a real session active helps the page render the way the extractors expect.)\n\n## Tools\n\n- **`homes_search_properties`** — Search by free-text location (city, ZIP, neighborhood). Slugifies the input into homes.com's URL routing (e.g. \"Atlanta, GA\" → `/atlanta-ga/`, \"30311\" → `/30311/`). Returns each listing's address, price, beds/baths, sqft, primary photo, listing agent + brokerage. v0.1 does not encode price/bed filters into the URL — search by location and re-rank client-side.\n- **`homes_get_property`** — Full record for a property by URL (the `url` field from a search result). Parses the JSON-LD `RealEstateListing` node — returns address, lat/lng, beds/baths, sqft, year built, price + currency, status, listing agent + brokerage, photos URL, date posted/modified.\n- **`homes_get_property_photos`** — Full photo gallery, scraped from `<img>` tags on the detail page (the JSON-LD only carries one image). Returns `{ url, position, alt? }` per photo, filtered to the homes.com CDN.\n- **`homes_compare_properties`** — Side-by-side comparison of 2–8 properties with an aligned summary table. Per-target errors captured per-row. Concurrent fetches.\n- **`homes_calculate_mortgage`** — Local PITI calculator. No network. Provide home price, interest rate, optional down payment / taxes / insurance / HOA / PMI; returns a full monthly breakdown.\n- **`homes_calculate_affordability`** — Local affordability calculator. Solves for max purchase price under standard 28/36 DTI rule.\n- **`homes_healthcheck`** — Verifies the fetchproxy bridge end-to-end. Round-trips `/robots.txt` and returns a plain-English hint distinguishing \"bridge down\" from \"extension not connected\" from \"homes.com-side problem.\"\n\n## Trigger examples\n\n- \"Find me homes for sale in Atlanta on homes.com\" → `homes_search_properties`\n- \"What does homes.com say about 3199 Delmar Ln NW Atlanta?\" → `homes_get_property` (caller pastes the URL from a search result)\n- \"Show me all photos for this homes.com listing\" → `homes_get_property_photos`\n- \"Compare these three homes.com listings side-by-side\" → `homes_compare_properties`\n- \"Monthly payment on a $500k home, 20% down, 6.5% rate\" → `homes_calculate_mortgage`\n- \"How much house can I afford on $9k/month income?\" → `homes_calculate_affordability`\n\n## Gotchas\n\n- **No price-history, saved-listings, or market-report tools yet.** homes.com doesn't surface those in a stable, scrapeable form. v0.1 ships without them.\n- **AWS WAF challenge.** homes.com (CoStar) gates traffic through AWS WAF and occasionally serves a challenge page to fresh sessions. Solving it in the Chrome tab once unblocks subsequent fetches; the client detects the interstitial and throws `SessionNotAuthenticatedError`.\n- **No write surface.** All tools are read-only. Saving a home / contact form are not implemented.\n- **Search is location-only in v0.1.** The URL-path filter shape on homes.com changes too frequently to encode reliably. Pass the location, then re-rank the results client-side.\n- **Property URL is required for detail tools.** `get_property`, `get_property_photos`, and `compare_properties` all require a full property URL from a search result — there is no stable way to construct one from a property id alone.\n\nFile v0.11.0:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"homes-mcp\",\n  \"version\": \"0.11.0\",\n  \"publishedAt\": 1780057219959\n}\n\nFile v0.11.0:skill-card.md\n\n## Description: <br>\nLook up real-estate listings, property details, and photo galleries on homes.com through an MCP server that uses a signed-in browser session via the fetchproxy extension. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[chrischall](https://clawhub.ai/user/chrischall) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and agents use this skill to query homes.com listings, property records, photo galleries, and local mortgage or affordability calculations from natural-language requests. It is intended for read-only listing lookup and comparison workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill relies on a fetchproxy Chrome extension and an active homes.com browser session. <br>\nMitigation: Review the linked projects and browser extension permissions before installation, and use a browser profile appropriate for read-only listing lookup. <br>\nRisk: homes.com does not publish a public consumer API, and the artifact notes that WAF challenges or page changes can affect results. <br>\nMitigation: Treat returned listing data as best-effort and verify important property details directly on homes.com before making decisions. <br>\nRisk: Using an active browser session could expose account context if used beyond the documented read-only workflow. <br>\nMitigation: Use the skill only for lookup, comparison, photos, and local calculators; avoid account actions such as saving homes or submitting contact forms. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/chrischall/homes-mcp) <br>\n- [homes-mcp npm package](https://www.npmjs.com/package/homes-mcp) <br>\n- [homes-mcp source link from artifact](https://github.com/chrischall/homes-mcp) <br>\n- [fetchproxy source link from artifact](https://github.com/chrischall/fetchproxy) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown with MCP tool descriptions, JSON configuration, and shell command blocks] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Produces read-only property lookup guidance and tool outputs; mortgage and affordability calculations run locally.] <br>\n\n## Skill Version(s): <br>\n0.11.0 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.10.0: 3 files, 3815 bytes\n\nFiles: skill-card.md (2038b), SKILL.md (5054b), _meta.json (129b)\n\nFile v0.10.0:SKILL.md\n\n---\nname: homes-mcp\ndescription: Look up real-estate listings, property details, and photo galleries on homes.com via MCP. Triggers on phrases like \"find homes on homes.com in\", \"homes.com property details for\", \"what does homes.com say about\", or any request involving homes.com properties, prices, or photos. Requires homes-mcp installed and the fetchproxy extension active (see Setup below).\n---\n\n# homes-mcp\n\nMCP server for homes.com — natural-language access to listings, property records, and photo galleries. Routes through your signed-in homes.com tab via the fetchproxy browser extension, so AWS WAF sees a real browser session instead of a Node process.\n\n- **npm:** [npmjs.com/package/homes-mcp](https://www.npmjs.com/package/homes-mcp)\n- **Source:** [github.com/chrischall/homes-mcp](https://github.com/chrischall/homes-mcp)\n\n> ⚠️ homes.com does not publish a public consumer API. This server reads the Schema.org JSON-LD blob embedded in each SSR page, dispatched through your own signed-in browser tab via the fetchproxy extension. Use at your own discretion.\n\n## Setup\n\n### 1. Install homes-mcp\n\n`.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}\n```\n\n### 2. Install the fetchproxy extension (one-time, shared across all fetchproxy-based MCPs)\n\n```bash\ngit clone https://github.com/chrischall/fetchproxy\ncd fetchproxy\nnpm ci\nnpm --workspace=@fetchproxy/extension-chrome run build\n```\n\nThen in Chrome: `chrome://extensions` → Developer mode → Load unpacked → pick `packages/extension-chrome/dist/`.\n\n### 3. Open homes.com and sign in.\n\nThat's it. No API keys, no env vars. (Sign-in isn't strictly required for the public-listing tools, but having a real session active helps the page render the way the extractors expect.)\n\n## Tools\n\n- **`homes_search_properties`** — Search by free-text location (city, ZIP, neighborhood). Slugifies the input into homes.com's URL routing (e.g. \"Atlanta, GA\" → `/atlanta-ga/`, \"30311\" → `/30311/`). Returns each listing's address, price, beds/baths, sqft, primary photo, listing agent + brokerage. v0.1 does not encode price/bed filters into the URL — search by location and re-rank client-side.\n- **`homes_get_property`** — Full record for a property by URL (the `url` field from a search result). Parses the JSON-LD `RealEstateListing` node — returns address, lat/lng, beds/baths, sqft, year built, price + currency, status, listing agent + brokerage, photos URL, date posted/modified.\n- **`homes_get_property_photos`** — Full photo gallery, scraped from `<img>` tags on the detail page (the JSON-LD only carries one image). Returns `{ url, position, alt? }` per photo, filtered to the homes.com CDN.\n- **`homes_compare_properties`** — Side-by-side comparison of 2–8 properties with an aligned summary table. Per-target errors captured per-row. Concurrent fetches.\n- **`homes_calculate_mortgage`** — Local PITI calculator. No network. Provide home price, interest rate, optional down payment / taxes / insurance / HOA / PMI; returns a full monthly breakdown.\n- **`homes_calculate_affordability`** — Local affordability calculator. Solves for max purchase price under standard 28/36 DTI rule.\n- **`homes_healthcheck`** — Verifies the fetchproxy bridge end-to-end. Round-trips `/robots.txt` and returns a plain-English hint distinguishing \"bridge down\" from \"extension not connected\" from \"homes.com-side problem.\"\n\n## Trigger examples\n\n- \"Find me homes for sale in Atlanta on homes.com\" → `homes_search_properties`\n- \"What does homes.com say about 3199 Delmar Ln NW Atlanta?\" → `homes_get_property` (caller pastes the URL from a search result)\n- \"Show me all photos for this homes.com listing\" → `homes_get_property_photos`\n- \"Compare these three homes.com listings side-by-side\" → `homes_compare_properties`\n- \"Monthly payment on a $500k home, 20% down, 6.5% rate\" → `homes_calculate_mortgage`\n- \"How much house can I afford on $9k/month income?\" → `homes_calculate_affordability`\n\n## Gotchas\n\n- **No price-history, saved-listings, or market-report tools yet.** homes.com doesn't surface those in a stable, scrapeable form. v0.1 ships without them.\n- **AWS WAF challenge.** homes.com (CoStar) gates traffic through AWS WAF and occasionally serves a challenge page to fresh sessions. Solving it in the Chrome tab once unblocks subsequent fetches; the client detects the interstitial and throws `SessionNotAuthenticatedError`.\n- **No write surface.** All tools are read-only. Saving a home / contact form are not implemented.\n- **Search is location-only in v0.1.** The URL-path filter shape on homes.com changes too frequently to encode reliably. Pass the location, then re-rank the results client-side.\n- **Property URL is required for detail tools.** `get_property`, `get_property_photos`, and `compare_properties` all require a full property URL from a search result — there is no stable way to construct one from a property id alone.\n\nFile v0.10.0:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"homes-mcp\",\n  \"version\": \"0.10.0\",\n  \"publishedAt\": 1779986643030\n}\n\nFile v0.10.0:skill-card.md\n\n## Description: <br>\nLook up real-estate listings, property details, and photo galleries on homes.com via MCP. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[chrischall](https://clawhub.ai/user/chrischall) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to ask an agent to search homes.com listings, fetch property details and photos, compare selected property URLs, and estimate mortgage or affordability scenarios. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill relies on an external MCP package and fetchproxy browser extension. <br>\nMitigation: Install only after reviewing the package and extension source, and keep dependencies updated from trusted package sources. <br>\nRisk: The skill uses the user's homes.com browser session for read-only listing lookup. <br>\nMitigation: Use it only for explicit homes.com listing requests and avoid sharing unrelated browser-session context. <br>\n\n\n## Reference(s): <br>\n- [homes-mcp npm package](https://www.npmjs.com/package/homes-mcp) <br>\n- [fetchproxy extension](https://github.com/chrischall/fetchproxy) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown with structured property summaries, comparison tables, JSON snippets, and inline shell commands] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Read-only homes.com lookup and local mortgage or affordability calculations; property detail and photo tools require homes.com property URLs.] <br>\n\n## Skill Version(s): <br>\n0.10.0 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.9.0: 3 files, 4102 bytes\n\nFiles: skill-card.md (2729b), SKILL.md (5054b), _meta.json (128b)\n\nFile v0.9.0:SKILL.md\n\n---\nname: homes-mcp\ndescription: Look up real-estate listings, property details, and photo galleries on homes.com via MCP. Triggers on phrases like \"find homes on homes.com in\", \"homes.com property details for\", \"what does homes.com say about\", or any request involving homes.com properties, prices, or photos. Requires homes-mcp installed and the fetchproxy extension active (see Setup below).\n---\n\n# homes-mcp\n\nMCP server for homes.com — natural-language access to listings, property records, and photo galleries. Routes through your signed-in homes.com tab via the fetchproxy browser extension, so AWS WAF sees a real browser session instead of a Node process.\n\n- **npm:** [npmjs.com/package/homes-mcp](https://www.npmjs.com/package/homes-mcp)\n- **Source:** [github.com/chrischall/homes-mcp](https://github.com/chrischall/homes-mcp)\n\n> ⚠️ homes.com does not publish a public consumer API. This server reads the Schema.org JSON-LD blob embedded in each SSR page, dispatched through your own signed-in browser tab via the fetchproxy extension. Use at your own discretion.\n\n## Setup\n\n### 1. Install homes-mcp\n\n`.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}\n```\n\n### 2. Install the fetchproxy extension (one-time, shared across all fetchproxy-based MCPs)\n\n```bash\ngit clone https://github.com/chrischall/fetchproxy\ncd fetchproxy\nnpm ci\nnpm --workspace=@fetchproxy/extension-chrome run build\n```\n\nThen in Chrome: `chrome://extensions` → Developer mode → Load unpacked → pick `packages/extension-chrome/dist/`.\n\n### 3. Open homes.com and sign in.\n\nThat's it. No API keys, no env vars. (Sign-in isn't strictly required for the public-listing tools, but having a real session active helps the page render the way the extractors expect.)\n\n## Tools\n\n- **`homes_search_properties`** — Search by free-text location (city, ZIP, neighborhood). Slugifies the input into homes.com's URL routing (e.g. \"Atlanta, GA\" → `/atlanta-ga/`, \"30311\" → `/30311/`). Returns each listing's address, price, beds/baths, sqft, primary photo, listing agent + brokerage. v0.1 does not encode price/bed filters into the URL — search by location and re-rank client-side.\n- **`homes_get_property`** — Full record for a property by URL (the `url` field from a search result). Parses the JSON-LD `RealEstateListing` node — returns address, lat/lng, beds/baths, sqft, year built, price + currency, status, listing agent + brokerage, photos URL, date posted/modified.\n- **`homes_get_property_photos`** — Full photo gallery, scraped from `<img>` tags on the detail page (the JSON-LD only carries one image). Returns `{ url, position, alt? }` per photo, filtered to the homes.com CDN.\n- **`homes_compare_properties`** — Side-by-side comparison of 2–8 properties with an aligned summary table. Per-target errors captured per-row. Concurrent fetches.\n- **`homes_calculate_mortgage`** — Local PITI calculator. No network. Provide home price, interest rate, optional down payment / taxes / insurance / HOA / PMI; returns a full monthly breakdown.\n- **`homes_calculate_affordability`** — Local affordability calculator. Solves for max purchase price under standard 28/36 DTI rule.\n- **`homes_healthcheck`** — Verifies the fetchproxy bridge end-to-end. Round-trips `/robots.txt` and returns a plain-English hint distinguishing \"bridge down\" from \"extension not connected\" from \"homes.com-side problem.\"\n\n## Trigger examples\n\n- \"Find me homes for sale in Atlanta on homes.com\" → `homes_search_properties`\n- \"What does homes.com say about 3199 Delmar Ln NW Atlanta?\" → `homes_get_property` (caller pastes the URL from a search result)\n- \"Show me all photos for this homes.com listing\" → `homes_get_property_photos`\n- \"Compare these three homes.com listings side-by-side\" → `homes_compare_properties`\n- \"Monthly payment on a $500k home, 20% down, 6.5% rate\" → `homes_calculate_mortgage`\n- \"How much house can I afford on $9k/month income?\" → `homes_calculate_affordability`\n\n## Gotchas\n\n- **No price-history, saved-listings, or market-report tools yet.** homes.com doesn't surface those in a stable, scrapeable form. v0.1 ships without them.\n- **AWS WAF challenge.** homes.com (CoStar) gates traffic through AWS WAF and occasionally serves a challenge page to fresh sessions. Solving it in the Chrome tab once unblocks subsequent fetches; the client detects the interstitial and throws `SessionNotAuthenticatedError`.\n- **No write surface.** All tools are read-only. Saving a home / contact form are not implemented.\n- **Search is location-only in v0.1.** The URL-path filter shape on homes.com changes too frequently to encode reliably. Pass the location, then re-rank the results client-side.\n- **Property URL is required for detail tools.** `get_property`, `get_property_photos`, and `compare_properties` all require a full property URL from a search result — there is no stable way to construct one from a property id alone.\n\nFile v0.9.0:_meta.json\n\n{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"homes-mcp\",\n  \"version\": \"0.9.0\",\n  \"publishedAt\": 1779931813157\n}\n\nFile v0.9.0:skill-card.md\n\n## Description: <br>\nLooks up homes.com real-estate listings, property details, photo galleries, comparisons, mortgage estimates, and affordability estimates through an MCP server. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[chrischall](https://clawhub.ai/user/chrischall) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users, developers, and real-estate workflows use this skill to query homes.com listing data, inspect property details and photos, compare listings, and calculate mortgage or affordability estimates. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill depends on an external homes-mcp package and fetchproxy browser extension that use an active homes.com browser session. <br>\nMitigation: Install only if you are comfortable with those dependencies, use a browser profile suitable for read-only homes.com page fetches, and disable the extension when it is not needed. <br>\nRisk: homes.com may present AWS WAF challenges or pages that do not render as expected for fresh sessions. <br>\nMitigation: Run the healthcheck, keep an active browser session available, and treat failed fetches or authentication errors as requiring manual browser/session review. <br>\nRisk: The artifact notes that homes.com does not provide a public consumer API and the skill reads page-embedded data. <br>\nMitigation: Use the results as listing lookup assistance, verify important property facts with authoritative sources, and avoid relying on the skill for write actions or saved-listing workflows. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/chrischall/homes-mcp) <br>\n- [homes-mcp npm package](https://www.npmjs.com/package/homes-mcp) <br>\n- [homes-mcp source](https://github.com/chrischall/homes-mcp) <br>\n- [fetchproxy source](https://github.com/chrischall/fetchproxy) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration] <br>\n**Output Format:** [Markdown setup guidance plus MCP tool responses containing property fields, comparison tables, calculation breakdowns, and photo URLs.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Read-only homes.com lookup behavior; detail and photo tools require full property URLs from search results.] <br>\n\n## Skill Version(s): <br>\n0.9.0 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: Tmp.EiWSQt4h8g Owner: chrischall Summary: Look up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. Triggers on phrases... Tags: latest:1.0.3 Version history: v1.0.3 | 2026-07-07T23:57:42.742Z | auto - Removed the skill-card.md file. - No user-facing features or functionality were changed. v1.0.2 | 2026-06-15T14:33:39.534Z | auto -","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}"},{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}"},{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}"},{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}"},{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}"},{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: homes-mcp\ndescription: Look up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. Triggers on phrases like \"find homes on homes.com in\", \"homes.com property details for\", \"what does homes.com say about\", \"homes.com price history for\", or any request involving homes.com properties, prices, history, or photos. Requires homes-mcp installed and the fetchproxy extension active (see Setup below).\n---\n\n# homes-mcp\n\nMCP server for homes.com — natural-language access to listings, property records, price/tax history, market reports, saved homes/searches, and photo galleries. Routes through your signed-in homes.com tab via the fetchproxy browser extension, so AWS WAF sees a real browser session instead of a Node process.\n\n- **npm:** [npmjs.com/package/homes-mcp](https://www.npmjs.com/package/homes-mcp)\n- **Source:** [github.com/chrischall/homes-mcp](https://github.com/chrischall/homes-mcp)\n\n> ⚠️ homes.com does not publish a public consumer API. This server reads the Schema.org JSON-LD blob (and some DOM-side sections) embedded in each SSR page, dispatched through your own signed-in browser tab via the fetchproxy extension. Use at your own discretion.\n\n## Setup\n\n### 1. Install homes-mcp\n\n`.mcp.json` (project) or `~/.claude/mcp.json` (global):\n\n```json\n{\n  \"mcpServers\": {\n    \"homes\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"homes-mcp\"]\n    }\n  }\n}\n```\n\n### 2. Install the fetchproxy extension (one-time, shared across all fetchproxy-based MCPs)\n\nThe extension lives in its own repo and is installed separately — it is **not** bundled in this repo. Follow the install instructions at [github.com/chrischall/fetchproxy](https://github.com/chrischall/fetchproxy), then load the built extension in Chrome via `chrome://extensions` → Developer mode → Load unpacked.\n\n### 3. Open homes.com and sign in.\n\nThat's it. No API keys, no env vars. (Sign-in isn't strictly required for the public-listing tools, but having a real session active helps the page render the way the extractors expect — and saved-homes / saved-searches require it.)\n\n## Tools\n\n### Search & resolve\n\n- **`homes_search_properties`** — Search by free-text location (city, ZIP, neighborhood). Slugifies the input into homes.com's URL routing. Filters by `property_type`, `listing_type`, `sort`, and a `price_min`/`price_max` band (homes.com's `?price-min=`/`?price-max=` query facet). Returns each listing's address, price, beds/baths, sqft, primary photo, listing agent + brokerage. Caps at the ~40-listing SSR page; sets `truncated`/`total_estimated` when the market has more.\n- **`homes_get_by_address`** — Resolve a single US street address to its canonical homes.com property URL + opaque property hash. Walks structured smartsearch typeahead → slug routing → city/zip search-fallback, verifying each candidate with a whole-token street + unit match. Returns `matched_via` and degrades gracefully to `{ resolved: false }`.\n- **`"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn700jq4sjtf2anb0rk3ft4p7n856872\",\n  \"slug\": \"homes-mcp\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1783468662742\n}"},{"path":"skill-card.md","content":"## Description:\n\nLook up real-estate listings, property details, price and tax history, market reports, saved homes, and photo galleries on homes.com via MCP.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[chrischall](https://clawhub.ai/user/chrischall)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and real-estate researchers use this skill to ask an agent for homes.com listing search, property records, price and tax history, market reports, saved homes, saved searches, photo galleries, and local mortgage or affordability calculations.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill asks users to run an unpinned npm MCP package.\n\nMitigation: Pin and review the exact homes-mcp package version before installation or deployment.\n\nRisk: The skill depends on a separate Chrome extension that routes requests through a signed-in browser session.\n\nMitigation: Install the extension only after source review, and use a dedicated Chrome profile with only the homes.com session needed for this workflow.\n\nRisk: Saved homes and saved searches may expose private account data to the MCP flow.\n\nMitigation: Treat saved homes and saved searches as private data and limit use to trusted agent sessions.\n\nRisk: homes.com does not publish a public consumer API, so page structure changes or WAF challenges can interrupt extraction.\n\nMitigation: Treat extracted data as a lookup aid, handle failures explicitly, and verify important property information with authoritative sources before decisions.\n\n## Reference(s):\n\n- [homes-mcp package on npm](https://www.npmjs.com/package/homes-mcp)\n- [homes-mcp project reference](https://github.com/chrischall/homes-mcp)\n- [fetchproxy extension setup](https://github.com/chrischall/fetchproxy)\n- [ClawHub skill page](https://clawhub.ai/chrischall/skills/homes-mcp)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Natural-language responses, Markdown summaries, JSON-style MCP configuration snippets, and shell commands.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Read-only MCP lookup flow; results depend on homes.com page availability, fetchproxy connectivity, and an authenticated browser session for saved homes or saved searches.]\n\n## Skill Version(s):\n\n1.0.3 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Look up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. Triggers on phrases... Skill: Tmp.EiWSQt4h8g Owner: chrischall Summary: Look up real-estate listings, property details, price/tax history, market reports, saved homes, and photo galleries on homes.com via MCP. Triggers on phrases... Tags: latest:1.0.3 Version history: v1.0.3 | 2026-07-07T23:57:42.742Z | auto - Removed the skill-card.md file. - No user-facing features or functionality were changed. v1.0.2 | 2026-06-15T14:33:39.534Z | auto -","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1375,"uniquenessScore":46,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T16:38:33.428Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T16:38:33.428Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T21:49:45.789Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}