Compass Mcp

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

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

概览

AI 生成的概览

通过你自己已登录的浏览器标签页抓取 Compass 房产信息,让助手搜索房源、查看详情、照片与价格历史,并做房贷测算。

可以做什么
  • 搜索与解析房源:按地区与筛选条件搜索、把街道地址解析为 Compass 房源、单次批量获取最多 200 条房源
  • 读取房源记录:完整详情、照片图库、价格历史,以及多套房源的并排比较
  • 了解市场情况:附近可比较的出租房源,以及某位经纪人的在售房源
  • 本地计算器:房贷 PITI 明细与按负债收入比计算的可负担最高房价,均不联网
  • 会话标签管理:注册、切换和列出账户标签,仅用于记录
适用场景
适合希望用自然语言研究 Compass 房源的场景,例如比较候选房源、查看价格历史或估算购房预算,前提是你已在自己浏览器中登录 compass.com。收藏房源与收藏搜索目前尚不支持。
运行要求
以 npm 包形式在本地运行(npx compass-mcp 或构建后的 bundle),需要 Node.js,仅限桌面端。需安装 ContextMint Bridge 浏览器扩展并在 Chrome 中登录 compass.com;服务器通过本地 WebSocket 端口(默认 37149,可用 COMPASS_WS_PORT 覆盖)与其通信。可选 COMPASS_COMMUNITIES_FILE 指向社区名称的 JSON 数组。无需 API 密钥。
安装前请注意
Compass 没有公开 API,服务器通过你已登录的浏览器会话抓取页面,请求以你的身份发出,属于对网站的非常规使用,需自行斟酌。它会使用你的 Cookie 与会话上下文,房源数据来自第三方网站。会话注册表只是标签,不会改变实际使用的账户。收藏房源与收藏搜索会直接报错。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

参照 仓库 中的启动说明。

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

来源:README.md,提交 13d1e45

工具

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.

输入参数viewlimitoffsetbeds_maxbeds_minlocation必填home_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.

输入参数urlviewlisting_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.

无需输入参数。

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.

无需输入参数。

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.

输入参数pmi_ratehome_price必填hoa_monthlydown_paymentinterest_rate必填loan_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.

输入参数urlviewlisting_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.

输入参数viewtargets必填include_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.

输入参数hoa_monthlyback_end_dtidown_payment必填front_end_dtiinterest_rate必填monthly_debtsmonthly_income必填loan_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.

输入参数urllisting_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.

无需输入参数。

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.

输入参数zipcityviewstateaddress必填

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.

输入参数viewtargets必填include_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.

输入参数addresses必填

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.

输入参数mark_activeauth_expires_ataccount_identity必填

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.

输入参数session_id必填

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.

无需输入参数。

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.

输入参数urlviewlimitlisting_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.

输入参数slugviewprofile_urlinclude_closed

版本历史

15
  1. v1.2.0最新Nov 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

评分

已满足适用检查项的 90%

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

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

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

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