compass-fpx
Query compass.com (US real-estate portal) from a shell with the fpx CLI (@fetchproxy/cli) instead of running the compass-mcp server — search listings, get property/agent detail, price history, and resolve street addresses through one-shot fetches over a signed-in browser tab. Use when you want Compass data without the MCP, in a script, or on a machine where the MCP isn't installed. Skill: compass-fpx Owner: chrischall Summary: Query compass.com (US real-estate portal) from a shell with the fpx CLI (@fetchproxy/cli) instead of running the compass-mcp server — search listings, get property/agent detail, price history, and resolve street addresses through one-shot fetches over a signed-in browser tab. Use when you want Compass data without the MCP, in a script, or on a machine where the MCP isn't
Rank
62
Safety
84
Downloads
1.4k
Updated
Oct 10, 2026
Version
1.1.9
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.4K 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.4K downloadsadoption · observed Oct 10, 2026
- Latest release
- 1.1.9release · observed Oct 9, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:compass-fpx- 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: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-compass-fpx/snapshot"
Documentation
CLAWHUB
147,457 characters of source documentation, loaded on request.
Extracted files
4 files captured from the source.
SKILL.md
---
name: compass-fpx
description: >-
Query compass.com (US real-estate portal) from a shell with the fpx CLI
(@fetchproxy/cli) instead of running the compass-mcp server — search
listings, get property/agent detail, price history, and resolve street
addresses through one-shot fetches over a signed-in browser tab. Use when
you want Compass data without the MCP, in a script, or on a machine where
the MCP isn't installed.
---
# Compass via fpx (no MCP)
Compass has no public JSON data-API for search/listing/agent data — it's a
fully server-rendered React app that embeds each page's data as JSON inside
an inline `<script>` global (`global.uc`, `window.__INITIAL_DATA__`,
`window.__AGENT_PROFILE__`). compass.com also runs **AWS WAF**, which 403s
plain `curl`/Node requests on some paths regardless of headers. `fpx` routes
every request through the user's own signed-in browser tab (the ContextMint
Bridge extension), which already carries a cleared WAF session, so the page
renders normally — you then pull the JSON out of the HTML yourself.
This is **Bucket 1 (full-fetchproxy)**: every call, not just an auth
bootstrap, rides the bridge. Compass validates at the session level per
request, same as the `compass-mcp` server itself (no server-side path
exists). No Compass login is required beyond having a signed-in tab open —
search/listing/agent data and the address-typeahead endpoint are all public.
## One-time setup
```sh
npm install -g @fetchproxy/cli # provides `fpx`
fpx profile add compass --domain compass.com
fpx pair -p compass # prints a pair code → approve in the ContextMint Bridge extension
```
Requirements: the **ContextMint Bridge** browser extension installed
([releases](https://github.com/nullnet-app/contextmint-bridge/releases); it is the
fetchproxy extension renamed, from the same maintainer, with public source and a
`.sha256` beside each release zip), an open
`www.compass.com` tab, and its Chrome **Site access** allowing `compass.com`.
Pairing persists — after the first approval every later `fpx` call reuses it.
## Core call pattern
Two request shapes:
1. **SSR pages** (search, homedetails, agent profile) — `fpx get` the path,
then pull the inline JSON global out of the HTML.
2. **The one structured endpoint** (address typeahead) — `fpx post-json`.
```sh
fpx get 'https://www.compass.com/homes-for-sale/manhattan-ny/' -p compass > /tmp/page.html
node references/extract-global.mjs /tmp/page.html uc | jq '.sharedReactAppProps.initialResults.lolResults.data | length'
```
`references/extract-global.mjs` is a small, dependency-free re-implementation
of the balanced-brace walk `compass-mcp`'s own `src/page-state.ts` uses
(`extractGlobalAssign`) — Compass writes each global as a JSON *literal*
(`global.uc = {...};`), so once the object is sliced out, `JSON.parse`/`jq`
works normally. Regexing for it without brace-balancing breaks the moment a
nested value contains `}`.
Full endpoint list, _meta.json
{
"ownerId": "kn700jq4sjtf2anb0rk3ft4p7n856872",
"slug": "compass-fpx",
"version": "1.1.9",
"publishedAt": 1791588379319
}references/requests.md
# Compass requests for fpx
All paths are relative to `https://www.compass.com`. GET requests return HTML
with an embedded JSON global — pull it out with `extract-global.mjs` (in this
same directory) before piping to `jq`. The one structured endpoint (§4) is a
plain JSON POST.
```sh
fpx get 'https://www.compass.com/<path>' -p compass > /tmp/page.html
node extract-global.mjs /tmp/page.html <globalName> | jq '...'
```
Endpoints and field shapes below are transcribed from `compass-mcp`'s
`src/tools/*.ts` and `src/page-state.ts` — the same live-verified paths and
extraction targets the MCP tools use.
---
## 1. Search listings
`GET /homes-for-sale/<location-slug>/[<filters>/]`
- `<location-slug>`: lowercase, hyphenated free text (`"Brooklyn, NY"` →
`brooklyn-ny`, `"94110"` → `94110`).
- Filters are path segments, in this order: `<bedsMin>-<bedsMax>-bed/`,
`<priceMin>-<priceMax>-price/`, a home-type slug (`type-house`,
`type-condo`, `type-townhouse`, `type-multi-family`, `type-land`,
`type-rental`). Omit any filter you don't need.
- **Pagination ceiling**: Compass server-renders only ~41 listings into this
page (`num`); `/page-N/` canonicalizes back to page 1 with identical data.
To see more of the market, narrow the price/bed bands and re-search each
band — there is no further page to fetch.
```sh
fpx get 'https://www.compass.com/homes-for-sale/brooklyn-ny/2-3-bed/500000-1500000-price/type-condo/' -p compass > /tmp/search.html
node extract-global.mjs /tmp/search.html uc > /tmp/search.json
```
Extraction path: `.sharedReactAppProps.initialResults.lolResults`
(`{ totalItems, data: [ { listing: {...} } ] }`).
```sh
jq -r '.sharedReactAppProps.initialResults.lolResults |
"total=\(.totalItems)",
(.data[].listing |
"\(.listingIdSHA)\t\(.subtitles[0] // "")\t\(.title // "")\t\(.subStats // [] | map(select(.title=="beds")) | .[0].subtitle // "")bd")' \
/tmp/search.json
```
Per-listing fields worth pulling: `listingIdSHA`, `pageLink` (the `_lid/`
detail URL, relative), `navigationPageLink` (the stable `_pid/` URL when
present), `title` (formatted price string), `subtitles` (`[street,
neighborhood]`), `status`, `location.{latitude,longitude}`,
`media[].{originalUrl,thumbnailUrl,category}` (`category:0` = photo),
`subStats[]` (`{title:"beds"|"baths"|"sqft", subtitle:"<n>"}`),
`clusterSummary.{bedrooms,bathrooms,priceRange:[min,max],formattedLotSize,savedListing}`.
**Comparable rentals** reuse this exact path shape with the rental filter:
`/homes-for-sale/<locality-slug>/type-rental/` — same extraction.
**Free-text SSR search** (`/homes-for-sale/?q=<query>`) exists but is
WAF-walled in production (reliably 403s) — don't rely on it; use §4 for
address resolution instead.
---
## 2. Property / listing detail
`GET /homedetails/<slug>/<listingIdSHA>_lid/`
If you only have the `listingIdSHA` (no slug), fetch
`GET /listing/<listingIdSHA>/view` instead — it 302-redirects to the
canonical slugged homedetails URL, and fpx follows theskill-card.md
## Description: Helps agents query Compass real-estate listings, property details, price histories, and agent profiles through the fpx CLI and a paired browser tab. 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, inspect property and agent details, check price history, and resolve addresses from Compass without running an MCP server. ### Deployment Geography for Use: Global ## Known Risks and Mitigations: Risk: Installing a global CLI and browser extension adds software with access to browser-mediated requests. Mitigation: Install only if comfortable with both components; use a dedicated browser profile or Compass session and limit extension site access to compass.com. Risk: The browser bridge pairing persists and can expose browsing-session data to later requests. Mitigation: Remove the pairing when no longer needed and keep the browser session limited to the intended Compass use. ## Reference(s): - [Compass fpx request recipes](references/requests.md) - [Compass fpx release](https://clawhub.ai/chrischall/skills/compass-fpx) - [ContextMint Bridge releases](https://github.com/nullnet-app/contextmint-bridge/releases) ## Skill Output: **Output Type(s):** [Text, JSON, Shell commands, Guidance] **Output Format:** [Text or JSON with shell command examples] **Output Parameters:** [1D] **Other Properties Related to Output:** [Listing results depend on the available Compass pages and the paired browser session.] ## Skill Version(s): 1.1.9 (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.
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!
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
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
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/compass-fpx",
"sourceUrl": "https://clawhub.ai/chrischall/skills/compass-fpx",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T13:39:32.277Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-compass-fpx/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-compass-fpx/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-10T13:39:32.277Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.4K downloads",
"href": "https://clawhub.ai/chrischall/compass-fpx",
"sourceUrl": "https://clawhub.ai/chrischall/compass-fpx",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-10T13:39:32.277Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.1.9",
"href": "https://clawhub.ai/chrischall/compass-fpx",
"sourceUrl": "https://clawhub.ai/chrischall/compass-fpx",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-10-09T23:26:19.319Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-compass-fpx/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-compass-fpx/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.1.9",
"description": "- Removed the file skill-card.md. - No user-facing changes to functionality or documentation.",
"href": "https://clawhub.ai/chrischall/compass-fpx",
"sourceUrl": "https://clawhub.ai/chrischall/compass-fpx",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-10-09T23:26:19.319Z",
"isPublic": true
}
]
}Record generated Oct 10, 2026.
