Skip to main content
Glama

West Kite: US commercial property owners & records

Comparables for a property

get_comparables
Read-onlyIdempotent

Comparables near one property. kind=sales (default): closed sales from recorded deeds (NYC: ACRIS), newest first, with price, buyer, seller, $/building sf, $/buildable sf (estimate) and $/unit; nominal deeds excluded, portfolio deeds flagged. kind=asking: advertised asks (SF Bay Area listings). kind=financial: reported financials of similar type and size. kind=government_documents: SF public-document amounts.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>"
    },
    "name": "get_comparables"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesWest Kite property ID (from search or search_properties).
kindNoDefault sales.
sortNosales only: newest first (default) or nearest first.
limitNoMaximum results (default 10).
sinceNosales only: earliest sale date (default 24 months ago).
cursorNonextCursor from the previous page; omit for the first page.
maxUnitsNosales only.
minUnitsNosales only.
maxLotSqftNosales only.
minLotSqftNosales only.
propertyTypeNosales and financial: broad property type filter (e.g. Land, Multifamily, Mixed use).
radiusMetersNoSearch radius. sales: up to 3,219 (default 800); asking and government_documents: default about 2 miles.
maxBuildingSqftNosales only.
minBuildingSqftNosales only.
includePortfolioNosales only: false drops multi-lot portfolio deeds (default true, flagged).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed13 schema fields changed
    • addedInput schema / properties / includePortfolio
      Added value: +{
      +  "description": "sales only: false drops multi-lot portfolio deeds (default true, flagged).",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / kind / description
      Previous value: -"Default asking."New value: +"Default sales."
    • changedInput schema / properties / kind / enum
      Previous value: -[
      -  "asking",
      -  "government_documents",
      -  "financial"
      -]New value: +[
      +  "sales",
      +  "asking",
      +  "government_documents",
      +  "financial"
      +]
    • addedInput schema / properties / maxBuildingSqft
      Added value: +{
      +  "description": "sales only.",
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / maxLotSqft
      Added value: +{
      +  "description": "sales only.",
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / maxUnits
      Added value: +{
      +  "description": "sales only.",
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / minBuildingSqft
      Added value: +{
      +  "description": "sales only.",
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / minLotSqft
      Added value: +{
      +  "description": "sales only.",
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / minUnits
      Added value: +{
      +  "description": "sales only.",
      +  "minimum": 0,
      +  "type": "number"
      +}
    • changedInput schema / properties / propertyType / description
      Previous value: -"financial only: property type filter."New value: +"sales and financial: broad property type filter (e.g. Land, Multifamily, Mixed use)."
    • changedInput schema / properties / radiusMeters / description
      Previous value: -"Search radius for asking and government_documents (default about 2 miles)."New value: +"Search radius. sales: up to 3,219 (default 800); asking and government_documents: default about 2 miles."
    • addedInput schema / properties / since
      Added value: +{
      +  "description": "sales only: earliest sale date (default 24 months ago).",
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / sort
      Added value: +{
      +  "description": "sales only: newest first (default) or nearest first.",
      +  "enum": [
      +    "recent",
      +    "nearest"
      +  ],
      +  "type": "string"
      +}
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuinely useful behavior beyond that: nominal deeds are excluded, portfolio deeds are flagged, sales are newest-first by default, and $/buildable sf is explicitly an estimate. It does not describe paging behavior or how many results are typical, which keeps it below 5.

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?

Front-loaded with the one-line purpose, then a compact kind-by-kind breakdown in dense clauses with no filler. Slightly terse in places (the kind clauses are lists rather than sentences), but nothing is wasted.

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?

For a 15-parameter tool with no output schema, the description compensates by naming the returned fields (price, buyer, seller, $/building sf, $/buildable sf, $/unit) and the data sourcing per kind. Combined with 100% schema coverage, an agent has enough to call it correctly; only cross-tool routing guidance is absent.

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

Parameters3/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 15 parameters, including per-kind applicability of sort, since, and the min/max filters. The description reinforces the kind semantics and per-kind radius defaults, but adds little syntax or meaning not already in the schema annotations, so the baseline 3 applies.

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

Purpose4/5

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

Opens with a specific verb+resource ("Comparables near one property") and then enumerates four distinct comparables kinds with their underlying data sources (recorded deeds/ACRIS, SF Bay Area listings, reported financials, SF public documents). An agent can tell exactly what data it will get. It never distinguishes itself from the sibling find_similar_properties or get_market_analytics, so it falls short of the top mark.

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

Usage Guidelines4/5

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

By spelling out what each kind returns, it gives clear implicit guidance on which kind to pick for a sale comp versus an asking comp versus financials. What is missing is any explicit exclusion or routing statement (e.g., when to prefer find_similar_properties or get_market_analytics instead).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources