agentCLAWHUBUnverified

homes-fpx

Query homes.com (US real-estate portal) from a shell with the fpx CLI (@fetchproxy/cli) instead of running the homes-mcp server — search listings, resolve street addresses, fetch property detail/photos/ history, and read the signed-in user's saved homes, all through a one-shot call over their own signed-in browser tab. Use when you want homes.com data without the MCP, in a script, or on a machine where the MCP isn't installed.

OpenClaw

Rank

62

Safety

84

Downloads

1.5k

Updated

Oct 10, 2026

Version

2.1.10

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 10, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 10, 2026
Adoption signal
1.5K downloadsadoption · observed Oct 10, 2026
Latest release
2.1.10release · observed Oct 9, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:homes-fpx
  1. Install using `clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:homes-fpx` in an isolated environment before connecting it to live workloads.
  2. No published capability contract is available yet, so validate auth and request/response behavior manually.
  3. Review the upstream CLAWHUB listing at https://clawhub.ai/chrischall/homes-fpx before using production credentials.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-homes-fpx/snapshot"

Documentation

CLAWHUB

147,479 characters of source documentation, loaded on request.

Extracted files

4 files captured from the source.

SKILL.md

---
name: homes-fpx
description: >-
  Query homes.com (US real-estate portal) from a shell with the fpx CLI
  (@fetchproxy/cli) instead of running the homes-mcp server — search
  listings, resolve street addresses, fetch property detail/photos/
  history, and read the signed-in user's saved homes, all through a
  one-shot call over their own signed-in browser tab. Use when you want
  homes.com data without the MCP, in a script, or on a machine where the
  MCP isn't installed.
---

# homes.com via fpx (no MCP)

homes.com is a fully server-rendered site with **no public JSON API**
and gates traffic through **AWS WAF at the session level** — every
request, not just login, needs to ride a real browser session. `fpx`
routes each call through the user's own signed-in `www.homes.com` tab
(the ContextMint Bridge extension), which has already cleared the WAF
challenge, so the same fetch a Node process gets 403'd on succeeds.

This is "Pattern A" (every call rides the bridge) — there's no
bootstrap-once/direct-fetch shortcut like some sibling portals get.

Almost every page is HTML with one embedded Schema.org
`<script type="application/ld+json">` block carrying the structured
data (search results, property detail). One endpoint — the address
typeahead — is a real JSON API. Everything else this skill covers is
DOM scraping over specific, verified sections of the same pages the
`homes_*` MCP tools parse.

## One-time setup

```sh
npm install -g @fetchproxy/cli       # provides `fpx`
fpx profile add homes --domain homes.com
fpx pair -p homes                    # prints a pair code → approve in ContextMint Bridge
```

Requirements: the **ContextMint Bridge** browser extension installed
(from its [releases](https://github.com/nullnet-app/contextmint-bridge/releases) — Chrome: load the zip unpacked;
Safari: not available yet (will ship inside the ContextMint app) — use Chrome for now;
it is the renamed fetchproxy extension from the same maintainer — verify a
release zip with `shasum -a 256 -c <zip>.sha256` or build from source), with an
open `www.homes.com` tab (signed in — required for the saved-homes/
saved-searches tools below, and helps every other page render the way
the extractors expect), and its Chrome **Site access** allowing
`homes.com`. Pairing persists after the first approval.

## Core call pattern

Always pass the **full URL** (fpx has no base-URL concept of its own):

```sh
fpx get 'https://www.homes.com/<path>' -p homes
```

Most responses are HTML — pull the JSON-LD block out with `node`, then
project with `jq`. homes.com HTML-entity-encodes the script tag's
`type` attribute (`application/ld&#x2B;json`), so match loosely:

```sh
fpx get 'https://www.homes.com/atlanta-ga/' -p homes > /tmp/page.html
node -e '
  const html = require("fs").readFileSync("/tmp/page.html", "utf8");
  const m = html.match(/<script type="application\/ld(?:\+|&#x2B;)json">([\s\S]*?)<\/script>/);
  if (!m) { console.error("no JSON-LD found"); process.exit(1); }
  process.

_meta.json

{
  "ownerId": "kn700jq4sjtf2anb0rk3ft4p7n856872",
  "slug": "homes-fpx",
  "version": "2.1.10",
  "publishedAt": 1791588270735
}

references/homes-requests.md

# homes.com request recipes

Every path below is relative to `https://www.homes.com` — `fpx` needs
the full URL. All shapes are transcribed from `homes-mcp`'s
`src/tools/*.ts` (live-verified there); nothing here is guessed.

A shared helper — save once, source before the recipes that need it:

```sh
cat > /tmp/homes-jsonld.js <<'EOF'
// Usage: node /tmp/homes-jsonld.js <html-file>
// Prints the parsed JSON-LD document (the `{ "@context", "@graph" }`
// envelope, or a synthetic one-element graph if the page emits a bare
// root node) as JSON to stdout.
const fs = require('fs');
const html = fs.readFileSync(process.argv[2], 'utf8');
// homes.com HTML-entity-encodes the `+` in the script `type` attribute
// (`application/ld&#x2B;json`) — match both forms.
const m = html.match(/<script type="application\/ld(?:\+|&#x2B;)json">([\s\S]*?)<\/script>/);
if (!m) { console.error('no JSON-LD block found'); process.exit(1); }
const doc = JSON.parse(m[1].trim());
if (!doc['@graph'] && doc['@type']) {
  console.log(JSON.stringify({ '@context': doc['@context'], '@graph': [doc] }));
} else {
  console.log(JSON.stringify(doc));
}
EOF
```

```sh
# fetch + extract in one step
fetch_jsonld() { # $1 = full URL
  fpx get "$1" -p homes > /tmp/homes-page.html
  node /tmp/homes-jsonld.js /tmp/homes-page.html
}
```

---

## 1. Search listings

`GET /<location-slug>/[<facet-segment>/[newest/]]?price-min=<n>&price-max=<n>`

Path facets (verified live; everything except the price band is
path-based — query strings for facets other than price are stripped at
the edge):

| Filter | Path segment |
| --- | --- |
| `for_sale` + `single_family` | `/<slug>/houses-for-sale/` |
| `condo` | `/<slug>/condos-for-sale/` |
| `townhouse` | `/<slug>/townhouses-for-sale/` |
| `land` | `/<slug>/land-for-sale/` |
| `mobile` | `/<slug>/mobile-homes-for-sale/` |
| `multi_family` | `/<slug>/multi-family-for-sale/` |
| `sold` | `/<slug>/sold/` |
| `for_rent` (untyped) | `/<slug>/homes-for-rent/` |
| `for_rent` + house/condo/townhouse | `/<slug>/<type>-for-rent/` |
| `open_houses` | `/<slug>/open-houses/` |
| `new_construction` | `/new-homes/for-sale/<slug>/` (own URL root) |
| sort `newest` | append `newest/` after the facet segment |
| price band (the ONE query-string facet) | append `?price-min=<n>&price-max=<n>` (either optional, integer USD) |

`<slug>` is the free-text location lowercased/slugified (e.g.
`"Atlanta, GA"` → `atlanta-ga`, a ZIP passes through as-is).

```sh
fetch_jsonld 'https://www.homes.com/atlanta-ga/houses-for-sale/?price-min=300000&price-max=500000' > /tmp/jsonld.json
jq -r '
  .["@graph"][] | select(.["@type"] == "CollectionPage")
  | .mainEntity.itemListElement[]
  | [ (.url // .["@id"]),
      .mainEntity.address.streetAddress,
      .offers.price,
      .mainEntity.numberOfBedrooms,
      .mainEntity.numberOfBathroomsTotal,
      .mainEntity.floorSize.value
    ] | @tsv
' /tmp/jsonld.json
```

Property id = last non-empty path segment of `url` (strip `?query` /
`#fragmen

skill-card.md

## Description:

Guides agents in retrieving homes.com listings, property details, and signed-in saved homes or searches through a paired browser session using fpx.

This skill is ready for commercial/non-commercial use.

## Publisher:

[chrischall](https://clawhub.ai/user/chrischall)

### License/Terms of Use:

MIT-0

## Use Case:

Developers and agents use this skill to search US real-estate listings, resolve addresses, inspect property details and history, and access a signed-in user's saved homes or searches without the homes-mcp server.

### Deployment Geography for Use:

Global

## Known Risks and Mitigations:

Risk: Accessing saved homes or searches can expose private account-specific real-estate interests.

Mitigation: Confirm the user wants this access before running saved-data recipes, and avoid retaining or sharing fetched HTML or JSON unnecessarily.

Risk: Address resolution can return a nearby property rather than an exact match.

Mitigation: Check the resolved property's street address against the requested address before using its details.

## Reference(s):

- [homes-fpx release on ClawHub](https://clawhub.ai/chrischall/skills/homes-fpx)
- [homes.com request recipes](artifact/references/homes-requests.md)
- [ContextMint Bridge releases](https://github.com/nullnet-app/contextmint-bridge/releases)

## Skill Output:

**Output Type(s):** [Shell commands, Code, Guidance]

**Output Format:** [Markdown with shell, JavaScript, and jq examples]

**Output Parameters:** [1D]

**Other Properties Related to Output:** [Offers recipes for public listing data and signed-in saved homes or searches; results depend on the paired browser session.]

## Skill Version(s):

2.1.10 (source: ClawHub release metadata)

## Ethical Considerations:

Users 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.
Github ReposUpdated 16h agoRank 70

AionUi

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!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

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

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/chrischall/skills/homes-fpx",
      "sourceUrl": "https://clawhub.ai/chrischall/skills/homes-fpx",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T09:01:48.217Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-homes-fpx/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-homes-fpx/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-10T09:01:48.217Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.5K downloads",
      "href": "https://clawhub.ai/chrischall/homes-fpx",
      "sourceUrl": "https://clawhub.ai/chrischall/homes-fpx",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T09:01:48.217Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "2.1.10",
      "href": "https://clawhub.ai/chrischall/homes-fpx",
      "sourceUrl": "https://clawhub.ai/chrischall/homes-fpx",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-10-09T23:24:30.735Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-homes-fpx/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-homes-fpx/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 2.1.10",
      "description": "- Removed the sample skill card file (skill-card.md) from the repository. - No changes to functionality or documentation apart from the file removal.",
      "href": "https://clawhub.ai/chrischall/homes-fpx",
      "sourceUrl": "https://clawhub.ai/chrischall/homes-fpx",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-10-09T23:24:30.735Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to homes-fpx and adjacent AI workflows.