Compass Mcp

io.github.chrischallPublished by GitHub account chrischallv1.2.0Updated Nov 7, 2026

Compass real-estate for Claude — search, property details, photos, price history, compare

Overview

AI-generated overview

Scrapes Compass real-estate listings through your own signed-in browser tab, letting an assistant search homes, pull property details, photos and price…

What you can do
  • Search and resolve listings: search by location and filters, resolve street addresses to Compass listings, and fetch up to 200 listings in bulk
  • Read property records: full details, photo galleries, price history, and side-by-side comparison of multiple properties
  • Explore market context: nearby comparable rentals and an agent's active listings
  • Run local calculators: mortgage PITI breakdown and maximum affordable price under a DTI rule, with no network calls
  • Manage session labels: register, switch and list account labels used for bookkeeping only
When to use it
Useful when you want an assistant to research Compass listings in natural language — comparing candidate homes, checking price history, or sizing a budget — while signed in to compass.com in your own browser. Saved homes and saved searches are not supported yet.
Requirements
Runs locally as an npm package (npx compass-mcp or a built bundle) on Node.js, desktop only. Needs the ContextMint Bridge browser extension installed and a signed-in compass.com tab in Chrome; the server talks to it over a local WebSocket port (default 37149, overridable with COMPASS_WS_PORT). Optional COMPASS_COMMUNITIES_FILE points to a JSON array of community names. No API keys.
Before you install
Compass publishes no public API; the server scrapes pages through your signed-in browser session, so requests act as you and are informal use of the site at your own discretion. It reads your cookies and session context, and listing data comes from a third-party site. The session registry is a label only and does not change which account is used. Saved homes and saved searches throw errors.

Installation

In SourceWeft

  1. Open Compass Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

compass-mcp

[CI] [npm] [license]

Compass real-estate access as an MCP server for Claude — search listings, fetch property details, photo galleries, price history, and run affordability/mortgage math, all via natural language.

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

Tools

ToolPurposeAuth-scoped
compass_search_propertiesSearch listings by location, price band, beds, home type. Slugifies free-text into Compass's URL routing and extracts the SSR listings array.
compass_get_propertyFull record for a property by URL or listing_id_sha. Address, neighborhood, beds/baths, sqft, lot, price + $/sqft, monthly charges, MLS status, amenities, schools, parcel number.
compass_get_property_photosFull photo gallery — every image in listing.media[] with original + thumbnail URLs and pixel dimensions. Floorplans/other media gated behind include_all_categories.
compass_get_price_historyFull listing-history events (Listed / Sold / Pending / Price Change / Delisted) with date, price, status, and MLS attribution. Returns both this-listing and prior-listing aggregates.
compass_compare_propertiesSide-by-side comparison of up to 25 properties with an opt-in aligned summary table. Per-target errors captured per-row. Concurrent fetches.
compass_calculate_affordabilityLocal affordability calculator — max purchase price from income + DTI + rates. No network.
compass_get_by_addressResolve a free-text street address to the canonical Compass URL, listing_id_sha, and pid in one call. Returns { resolved: false, error: "no listing found" } rather than throwing when there is no match.
compass_resolve_addressesBulk version of compass_get_by_address: resolves many addresses in one call with the same rung walker and a per-row error contract.
compass_bulk_getFetch up to 200 listings by URL or listing_id_sha in one call. One row per target; per-target errors captured per-row.
compass_get_comparable_rentalsNearby rental listings for a property, searched in the target's own city/state/ZIP.
compass_get_agent_listingsA Compass agent's active listings (closed deals via include_closed).
compass_calculate_mortgageLocal PITI calculator — principal+interest, taxes, insurance, HOA, PMI. No network.
compass_get_saved_homesNot yet supported — Compass renders /overview/favorites via auth-scoped GraphQL we have not yet identified. Throws a clear "not yet wire" error.✓
compass_get_saved_searchesNot yet supported — same constraint as saved homes.✓
compass_healthcheckRound-trips a no-op request through the bridge to confirm the WebSocket bridge, the extension and the signed-in compass.com tab are responsive.
compass_register_sessionRegister or refresh a logical session keyed by account identity (local; no network).
compass_set_active_sessionSwitch which registered session answers future requests (local).
compass_get_session_contextList the registered sessions and the active one (local).

Response size

The listing read tools take an optional view argument: "compact" (the default) or "full". Compact strips image and avatar URLs (including primary_photo_url / primary_thumbnail_url) and keeps every other field; view: "full" returns the payload with those URLs intact.

Tools that take view: compass_search_properties, compass_get_property, compass_bulk_get, compass_compare_properties, compass_get_price_history, compass_get_comparable_rentals, compass_get_agent_listings, compass_get_by_address.

Changed in 1.1.9: compass_get_property, compass_bulk_get, compass_compare_properties, compass_get_price_history and compass_get_comparable_rentals used to return every field, media URLs included. They now default to compact like the other read tools. If you relied on photo or avatar URLs from these tools, pass view: "full", or use compass_get_property_photos for the gallery.

compass_get_property_photos takes no view — its gallery URLs are the whole point of the tool, so it always returns them.

Acknowledgement of Terms

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

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

2. Compass's Terms of Use govern your use of this server, just as they govern your direct use of compass.com. The clauses most relevant here:

You may not automatedly crawl or query the Services for any purpose or by any means (including, without limitation, screen and database scraping, spiders, robots, crawlers and any other automated activity with the purpose of obtaining information from the Services) unless you have received prior express written permission from the applicable Compass Company.

And: "You agree to keep your password confidential, not use others' accounts, nor permit others to use your account."

You are agreeing to those terms — read by the maintainer 2026-05-23 — every time you invoke a tool in this server. Compass's terms prohibit automated crawling without written permission, and IDX listing data is licensed for personal, non-commercial use only.

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

4. Stability is not guaranteed. This server reads private inline-script state (global.uc.sharedReactAppProps, window.__INITIAL_DATA__.props.listingRelation.listing) and SSR URL conventions (/homes-for-sale/<slug>/, /homedetails/<slug>/<id>_lid/) that Compass may change without notice. It may break. It may stop working. That's by design — the surface is not theirs to maintain on our behalf.

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

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

Install

Option A — npx (after first publish)

Add to .mcp.json:

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

Option B — from source

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

One-time browser setup

compass-mcp talks to your browser through the ContextMint Bridge extension, which is shared across every fetchproxy-based MCP (zillow-mcp, opentable-mcp, resy-mcp, …). Install it once from the ContextMint Bridge releases:

  • Chrome: download the Chrome zip, unzip it, then chrome://extensions → toggle Developer mode → Load unpacked → pick the unzipped folder.
  • Safari: the bridge ships inside the ContextMint app; you enable it in Safari's settings. The ContextMint app has no public download yet, so there is no Safari install link to give — use Chrome for now.

Where it comes from. ContextMint Bridge is the fetchproxy browser extension under its new name, from the same maintainer — fetchproxy's own README (Extension) points to it. Its source is public at nullnet-app/contextmint-bridge: build it yourself (its README covers npm run build), or check a release zip against the .sha256 file published beside it:

bash
shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256

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

How it works

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

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

Compass's pages are SSR React with no public JSON API — every tool extracts data from inline-script globals (global.uc.sharedReactAppProps on search pages, window.__INITIAL_DATA__.props.listingRelation.listing on homedetails). The client wraps that into the tool surface so callers never have to parse HTML themselves.

Commands

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

License

MIT

Source: README.md at commit 13d1e45

Tools

18

compass_search_properties

Search Compass listings

Search Compass listings by location (city, ZIP, neighborhood) and optional filters. Resolves free-text via slugification into Compass's URL routing, then fetches the SSR search-results page and extracts the embedded listings array. Compass server-renders ~41 listings into that page (its `num`), and `total_items` reports the full market count. PAGINATION (issue #87): Compass no longer paginates the SSR search via any URL — `/page-N/`, `?page=N`, and `?start=N` all canonicalize back to page 1 and return the identical listings, so only the first SSR page (~41 listings) is reachable through this primitive. `offset` is honored WITHIN that page, and `next_offset` is emitted only when more listings remain within it — it is never a false cursor that re-fetches page 1. TO REACH BEYOND THE FIRST PAGE, narrow with `price_min` / `price_max` / `beds_min`/`beds_max` to bucket the result set into <~41-listing bands (price-banding), then search each band. Returns each matching listing's address, price, beds/baths, sqft, lat/lng, the Compass homedetails URL (`_lid/` form, content-addressed by `listing_id_sha`), and the stable `_pid/` URL via `property_url` and the surfaced `pid` field. The per-listing `primary_photo_url` / `primary_thumbnail_url` are omitted in the default `compact` view (they are Compass CDN URLs a model cannot see); pass `view: "full"` to get them, or `compass_get_property_photos` for the whole gallery. USE `pid`/`_pid/` FOR LONG-LIVED REFERENCES (trackers, sheets, bookmarks) — sha-based `_lid/` URLs change when a property is delisted and relisted. Use the sha-based URL to fetch the current listing record. Read-only; safe to call repeatedly.

Parametersviewlimitoffsetbeds_maxbeds_minlocationrequiredhome_typeprice_maxprice_min

compass_get_property

Get Compass property details

Fetch a property's full Compass record. Pass either `url` (a full Compass homedetails URL or path from a compass_search_properties result) or `listing_id_sha` alone — when only the sha is supplied, the tool fetches /listing/<sha>/view, which redirects to the canonical /homedetails/<slug>/<sha>_lid/ page. Returns address, neighborhood, beds/baths, sqft, lot size (`lot_size_sqft` plus the derived `lot_size_acres` = round(sqft / 43560, 2), null — never 0 — for condos / missing lots), price + price-per-sqft, monthly charges, MLS status, amenities, schools, parcel number, and the canonical Compass URL. Also returns `extracted_features` (lake_front, hot_tub, basement, furnished, dock, community) keyword-parsed from the description. DESCRIPTION HANDLING: The raw `description` (Compass marketing copy) is omitted by default — pass `include_description: true` to keep it. `extracted_features` is always populated and usually sufficient. URL FORMS: Compass exposes two URL shapes for a listing. `_lid/` (content-addressed by `listing_id_sha`) — what this tool fetches and what `url` returns — is the form to use for reading the current listing record. `_pid/` (opaque short ID, in `property_url` and the surfaced `pid` field) is **stable across re-listings** and is the right choice for any long-lived reference (trackers, sheets, bookmarks); sha-based URLs go stale when a property is delisted and relisted. Read-only; safe to call repeatedly.

Parametersurlviewlisting_id_shainclude_description

compass_get_saved_homes

Get my saved (favorited) Compass homes

Not yet supported — Compass renders /overview/favorites via an auth-scoped GraphQL we have not yet identified. Throws a clear error explaining the limitation.

Takes no parameters.

compass_get_saved_searches

Get my saved Compass searches

Not yet supported — Compass renders saved searches via an auth-scoped GraphQL we have not yet identified. Throws a clear error explaining the limitation.

Takes no parameters.

compass_calculate_mortgage

Calculate mortgage payment (local)

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

Parameterspmi_ratehome_pricerequiredhoa_monthlydown_paymentinterest_raterequiredloan_term_yearsinsurance_annualproperty_tax_rateproperty_tax_annualdown_payment_percent

compass_get_price_history

Get Compass listing-history events

Full listing history for a Compass property — Listed / Sold / Pending / Price Change / Delisted events with date, price, and MLS attribution. Returns three arrays: `events` covers this listing's events, `history` aggregates events from prior listings of the same property, and `events_normalized` merges both into a shared cross-MCP schema (`{date, type, price?, price_change_pct?, source_mls?}` with a fixed type enum: Listed | PriceChange | Pending | Contingent | Sold | Withdrawn | Relisted | Delisted). Pass either `url` (the full Compass homedetails URL or path) or `listing_id_sha` alone — sha-only calls fetch /listing/<sha>/view, which redirects to the homedetails page. Note: most of this data is already returned inline on `compass_get_property` (the events[] / history[] arrays live on the same listing record); call this tool only when you want the merged + normalized timeline. Read-only; safe to call repeatedly.

Parametersurlviewlisting_id_sha

compass_compare_properties

Compare Compass properties side-by-side

Fetch 2 or more Compass properties and align their facts side-by-side. Each target may supply `url` (a full Compass homedetails URL or path) or `listing_id_sha` alone — sha-only targets fetch /listing/<sha>/view, which redirects to the homedetails page. Returns the full per-property record per row (with `extracted_features` populated). Per-target errors are captured per-row — one bad target will not fail the whole call; a failed row carries `status` = `error_kind` (`timeout` / `bridge_down` / `protocol` / `other`), `retryable` and `error`, and the envelope reports `count` / `ok` / `errored`. Calls are concurrent, and the whole call is bounded by an overall deadline: any row still unsettled when it is reached comes back as `{ status: "pending", retryable: true, error }` with a top-level `pending` count — re-run just those targets. The raw `description` is omitted from each row by default — pass `include_description: true` to keep it. The redundant `summary` table is also opt-in via `include_summary: true` — by default only `results[]` is returned, which already carries every fact.

Parametersviewtargetsrequiredinclude_summaryinclude_description

compass_calculate_affordability

Calculate max affordable home price

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

Parametershoa_monthlyback_end_dtidown_paymentrequiredfront_end_dtiinterest_raterequiredmonthly_debtsmonthly_incomerequiredloan_term_yearsinsurance_annualproperty_tax_rate

compass_get_property_photos

Get Compass property photo gallery

The full photo gallery for a Compass listing — every image in listing.media[]. Each entry returns the original CDN URL plus a thumbnail URL and pixel dimensions. Pass either `url` (the full Compass homedetails URL or path) or `listing_id_sha` alone — sha-only calls fetch /listing/<sha>/view, which redirects to the homedetails page. By default only photos (category 0) are returned; set `include_all_categories: true` to also include floorplans and other media. Returns `{ listing_id_sha, count, photos }`. Read-only; safe to call repeatedly.

Parametersurllisting_id_shainclude_all_categories

compass_healthcheck

Verify the ContextMint Bridge connection end-to-end

Round-trips a small public www.compass.com URL (/robots.txt) through ContextMint Bridge (your signed-in browser tab) and returns diagnostics: the bridge's role (host/peer/null), port, version, the extension link (linked / pair pending / not attached / never answered), the elapsed round-trip time, and a plain-English hint distinguishing 'bridge never came up' from 'extension not connected' from 'this browser can't serve a capability' from 'real www.compass.com-side problem'. Read-only, no auth required. Call this when a real tool fails and you want to know which hop broke.

Takes no parameters.

compass_get_by_address

Resolve a Compass listing by street address

Resolve a free-text street address to a Compass listing's canonical URL and identifiers in one call. Walks three rungs: first the structured typeahead `POST /api/v3/omnisuggest/autocomplete` (the primary rung — Compass's address-suggest API, which routes around the AWS WAF that 403s the SSR free-text path, issues #78/#79), then `/homes-for-sale/?q=<address>` (the free-text rung) and — when those return no verified match — a slug-based search at `/homes-for-sale/<city-state-or-zip>/` (the search-fallback rung, issue #71). Each candidate is verified against the query (case + street-type abbreviation normalization, then whole-token equality, issue #45) before being accepted. Returns `{ url, listing_id_sha, pid, address, resolved, matched_via }` where `matched_via` is `"typeahead"`, `"freetext"`, or `"search_fallback"` so callers can see which rung found the match. When no rung matches, returns `{ resolved: false, error: "no listing matched" }` rather than leaking a wrong URL. When the lookup was blocked by a sign-in / AWS WAF challenge instead, it returns `{ resolved: false, status: "auth_required", error, hint }` — NOT a miss: sign in to compass.com in the browser and retry. The `url` is the stable `_pid/` form when Compass provides a `navigationPageLink` (preferred for trackers/bookmarks — sha URLs go stale on relisting), falling back to the `_lid/` form otherwise. Read-only; safe to call repeatedly.

Parameterszipcityviewstateaddressrequired

compass_bulk_get

Bulk-fetch Compass listings by url or listing_id_sha

Fetch up to 200 Compass listings in a single call. Returns one structured row per input target (no side-by-side summary table — use `compass_compare_properties` for that). Each row is either `{ listing_id_sha, url, status: "ok", property }` on success or `{ listing_id_sha, url, status, error_kind, retryable, error }` on failure (`status` = `error_kind`) — one bad target never fails the whole call. `retryable: true` (a bridge `timeout` after one retry, an unreachable `bridge_down`, issue #73) is NOT a missing listing, so retry it (a cold bridge usually succeeds on the second call) rather than concluding Compass has no record; `protocol` / `other` are real misses. Targets accept the same `url` / `listing_id_sha` shape as `compass_get_property`. Calls fan out concurrently. The whole call is bounded by an overall deadline: a slow or hung row never wedges it — any row still unsettled when the deadline is reached comes back as `{ status: "pending", retryable: true, error }` alongside a top-level `pending` count, so re-run just those targets. The envelope also reports `count` / `ok` / `errored`. `extracted_features` is populated per row. The raw `description` is omitted by default — pass `include_description: true` to keep it.

Parametersviewtargetsrequiredinclude_description

compass_resolve_addresses

Bulk-resolve Compass listings by street address

Resolve up to 100 street addresses to Compass listing URLs in a single call. Returns one row per input, either `{ resolved: true, url, listing_id_sha, pid, address, matched_via }`, `{ resolved: false, error, query }` for a genuine no-match, or — when the bridge timed out / was unreachable (issue #85) — `{ resolved: false, status: "timeout" | "bridge_down", retryable: true, error, query }`. A `status` row is NOT a miss: the lookup never completed, so retry it (a cold bridge usually succeeds on the second call) rather than concluding Compass has no listing. A row with `status: "auth_required"` (plus `error` and `hint`) means the browser session was signed out or stuck on an AWS WAF challenge: sign in to compass.com, then retry. Each row walks the same three rungs as `compass_get_by_address` — first the structured typeahead `POST /api/v3/omnisuggest/autocomplete` (the primary rung that routes around the AWS WAF, issues #78/#79), then `/homes-for-sale/?q=<address>` (freetext), then `/homes-for-sale/<locality-slug>/` (search_fallback, issue #71) — and verifies candidates against the same whole-token address-match policy (#45). The `matched_via` field on each resolved row indicates which rung found it. Compass's search degrades into far-away top hits when the local market has no match, and bulk amplifies the corruption surface, so a miss returns `resolved: false` with no URL rather than leaking the wrong property. Calls fan out concurrently server-side, and the whole call is bounded by an overall deadline: any row still unsettled when it is reached comes back as `{ resolved: false, status: "pending", retryable: true, error, query }` with a top-level `pending` count — that is NOT a miss, so re-run just those addresses. Read-only; safe to call repeatedly.

Parametersaddressesrequired

compass_register_session

Register a signed-in Compass session

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

Parametersmark_activeauth_expires_ataccount_identityrequired

compass_set_active_session

Set the active Compass session

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

Parameterssession_idrequired

compass_get_session_context

List all registered Compass sessions

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

Takes no parameters.

compass_get_comparable_rentals

List nearby rental listings for a Compass property

Surface nearby rental listings for a Compass property — useful for evaluating STR (short-term-rental) viability in vacation markets. Lifts the target's city/state/zip from the homedetails page, then searches Compass's `type-rental/` filter in the same locality and returns each rental's address, monthly price (in `price_formatted`), beds/baths, sqft, and the Compass URL. Honest-by-default: when no rentals come back, `rentals: []` with the target locality preserved so the caller can decide to widen. Read-only; safe to call repeatedly.

Parametersurlviewlimitlisting_id_sha

compass_get_agent_listings

Get a Compass agent's listings

Fetch the listings represented by a Compass agent from their profile page (/agents/<slug>/). Pass either `slug` (e.g. "paige-mcguirk") or `profile_url` (a full https://www.compass.com/agents/<slug>/ URL — both forms are accepted). Returns `{ agent: {name, slug}, active_listings: [...] }`, where each active listing carries the SAME normalized fields as compass_get_property (address, beds/baths, sqft, lot size, price + price-per-sqft, MLS status, the canonical Compass URL + stable pid, extracted_features, etc.). CLOSED DEALS: the agent's sold/closed deals are opt-in — pass `include_closed: true` to add a `closed_deals` array (same normalized shape). Omitted by default to keep the payload lean. CHAINING: the agent slug is surfaced on each property's `listing_agent.profile_slug` in compass_get_property results (compass_search_properties results don't carry the listing agent), so you can go property → agent → their other listings. Read-only; safe to call repeatedly.

Parametersslugviewprofile_urlinclude_closed

Version history

15
  1. v1.2.0LatestNov 4, 2026
  2. v1.1.11Oct 16, 2026
  3. v1.1.10Oct 11, 2026
  4. v1.1.9Oct 10, 2026
  5. v1.1.8Oct 7, 2026
  6. v1.1.7Oct 5, 2026
  7. v1.1.6Oct 3, 2026
  8. v1.1.5Sep 28, 2026
  9. v1.1.4Sep 25, 2026
  10. v1.1.3Sep 24, 2026
  11. v1.1.2Sep 23, 2026
  12. v1.1.1Sep 23, 2026
  13. v1.1.0Sep 20, 2026
  14. v1.0.0Sep 18, 2026
  15. v0.14.4Sep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts