Skip to main content
Glama
chrischall

homes-mcp

by chrischall

Get homes.com property details

homes_get_property
Read-onlyIdempotent

Retrieve a complete homes.com listing record from its property detail URL, including address, beds/baths, price, agent, schools, and optional price/tax history.

Instructions

Fetch a property's full homes.com record. Pass url — the full property detail URL (e.g. from a homes_search_properties result's url field). Parses the page's Schema.org JSON-LD plus DOM-side sections to return address, lat/lng, beds/baths, sqft, year built, price, status, listing agent + brokerage, highlights, estimated monthly payment, total views, Matterport tour URL, floorplan URLs, schools, HOA fee, lot_size_sqft plus the derived lot_size_acres (round(lot_size_sqft / 43560, 2); both null — never 0 — for condos and listings with no lot), parking, heating/cooling, MLS ID/source, and date posted/modified. Also returns extracted_features (lake_front, hot_tub, basement, furnished, dock, community) derived server-side from the listing description so callers don't have to keyword-parse marketing prose. Pass include_price_history: true to inline the same data homes_get_property_history returns (listing_events, ownership_events, lien_events, events_normalized) under price_history. Pass include_tax_history: true to inline homes_get_tax_history records under tax_history. Both are off by default; opting in costs nothing extra over the dedicated tools (same page fetch). The raw description is omitted by default; pass include_description: true to opt back in. Read-only; safe to call repeatedly.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYeshomes.com property detail URL or path (e.g. https://www.homes.com/property/3199-delmar-ln-nw-atlanta-ga/rxrzwg0kjnr32/). Required — pass the `url` field from a homes_search_properties result.
viewNoResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full" returns Homes.com's payload untouched. No field projection: this server has no verified record of which Homes.com fields matter, and inventing one would risk dropping a field a caller needs.
include_descriptionNoWhen true, include the raw listing `description` marketing prose. Default false — the structured `extracted_features` field surfaces the keywords callers usually want; the prose itself is heavy chat-history weight.
include_tax_historyNoWhen true, inline `tax_history` records — same data `homes_get_tax_history` returns. Saves a second round trip when you need both (#27).
include_price_historyNoWhen true, inline `price_history` (listing/ownership/lien events + events_normalized) on the response — the same data `homes_get_property_history` returns. Saves a second round trip when you need both (#27).

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changedv1.4.1
    • addedInput schema / properties / view
      Added value: +{
      +  "description": "Response shape: \"compact\" (default) drops fields the response already carries elsewhere; \"full\" returns every field this server understands. compact strips image/avatar URLs from the response; \"full\" returns Homes.com's payload untouched. No field projection: this server has no verified record of which Homes.com fields matter, and inventing one would risk dropping a field a caller needs.",
      +  "enum": [
      +    "compact",
      +    "full"
      +  ],
      +  "type": "string"
      +}
  2. First observedv1.1.1

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint/idempotentHint annotations: it discloses the parsing mechanism (Schema.org JSON-LD plus DOM-side sections), the exact derivation rule for lot_size_acres with the "null — never 0" edge case for condos, and that extracted_features is computed server-side so callers needn't parse marketing prose. The candid "this server has no verified record of which Homes.com fields matter" caveat on view=full is notable honesty about system limits. "Read-only; safe to call repeatedly" is consistent with all three annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long, but every sentence earns its place: the load-bearing instruction (pass the url from a search result) is front-loaded, and the dense return-field list is information rather than padding. The structural weakness is a single run-on paragraph that would benefit from bulleted return fields or sentence breaks, though this is a formatting nit, not bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the full return-contract burden and mostly meets it: roughly 25 returned fields, the extracted_features sub-fields, the lot_size_acres formula and null behavior, and all opt-in flags mapped to sibling-tool equivalents. The remaining gaps are error semantics for invalid or expired URLs and an explicit note routing photo-only callers to homes_get_property_photos — both minor given how much is covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all five parameters — the baseline is 3. The description adds value above that by linking include_price_history and include_tax_history to the exact sibling output shapes (listing_events, ownership_events, lien_events, events_normalized; tax_history) and by explaining the default-off rationale. The view parameter semantics are reinforced with the field-projection honesty, which goes beyond the schema's own already-strong description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb + resource: "Fetch a property's full homes.com record," and pins the input contract to the full property detail URL. The exhaustive return-field enumeration (address, beds/baths, price, lot_size_acres, Matterport tour, schools, etc.) separates it from history-only, tax-only, photos, and search siblings, several of which are named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tells the agent exactly where the input comes from — "e.g. from a homes_search_properties result's url field" — which also disambiguates it from homes_get_by_address. For the optionally inlined data, it names the dedicated siblings (homes_get_property_history, homes_get_tax_history) and states the tradeoff ("Saves a second round trip when you need both"). The view and include_description guidance adds concrete when-to-use context rather than leaving it to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrischall/homes-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server