Skip to main content
Glama

RBSHome

Server Details

Dallas and Collin County, TX property, tax-delinquency and land records for investors.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.8/5.0

Scored across 21 tools

Disambiguation2/5

Several tool pairs overlap heavily: search vs search_properties both resolve an address/account/lead_id/owner name into matches, fetch and get_property both return the full record for one property, and comps_for_address vs estimate_lot_value both produce CAD-based land-value ranges from same-ZIP same-use comparables. The three buyer tools (find_likely_buyers, find_recent_buyers, find_builders_for_lot) are distinguishable by scope, but an agent must read long descriptions carefully to avoid picking the wrong twin.

Naming Consistency4/5

The dominant pattern is verb_noun (analyze_deal, draft_offer_letter, estimate_lot_value, filter_properties, find_owner_portfolio, get_market_stats, list_saved_filters, save_filter, search_properties), which is readable and predictable. Deviations are a few bare verbs, notably fetch and search, and the get_property/fetch split for the same 'retrieve one record' action.

Tool Count3/5

At 21 tools this sits at the heavy end; the domain (parcel lookup, lead filtering, valuation, buyer discovery, offer drafting, quota info) is genuinely broad, so most tools earn a place. However, roughly four or five tools are near-duplicates of others, meaning a leaner ~15-tool surface would cover the same work.

Completeness4/5

Coverage is strong across the lifecycle: discovery (search, search_properties, filter_properties, motivated_sellers_near), detail (get_property, fetch), analysis (comps_for_address, estimate_lot_value, analyze_deal), outreach (draft_offer_letter), and supporting tools (save_filter, list_saved_filters, get_usage, get_tax_sale_history). Minor gaps: get_property exposes saved my_research facts but no tool writes or updates them, and there is no tool to refresh/delete saved filters.

Available Tools

21 tools
analyze_dealAnalyze a land dealA
Read-onlyIdempotent
Inspect

Use when someone gives an address and an asking price and asks whether it is a good deal or what to offer. Runs RBSHome's offer calculator on a Dallas or Collin County, Texas parcel: target resale (default: the CAD land-value median of comparable lots, or your resale_price) minus flag discounts (floodplain, no frontage, delinquent taxes), closing, holding and the buyer's margin gives a maximum allowable offer (MAO), an opening offer, the line-by-line math and how far the asking price is above or below the MAO. All assumptions can be overridden. Not an appraisal or advice. Counts as a property lookup. Read-only.

NameRequiredDescriptionDefault
addressNoStreet address in Dallas or Collin County, Texas, e.g. '1234 Elm St, Plano TX 75023'
lead_idNoRBSHome lead ID like 'Collin:2771234', when already known (skips the address lookup)
tax_liensNoApply the delinquent-tax discount (default 10%). Default: on when the parcel is a tax-delinquent lead.
floodplainNoApply the floodplain discount (default 20%)
margin_pctNoBuyer margin as % of adjusted resale. Default 20.
closing_pctNoClosing costs as % of adjusted resale. Default 3.
no_frontageNoApply the no-road-frontage discount (default 30%)
opening_pctNoOpening offer = MAO less this %. Default 15.
asking_priceYesThe seller's asking price in dollars, e.g. 85000
resale_priceNoYour target resale price. Default: the CAD land-value median of comparable lots (estimate_lot_value mid).
assignment_feeNoFlat assignment fee instead of margin_pct, e.g. 10000
holding_monthsNoMonths held. Default 3.
holding_monthlyNoHolding cost per month in dollars. Default 150.

Output Schema

NameRequiredDescription
maoYes
urlYes
linesYes
notesYes
lead_idYes
sourcesYes
summaryYes
verdictYes
data_as_ofYes
disclaimerYes
asking_priceYes
resale_basisYes
resale_priceYes
opening_offerYes
matched_addressYes
spread_vs_askingYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations cover read-only/idempotent/closed-world, and the description adds value beyond them: the default resale source (CAD land-value median of comparable lots), which discounts are auto-applied, that every assumption is overridable, and that it is not an appraisal or advice. The note that it 'counts as a property lookup' hints at quota or metering behavior, which is useful context not present in 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?

Dense but front-loaded, leading with the trigger condition before the mechanics and closing with scope caveats. The middle formula sentence is long and semicolon-stacked, but every clause carries information an agent needs.

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 13-parameter calculator with an output schema, the description covers inputs, defaults, outputs, and limits of validity. Minor gap: it frames usage around 'an address and an asking price' while the schema also accepts a lead_id path that skips lookup, which the description doesn't mention.

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 baseline is 3; the description earns extra by explaining the calculation chain that gives the parameters meaning — resale minus flag discounts, closing, holding and buyer margin produce the MAO, and the opening offer is derived from it. It does not enumerate individual parameter formats (that is left to the schema, reasonably).

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 and resource ('Runs RBSHome's offer calculator on a Dallas or Collin County parcel') and enumerates the outputs (MAO, opening offer, line-by-line math, distance from asking). It is clearly distinguishable from estimate_lot_value and comps_for_address, which supply inputs rather than a full underwriting result.

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?

Gives an explicit trigger condition: an address plus an asking price, plus a question about deal quality or what to offer. It does not name a sibling alternative or state when not to use it, so it falls short of a 5.

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

comps_for_addressLand comps for an addressA
Read-onlyIdempotent
Inspect

Use when someone asks what a lot or land at a street address is worth, or for comps. Takes a Dallas County or Collin County, Texas street address (or a lead_id) and returns the parcel's appraisal-district values plus comparable same-ZIP, same-use lots: land $/sqft and $/acre quartiles, recent transfers and an implied land-value range. Texas does not disclose sale prices, so this is a CAD-based range, not an appraisal or a sale price. Includes a link to the parcel in RBSHome. Counts as a property lookup. Read-only.

NameRequiredDescriptionDefault
addressNoStreet address in Dallas or Collin County, Texas, e.g. '1234 Elm St, Plano TX 75023'
lead_idNoRBSHome lead ID like 'Collin:2771234', when already known (skips the address lookup)

Output Schema

NameRequiredDescription
urlYes
basisYes
notesYes
lead_idYes
sourcesYes
subjectYes
data_as_ofYes
disclaimerYes
comparablesYes
matched_addressYes
implied_land_valueYes
implied_land_value_recent_midYes

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already cover read-only, idempotent, non-destructive, and closed-world, so the description is free to spend its words elsewhere — and it does: it discloses the CAD-based data provenance and the crucial caveat that Texas does not disclose sale prices, so results are a range rather than an appraisal or sale price. 'Counts as a property lookup' is a genuinely useful quota/metering signal that appears nowhere in the structured fields, and the RBSHome parcel link tells the agent what actionable artifact accompanies the result.

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 trigger condition, then scope, then outputs, then the caveat — a sensible order for an agent scanning quickly. Every clause carries information, though the output enumeration is dense enough that it approaches the length where the output schema would serve better.

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

Completeness5/5

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

For a two-parameter tool with a full output schema and complete annotation coverage, the description supplies everything the agent needs to decide to call it: input scope, what the numbers mean, why they are a range, and what counts against quota. The only omission is a cross-reference to the sibling valuation tools, which is a routing nicety rather than a completeness gap.

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% and both parameter descriptions are already detailed (address format example, lead_id pattern and 'skips the address lookup'), so the schema does the heavy lifting. The description's 'address (or a lead_id)' restates the either-or relationship implied by zero required parameters but adds no format, precedence, or error-handling detail beyond that. Baseline 3 is the right level here.

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?

The description names a specific verb-and-resource pairing ('land comps' for a parcel at an address) and enumerates what comes back: appraisal-district values, same-ZIP same-use comps, $/sqft and $/acre quartiles, transfers, and an implied range. It is clearly a valuation-lookup tool rather than a search or ownership tool. It stops short of naming the near-sibling estimate_lot_value, so the agent must infer the boundary from the sibling list alone.

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?

'Use when someone asks what a lot or land at a street address is worth, or for comps' gives an explicit triggering intent, and the county constraint (Dallas or Collin, Texas) bounds applicability. There is no when-not guidance — nothing tells the agent to prefer estimate_lot_value or analyze_deal in the overlapping case of estimating a lot's value.

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

draft_offer_letterDraft an offer letterA
Read-onlyIdempotent
Inspect

Use when someone asks to write or draft an offer letter for a property. Takes a Dallas County or Collin County, Texas address (or a lead_id) and an offer price, with optional earnest money, inspection and closing days, expiry, buyer name and title company, and returns the text of a one-page, non-binding letter of intent addressed to the owner of record, plus a link to the property in RBSHome, where the PDF is made by re-entering the price and terms on the Offer tab. Nothing is sent or stored. Use analyze_deal first for a price. Counts as a property lookup. Read-only.

NameRequiredDescriptionDefault
addressNoStreet address in Dallas or Collin County, Texas, e.g. '1234 Elm St, Plano TX 75023'
lead_idNoRBSHome lead ID like 'Collin:2771234', when already known (skips the address lookup)
assignableNoBuyer may assign the contract (default true)
buyer_nameNoBuyer or company name for the signature block
buyer_phoneNoBuyer phone for the letter
expiry_daysNoDays the offer stays open, default 7
offer_priceYesOffer price in dollars, e.g. 72000 (analyze_deal gives an MAO)
closing_daysNoDays to close, default 30
earnest_moneyNoEarnest money, default 1000
title_companyNoTitle company; default: one chosen by the buyer
inspection_daysNoInspection period in days, default 14

Output Schema

NameRequiredDescription
pdfYes
refYes
urlYes
notesYes
lead_idYes
data_as_ofYes
disclaimerYes
expiry_dateYes
letter_dateYes
letter_textYes
offer_priceYes
matched_addressYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds genuinely new behavior: the output is non-binding, nothing is sent or stored, and the PDF must be produced manually by re-entering price and terms on the Offer tab. Repeating 'Read-only' is redundant with the hints, which keeps this from a 5, but the workflow caveat is real added value.

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 trigger condition and then densely packed with inputs, outputs, and the manual-PDF caveat in two sentences. It is long but nearly every clause carries information; the only soft spot is the redundant 'Read-only' closer after a full sentence already establishing that nothing is stored.

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

Completeness5/5

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

For an 11-parameter generation tool with an output schema, the description covers the trigger, the county restriction, the primary/alternate key, the derived-from-analyze_deal workflow, and the downstream PDF step. An agent has everything needed to call it correctly on the first attempt.

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 every parameter is already documented in the schema, including defaults, ranges, and the analyze_deal tie-in for offer_price. The description only restates the optional field list and the address/lead_id duality, adding no format or interaction detail beyond the structured data. Baseline 3 is appropriate.

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 concrete verb and artifact ('write or draft an offer letter'), names the required inputs (county-limited address or lead_id plus offer price), and specifies exactly what comes back: a one-page non-binding letter of intent plus an RBSHome link. No sibling tool drafts letters, so the tool is unmistakable from the surrounding set.

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?

Opens with an explicit trigger ('Use when someone asks to write or draft an offer letter for a property') and gives a sequencing directive, 'Use analyze_deal first for a price.' It also documents the alternative input path (lead_id skips the address lookup) and flags that the call counts as a property lookup, which matters for quota-conscious agents.

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

estimate_lot_valueCAD-based land-value rangeA
Read-onlyIdempotent
Inspect

Estimate a land-value range for one Dallas County or Collin County, Texas parcel from appraisal-district (CAD) land values: the subject's CAD land, improvement and market values, then the land $/sqft quartiles (p25, median, p75) of comparable parcels in the same ZIP with the same land use and a lot half to twice its size, the implied low/mid/high for the subject's lot, and how many of the closest comparables changed hands in the last 27 months. CAD-based, not an appraisal: Texas does not disclose sale prices, so there is no sale price, market value or offer price here. Any Dallas or Collin parcel by lead_id (County:account). Counts as a property lookup. Read-only.

NameRequiredDescriptionDefault
lead_idYesRBSHome property id, County:account, for example 'Collin:2771234' or 'Dallas:00000776655'

Output Schema

NameRequiredDescription
urlYes
basisYes
notesYes
lead_idYes
sourcesYes
subjectYes
data_as_ofYes
disclaimerYes
comparablesYes
implied_land_valueYes
implied_land_value_recent_midYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent/closed-world, and the description adds genuinely new behavioral context: the CAD data source, the fact that Texas does not disclose sale prices, and that no sale price, market value or offer price is returned. This prevents a major misread of the output; it stops short only of discussing staleness, coverage gaps, or failure modes for parcels outside the two counties.

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?

Purpose and scope are front-loaded in the first clause, and short declaratives ('CAD-based, not an appraisal', 'Counts as a property lookup. Read-only.') are efficient. The long internal enumeration of returned values is partly redundant with the existing output schema, costing a little tightness.

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

Completeness5/5

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

With one well-documented parameter, an output schema, and rich annotations, the description supplies everything else an agent needs: county coverage, data provenance, the comparable-selection rule, and an explicit statement of what the tool does not provide. No material gap remains for correct invocation.

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% and the pattern already encodes the County:account form, so the baseline is 3. The description adds meaning by tying lead_id to the supported county set ('Any Dallas or Collin parcel by lead_id (County:account)'), clarifying the accepted input domain beyond the regex.

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?

The description opens with a specific verb and resource ('Estimate a land-value range for one Dallas County or Collin County, Texas parcel from appraisal-district (CAD) land values') and immediately enumerates the inputs used (CAD land/improvement/market values, comparable-parcel $/sqft quartiles). An agent can distinguish it from generic lookups like get_property or comps_for_address because it states the derived output and the county scope.

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

Usage Guidelines3/5

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

It gives scope conditions ('Any Dallas or Collin parcel by lead_id') and a categorization hint ('Counts as a property lookup'), which implies when to reach for it. But it never names an alternative sibling (e.g. comps_for_address, get_property, analyze_deal) or states explicit when-not conditions, so routing is left partly to inference.

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

fetchGet RBSHome property recordA
Read-onlyIdempotent
Inspect

Get the full public-record summary for one property id returned by search or other RBSHome tools: location, owner of record, tax-delinquency status, appraisal values and data sources with dates. Dallas County and Collin County, Texas only. No sale prices or valuations. Read-only.

NameRequiredDescriptionDefault
idYesRBSHome lead ID from search, e.g. 'Collin:2771234'

Output Schema

NameRequiredDescription
idYes
urlYes
textYes
titleYes
metadataYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, closed-world and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context beyond them: the data is public-record only, limited to two Texas counties, and explicitly contains no sale prices or valuations — a useful negative disclosure that prevents the agent from promising data the tool cannot return.

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

Conciseness5/5

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

Three short sentences, front-loaded with the core purpose, then scope, then the negative data caveat. Every clause carries information the agent needs and none repeats structured fields verbatim.

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

Completeness5/5

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

This is a single-parameter read tool with full annotation coverage, a 100%-documented schema and an output schema, so return values need no explanation in prose. The description still supplies the county restriction and the no-valuation caveat — everything an agent needs to call it correctly and set user expectations.

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% and the pattern constraint plus example ('Collin:2771234') already document the id format. The description adds only the provenance hint that the id comes from search or other RBSHome tools, which is marginal beyond what the schema provides; baseline 3 is appropriate.

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?

The description states a specific verb ('Get') and resource ('full public-record summary for one property id') and enumerates the payload (location, owner of record, tax-delinquency, appraisal values, sources with dates). It implicitly separates itself from search by requiring an id 'returned by search', though it never explicitly distinguishes itself from the overlapping sibling get_property.

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?

It gives a clear usage flow: use this after search or another RBSHome tool has produced an id, and it states the geographic scope (Dallas and Collin County, Texas only) which functions as a when-not-to-use condition. It stops short of naming an alternative for cases outside those counties or explaining when get_property would be preferred instead.

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

filter_propertiesFilter RBSHome leadsA
Read-onlyIdempotent
Inspect

Find tax-delinquent property leads in Dallas County or Collin County, Texas that match a buy box (score, tier, property use, lot size, appraised value, ZIP, owner location, years delinquent and more), using the same filter as the RBSHome map. Call with count_only=true first to size the list, then page through results (25 per page by default, up to 1,000 rows per filter). Each row has a lead_id for get_property and a url that opens it in RBSHome. Call list_filter_fields before using attrs. Returns no sale prices, valuations, phone numbers or emails. Rows count toward a daily row limit. Read-only.

NameRequiredDescriptionDefault
nearNoOnly leads within radius_mi of this property's map pin
pageNoPage, 1 to 40
sortNoscore (default), levy (tax balance), years (years delinquent) or next_sale (next tax-sale date)
attrsNoAttribute filters keyed by registry key, e.g. {"flood_pct":{"max":5}} or {"flood_zone":{"not_in":["AE"]}}. Call list_filter_fields for the keys; never guess one.
kindsNoProperty kinds from the tax roll
tiersNoLead tiers; A is the most distressed
countiesNoDallas, Collin or both. Omit for both.
sort_dirNoDefault desc; asc for next_sale (soonest first)
acres_maxNoLargest lot, acres
acres_minNoSmallest lot, acres
homesteadNoProperty has a homestead exemption on the county tax roll: true = only these, false = leave these out, null = either
min_scoreNoLowest lead score, 0 to 100. Default 45. Ignored while tiers is set, as on the map.
page_sizeNoRows per page, 1 to 50. page x page_size may not pass 1,000.
count_onlyNotrue returns only the count. Call this first to size the list.
property_useNoProperty use from the appraisal district
zips_excludeNoLeave out these 5-digit ZIP codes
zips_includeNoOnly these 5-digit ZIP codes
is_delinquentNoTax-delinquent: true = only these, false = leave these out, null = either
portfolio_minNoOwner holds at least this many Dallas and Collin properties
multiple_ownersNoMore than one owner on title: true = only these, false = leave these out, null = either
saved_filter_idNoStart from this saved filter (ids from list_saved_filters); other fields change it
years_owned_maxNoMost years the owner has held it
years_owned_minNoFewest years the owner has held it
exclude_keywordsNoOwner name contains none of these words
include_keywordsNoOwner name contains any of these words
include_unmappedNoInclude leads with no map pin. Default false.
market_value_maxNoHighest appraisal-district market value, USD (not a price)
market_value_minNoLowest appraisal-district market value, USD (not a price)
est_annual_tax_maxNoHighest yearly tax levy, USD
est_annual_tax_minNoLowest yearly tax levy, USD
jurisdiction_codesNoTaxing jurisdiction codes
out_of_state_ownerNoOwner mailing address outside Texas: true = only these, false = leave these out, null = either
years_delinquent_minNoFewest delinquent tax years
include_institutionalNoInclude school districts, banks and hospitals. Default false.

Output Schema

NameRequiredDescription
pageYes
sortYes
countYes
notesYes
map_urlYes
resultsYes
sourcesYes
next_pageYes
page_sizeYes
truncatedYes
data_as_ofYes
count_sourceYes
applied_filterYes
map_url_droppedYes

TDQS

A4.1/5.0
Behavior5/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds useful non-annotation context: rows count toward a daily row limit, results are capped at 1,000 rows per filter, default page size is 25, and the tool returns no sale prices, valuations, phone numbers, or emails.

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 front-loaded with the core purpose and workflow, and most sentences carry operational value, including pagination, row limits, and return omissions. It is dense but appropriately sized for a complex 34-parameter tool; the closing 'Read-only' is redundant with annotations but minor.

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

Completeness5/5

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

Given the tool's complexity, 34 parameters, and available output schema, the description is complete enough to guide correct use. It covers purpose, workflow, pagination, row quotas, return omissions, related tools for attrs and saved filters, and the lead_id handoff to get_property.

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 description coverage is 100%, so the input schema already documents all 34 parameters, including attrs, pagination, filters, and defaults. The description adds a high-level list of filter categories and repeats the attrs registry warning, but it does not add syntax or format meaning beyond what the schema provides. A baseline 3 is appropriate.

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?

The description states a specific verb and resource: finding tax-delinquent property leads in Dallas and Collin County that match a buy box, using the RBSHome map filter. It also distinguishes the row lead_id as input to get_property. However, it does not explicitly differentiate this tool from the sibling search_properties or motivated_sellers_near tools.

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?

It gives clear operational guidance: call with count_only=true first to size the list, then page through results, and call list_filter_fields before using attrs. It also says saved_filter_id comes from list_saved_filters and lead_id feeds get_property. It stops short of stating when to use this tool instead of siblings such as search_properties.

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

find_builders_for_lotBuilders for a lotA
Read-onlyIdempotent
Inspect

Use when someone asks who would build on or buy a lot at a street address. Takes a Dallas County or Collin County, Texas address (or a lead_id) and ranks the builders and investor entities active in that ZIP by fit: purchases in the last 12 and 27 months, homes built after buying, portfolio size and a one-line reason. Individuals are counted, never named. Texas does not disclose prices. Includes a link to the parcel in RBSHome. Read-only.

NameRequiredDescriptionDefault
limitNoBuyers to return, 1 to 25, best first
addressNoStreet address in Dallas or Collin County, Texas, e.g. '1234 Elm St, Plano TX 75023'
lead_idNoRBSHome lead ID like 'Collin:2771234', when already known (skips the address lookup)

Output Schema

NameRequiredDescription
urlYes
zipYes
pageYes
notesYes
totalYes
buyersYes
lead_idYes
sourcesYes
has_moreYes
candidatesYes
data_as_ofYes
disclaimerYes
lead_classYes
matched_addressYes
individuals_omittedYes

TDQS

A4.2/5.0
Behavior5/5

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

Beyond the annotations it discloses the ranking signals (12/27-month purchases, built-after-buying, portfolio size), the privacy rule that individuals are counted but never named, the data limitation that Texas does not disclose prices, and that a parcel link is included. Only 'Read-only' merely repeats readOnlyHint, but the rest is substantive behavior an agent could not infer.

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 triggering condition is front-loaded and every subsequent clause carries information about inputs, ranking, or caveats. It is long for a three-parameter tool, and the closing 'Read-only' duplicates the annotations rather than earning its place.

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 an output schema present, the description need not explain return values, and it adequately covers inputs, geographic scope, ranking logic, and privacy/price caveats. It leaves unstated what happens when an address falls outside the two counties or matches no parcel.

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 baseline is 3, but the description adds meaning: it constrains address to Dallas or Collin County, explains that lead_id skips the address lookup, and frames limit as 'best first' by describing the fit ranking. That gives context the schema fields alone do not carry.

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?

States a specific verb and resource ('ranks the builders and investor entities active in that ZIP by fit') and makes the output nature concrete. It does not, however, distinguish itself from the sibling find_likely_buyers, which an agent could easily confuse it with.

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?

'Use when someone asks who would build on or buy a lot at a street address' gives a clear triggering condition, and it names the two accepted geographies and the lead_id shortcut. It stops short of stating when not to use it or which sibling to prefer for adjacent questions.

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

find_entity_ownerWho is behind an LLC ownerA
Read-onlyIdempotent
Inspect

For one Dallas County or Collin County, Texas property (lead_id, or county with account), look up its owner of record in the Texas Comptroller's franchise-tax registry when the owner is an LLC, corporation, partnership or trust: legal name, status, taxpayer and Secretary of State file numbers, entity type, charter date and mailing address, plus up to 25 other Dallas and Collin owning entities that share that mailing address, with their parcel counts. The result says when the owner is a person or the registry does not list the name. The registry has no officers, managers or registered agent, and there are no phone numbers or emails. Counts as a property lookup. Read-only.

NameRequiredDescriptionDefault
countyNoDallas or Collin (Texas). No other county is covered.
accountNoAppraisal-district account number; pass with county instead of lead_id
lead_idNoRBSHome property id, County:account, for example 'Collin:2771234' or 'Dallas:00000776655'

Output Schema

NameRequiredDescription
urlYes
notesYes
entityYes
resultYes
lead_idYes
relatedYes
sourcesYes
officersYes
is_entityYes
data_as_ofYes
owner_nameYes
parcel_countYes
registered_agentYes
other_registrationsYes
shared_address_too_commonYes

TDQS

A4.4/5.0
Behavior5/5

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

Goes well past the annotations (readOnly/idempotent/non-destructive/closed-world) by disclosing what is absent (no officers, managers, registered agent, phone or email), how misses are reported (person owner, name not listed), and the 25-entity neighbor cap with parcel counts. 'Counts as a property lookup' is a useful quota/billing hint found nowhere in structured fields.

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 action, geography and owner-type qualifier, and every clause (returned fields, absence caveats, lookup accounting) carries information. The first sentence is long and run-on, which costs some readability.

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

Completeness5/5

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

Coverage limits (two counties only), alternative input forms, negative-case behavior and out-of-scope data are all spelled out, and an output schema exists so return structure needn't be explained. Nothing an agent needs to call this correctly is missing.

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 description coverage is 100%, and the schema already documents county enum, account pattern and lead_id format. The description only restates the lead_id-or-county+account pairing without adding format or usage detail beyond what the schema provides, so the baseline 3 applies.

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?

Specific verb (look up) plus exact resource (owner of record in the Texas Comptroller's franchise-tax registry) and scope (Dallas or Collin County property, LLC/corp/partnership/trust owners). It returns a concrete field list and is clearly distinct from entity-list siblings like find_owner_portfolio.

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?

Explicitly states the triggering condition — owner is an LLC, corporation, partnership or trust — and notes the result tells you when the owner is a person or the registry lacks the name, which effectively signals the non-applicable case. It stops short of naming an alternative sibling (e.g., find_owner_portfolio) for portfolio-wide or person-owner questions.

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

find_likely_buyersLikely buyers for a propertyA
Read-onlyIdempotent
Inspect

Rank the companies most likely to buy a Dallas County or Collin County, Texas lead, for an investor looking for someone to sell or wholesale it to. Each buyer is scored 0 to 100 on its last 27 months of appraisal-district deed dates: purchases in the lead's ZIP code, the kind of property it buys, lot size, whether it builds after buying, and how active and recent it is, with a one-line reason, mailing city and state, and portfolio_lead_ids for find_owner_portfolio. Up to 25 buyers per page, rebuilt weekly; pass page for the next ones (total and has_more say how many there are). Individual buyers are counted, not named. These are not confirmed buyers or offers, and there are no prices. Read-only.

NameRequiredDescriptionDefault
pageNo1-based page; page 2 starts at buyer limit + 1
limitNoBuyers per page, 1 to 25, best first
lead_idYesRBSHome property id, County:account, for example 'Collin:2771234' or 'Dallas:00000776655'

Output Schema

NameRequiredDescription
urlYes
zipYes
pageYes
notesYes
totalYes
buyersYes
lead_idYes
sourcesYes
has_moreYes
candidatesYes
data_as_ofYes
disclaimerYes
lead_classYes
individuals_omittedYes

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond that: it discloses the data source and window (27 months of appraisal-district deed dates), the exact scoring signals, weekly rebuild staleness, page size and paging mechanics, and output limitations ('individual buyers are counted, not named', 'not confirmed buyers or offers, and there are no prices'). Those caveats are exactly the context an agent needs before presenting results as leads.

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 lead sentence states purpose first, followed by scoring mechanics, output shape, paging, and caveats in a logical order with no filler. The first sentence is long and clause-heavy, but every clause carries substantive information rather than restating the name or title.

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

Completeness5/5

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

For a scoring/ranking tool with three parameters, the description covers input requirements, the scoring model, pagination behavior, staleness, linked follow-up tooling, and the epistemic limits of the output. An output schema exists, yet the description's brief mention of reason, mailing city/state, and portfolio_lead_ids is additive rather than redundant. Nothing material is missing for correct invocation.

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 description coverage is 100%, so lead_id format, page numbering, and the 1-25 limit are already fully documented in the schema. The description reinforces the paging workflow ('pass page for the next ones') and the 25-per-page cap but adds little semantic detail the schema lacks. Baseline 3 is appropriate when the schema carries the parameter burden.

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?

The description opens with a specific verb and resource: 'Rank the companies most likely to buy a Dallas County or Collin County, Texas lead.' It scopes geography, audience (investor selling/wholesaling), and the scoring basis, which clearly separates it from siblings like find_recent_buyers and find_builders_for_lot.

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?

It establishes the calling context ('for an investor looking for someone to sell or wholesale it to') and routes the agent onward by naming find_owner_portfolio as the consumer of portfolio_lead_ids. It does not explicitly state when to prefer this over find_recent_buyers or find_builders_for_lot, so selection against those siblings is left partly to inference.

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

find_owner_portfolioFind an owner's other propertiesA
Read-onlyIdempotent
Inspect

Given one property's lead_id, list the other Dallas County and Collin County properties held by the same owner of record, which of them are tax-delinquent leads, and their balances. Up to 100 properties. Public appraisal-district records only. Read-only.

NameRequiredDescriptionDefault
limitNoOther properties to list, 1 to 100
lead_idYesRBSHome property id, County:account, for example 'Collin:2771234' or 'Dallas:00000776655'

Output Schema

NameRequiredDescription
notesYes
sourceYes
resultsYes
sourcesYes
countiesYes
truncatedYes
data_as_ofYes
total_parcelsYes
leads_in_portfolioYes
total_levy_balanceYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description still contributes non-obvious behavior: a hard result ceiling ('Up to 100 properties') and a source limitation ('Public appraisal-district records only'), which explains why a known property might be absent. It does not discuss pagination, ordering, or what happens when no other properties exist, but with rich annotations and an output schema this is a solid contribution.

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?

Three short sentences, front-loaded with the input anchor followed by what is returned and the coverage caveats. The only wasted token is 'Read-only', which duplicates the readOnlyHint annotation; everything else earns its place.

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

Completeness5/5

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

For a two-parameter read tool with full schema coverage, rich annotations and an output schema, the description covers the seed input, the returned content, the result cap, and the data-source boundary. Nothing an agent needs to decide whether and how to call it is missing.

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 parameter baseline is 3. The description adds real meaning by clarifying that lead_id identifies a source property ('Given one property's lead_id') rather than an owner — a distinction the field name alone obscures — and it restates the 100 cap on limit that the schema enforces.

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 ('list') and a precisely scoped resource ('other Dallas County and Collin County properties held by the same owner of record'), and names the returned payload (tax-delinquent flags and balances). It also fixes the input anchor (one property's lead_id), which distinguishes it from siblings such as find_entity_owner or filter_properties without needing to open their schemas.

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

Usage Guidelines3/5

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

The prerequisite is implied ('Given one property's lead_id'), so an agent knows it needs a seed property, and 'Public appraisal-district records only' signals a data-coverage boundary. However, there is no explicit when-to-use vs when-not guidance and no sibling is named as the alternative (find_entity_owner is an obvious candidate for owner-centric lookups). Usage is inferable but not directed.

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

find_recent_buyersRecent entity buyers near a propertyA
Read-onlyIdempotent
Inspect

List companies and other entities that bought property within 0.5 miles of a Dallas or Collin County lead in the last 24 months, using county appraisal-district deed dates, ranked by how many Dallas and Collin County purchases they made in that period and then by nearby purchases, with up to 3 recent purchases each. 25 buyers per page; pass page for the next ones (total and has_more say how many there are). Individual buyers are left out. The data cannot show whether a purchase was cash and has no prices. Read-only.

NameRequiredDescriptionDefault
pageNo1-based page of 25 buyers
lead_idYesRBSHome property id, County:account, for example 'Collin:2771234' or 'Dallas:00000776655'

Output Schema

NameRequiredDescription
urlYes
pageYes
notesYes
totalYes
buyersYes
monthsYes
lead_idYes
sourcesYes
has_moreYes
page_sizeYes
radius_miYes
data_as_ofYes
disclaimerYes
buyers_totalYes
nearby_deedsYes
individuals_omittedYes

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, non-destructive, and closed-world, so the bar is lower, and the description still adds real substance: deed-date provenance, the ranking rules (county purchase count then nearby purchases), the 3-purchase cap per buyer, and explicit data limitations (no cash indicator, no prices, individuals excluded). It stops short of describing auth or rate behavior, but for a read-only lookup the disclosure is strong.

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?

Single dense paragraph with the core purpose front-loaded, followed by ranking, pagination, and caveats in a sensible order. Nearly every clause earns its place, though the long compound opening sentence would read better split.

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

Completeness5/5

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

With an output schema present, the description need not explain return values, and it still covers provenance, ranking, per-buyer limits, pagination signals, and the key data gaps (no cash flag, no prices, no individuals). Nothing an agent needs to call this correctly or interpret results is missing.

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% and the schema already documents both parameters, including the 25-per-page size and the lead_id format. The description reinforces pagination behavior ('pass page for the next ones') and mentions total/has_more, but adds little parameter meaning the schema does not already carry, 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?

States a specific verb (list) and a precisely scoped resource: entities that bought property within 0.5 miles of a Dallas/Collin lead in the last 24 months, sourced from appraisal-district deed dates. The scope itself separates it from siblings like find_likely_buyers or find_entity_owner, though the description never names those alternatives explicitly.

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

Usage Guidelines3/5

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

The context of use is implied clearly (find who has been buying near a specific lead), and pagination guidance ('pass page for the next ones') is given. There is no explicit when-to-use versus find_likely_buyers or find_owner_portfolio, and no stated prerequisites or exclusions beyond 'individual buyers are left out'.

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

get_market_statsZIP-level lead supply and transfersA
Read-onlyIdempotent
Inspect

Rank ZIP codes in Dallas County or Collin County, Texas by tax-delinquent lead supply (all tiers and Tier A) next to how many parcels changed owners in the last 3, 6, 12 and 24 months and the share bought by entities, absentee and out-of-state buyers. Texas does not disclose sale prices, so there are no prices, days on market or sell-through rates. Read-only.

NameRequiredDescriptionDefault
zipsNoOr compare these 5-digit ZIP codes (up to 10)
kindsNoCount only these property kinds
limitNoZIP codes to return, 1 to 60
countyNoRank the ZIP codes of this county
sort_byNoleads, tier_a, transfers_12m or entity_buyer_pct_12mleads
min_scoreNoLowest lead score counted, 0 to 100. Default 0, every tier; Tier A is 45 and up.
include_unmappedNoCount leads with no map pin

Output Schema

NameRequiredDescription
rowsYes
notesYes
regionYes
caveatsYes
sourcesYes
unzippedYes
data_as_ofYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely non-obvious behavioral context the annotations do not: the dataset has no sale prices, days on market or sell-through rates because Texas does not disclose them, which stops an agent from requesting nonexistent metrics. It does not discuss result volume limits or how unmapped leads are reported.

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

Conciseness5/5

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

Two sentences, front-loaded with the ranking action and with the data-limitation caveat placed last as a qualifier. Every clause carries information; nothing is restated from the name or annotations.

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

Completeness5/5

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

With a full output schema, complete parameter documentation and rich read-only annotations, the description only needs to frame the metric set and its limits — which it does, covering lead tiers, transfer windows, buyer-type shares and the missing price/DOM data. Nothing an agent needs to call this correctly 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 description coverage is 100%, so the schema already documents all seven parameters, including min_score's default and the Tier A = 45+ threshold. The description reinforces semantics ('all tiers and Tier A', the 3/6/12/24-month windows, entity/absentee/out-of-state buyer share) but adds little the schema does not already say, so the baseline of 3 applies.

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?

The description names a concrete verb and resource: rank ZIP codes in Dallas or Collin County by tax-delinquent lead supply and owner-transfer activity. Its aggregate, ZIP-level scope is unmistakably different from the property-level siblings (get_property, filter_properties, search_properties), so an agent can route to it without opening a schema.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the description makes clear this is a market-overview / ZIP-comparison tool, and the 'no prices, days on market or sell-through rates' note usefully tells the agent what it cannot get from it. It never explicitly says when to pick this over siblings like filter_properties or motivated_sellers_near, or when to pass county versus zips.

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

get_propertyGet RBSHome property detailsA
Read-onlyIdempotent
Inspect

Get one Dallas County or Collin County, Texas property by lead_id (County:account) or by county plus account: location, owner of record and mailing address, tax-delinquency status (balance, years, tax suit, next sale date), appraisal-district values and data sources with dates. Optional sections: terrain (slope and flood), history (weekly tax-roll changes), links (county record and free map links), outline (parcel boundary), my_research (structured property facts the user saved in RBSHome, such as beds, year built and occupancy; their notes and free-text fields are only counted and stay in RBSHome). Returns no sale prices, valuations, phone numbers or emails. Read-only.

NameRequiredDescriptionDefault
countyNoDallas or Collin (Texas). No other county is covered.
accountNoAppraisal-district account number; pass with county instead of lead_id
lead_idNoRBSHome property id, County:account, for example 'Collin:2771234' or 'Dallas:00000776655'
sectionsNoExtra sections: terrain, history, links, outline, my_research. Default links.
history_weeksNoWeeks of tax-roll history, 1 to 52

Output Schema

NameRequiredDescription
cadYes
taxYes
urlYes
kindYes
linksNo
notesYes
ownerYes
situsYes
valuesYes
historyNo
lead_idYes
outlineNo
sourcesYes
terrainNo
data_as_ofYes
my_researchNo
owner_factsYes
section_errorsYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so safety is covered. The description adds genuine context beyond them: the explicit content exclusions (no sale prices, valuations, phone numbers or emails) and the privacy behavior of my_research, where the user's notes and free-text fields are only counted and never leave RBSHome. It does not cover latency or section cost, which keeps it from a 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 verb, resource and identifier forms, then ordered from core payload to optional sections to exclusions. It is dense but every clause carries information; the single long paragraph could be broken into bullets for faster scanning, which is the only reason it is not a 5.

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

Completeness5/5

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

For a 5-parameter read tool with a full output schema and complete annotation coverage, the description supplies everything an agent needs: accepted identifiers, optional section semantics, and explicit scope limits on both counties and returned fields. Return-value shape is correctly left to the output schema.

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 description coverage is 100%, so a 3 is the baseline, but the description adds meaning the schema lacks: it explains that the two identifier routes are alternatives and defines what each optional section actually contains (terrain = slope and flood, history = weekly tax-roll changes, links = county record and free map links, outline = parcel boundary, my_research = saved structured facts). It does not mention history_weeks or its 1–52 range interaction with the history section, leaving one small gap.

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?

Opens with a specific verb and resource ("Get one Dallas County or Collin County, Texas property") and states both accepted identifier forms (lead_id County:account, or county+account). It also enumerates the data domains returned (location, owner, delinquency, appraisal values) and the optional sections, so it is clearly distinguishable from siblings like search_properties or filter_properties.

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

Usage Guidelines3/5

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

Usage is implied by the identifier requirements (this is a single-record detail lookup, not a search), and the exclusion line ("Returns no sale prices, valuations, phone numbers or emails") steers agents away from expecting those. However, it never explicitly names an alternative sibling such as get_tax_sale_history or comps_for_address, nor states when not to use this tool.

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

get_tax_sale_historyTax-foreclosure sale listingsA
Read-onlyIdempotent
Inspect

List one Dallas County or Collin County, Texas property's county tax-foreclosure sale listings (lead_id, or county with account): whether it is on a sale list now and the next sale date, then each listing's sale date, status (scheduled, awaiting a sale date, struck off and offered for resale, sold, cancelled), cause number, minimum bid, judgment, adjudged value and a link to the source notice. Dallas County from Linebarger's tax-sale listings, Collin County from the constables' sale notices, updated weekly. Bid and judgment figures come from the sale notice and are not sale prices. To find listed properties, use filter_properties with the tax_sale_listed attribute. Counts as a property lookup. Read-only.

NameRequiredDescriptionDefault
countyNoDallas or Collin (Texas). No other county is covered.
accountNoAppraisal-district account number; pass with county instead of lead_id
lead_idNoRBSHome property id, County:account, for example 'Collin:2771234' or 'Dallas:00000776655'

Output Schema

NameRequiredDescription
urlYes
notesYes
listedYes
lead_idYes
sourcesYes
listingsYes
data_as_ofYes
next_sale_dateYes

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, closed-world), so the bar is lower; the description still adds provenance (Linebarger's listings for Dallas, constables' notices for Collin), freshness ('updated weekly'), and a genuine trap-avoidance note that bid/judgment figures are from the notice and 'are not sale prices'.

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

Conciseness3/5

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

Purpose and the sibling-tool routing are front-loaded, which is good, but the first sentence is a very long field-by-field enumeration of return values that largely duplicates the output schema. That bulk dilutes the high-value routing and caveat sentences that follow.

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

Completeness5/5

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

Given an output schema, complete parameter coverage, and full annotations, nothing an agent needs in order to select or call this tool is missing: scope, identifier modes, data source, refresh cadence, returned status values, and figure semantics are all present.

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 baseline is 3, but the description adds the combination rule the schema does not enforce: either lead_id alone, or county plus account. That mutual-exclusivity hint adds real meaning beyond the individual property descriptions.

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 and resource ('List ... county tax-foreclosure sale listings') and pins the scope to Dallas County and Collin County, Texas. It also names the identifier mode ('lead_id, or county with account'), so an agent can distinguish it from generic property tools without opening the schema.

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?

Explicitly routes the agent to the right alternative: 'To find listed properties, use filter_properties with the tax_sale_listed attribute.' It also flags that the call 'counts as a property lookup', which is usage-relevant context an agent would otherwise not know.

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

get_usageCheck RBSHome connector limitsA
Read-onlyIdempotent
Inspect

Show how much of today's RBSHome connector allowance the user has used (calls, lead rows, property lookups, saves), the limits, when they reset, and how current the data is. Call it when the user asks or before a task that needs more than 10 calls; other tools report their own limits. Read-only.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
dataYes
roleYes
limitsYes
resets_atYes
used_todayYes
by_tool_todayYes

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description's trailing 'Read-only' adds nothing. The genuinely new behavioral detail is that the payload includes reset timing and a data-freshness indicator, which signals results may be stale — useful, but modest given the annotation coverage.

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?

Two sentences, front-loaded with what is returned, followed by the routing condition. The parenthetical list of quota dimensions is slightly dense but each item is meaningful; nothing is filler.

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

Completeness5/5

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

For a zero-parameter, read-only quota check with an output schema and full annotations, the description covers purpose, when to call it, and the freshness caveat. Nothing an agent needs in order to invoke it correctly is absent.

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?

The tool takes no parameters, so the schema imposes nothing an agent must interpret. Baseline for a zero-parameter tool applies, with no compensating explanation needed or missing.

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 and resource (show today's RBSHome connector allowance usage) and enumerates the tracked dimensions: calls, lead rows, property lookups, saves. It also separates itself from siblings by noting 'other tools report their own limits,' so an agent knows this is the connector-wide quota view rather than a per-tool report.

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?

Gives explicit triggering conditions — when the user asks, and before a task that needs more than 10 calls — plus an exclusion clause steering the agent elsewhere for per-tool limits. Both the when and the when-not are present, leaving little to inference.

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

list_filter_fieldsList RBSHome filter fieldsA
Read-onlyIdempotent
Inspect

List the filters filter_properties accepts: core fields with their allowed values, and attribute filters (for example road frontage, flood zone, slope, zoning) with units, ranges, per-county coverage and data dates. Call this before using attrs; never guess a field key. Pass section for full details on one group. Read-only.

NameRequiredDescriptionDefault
countyNoShow coverage for this county only
sectionNoFull details (options, ranges, coverage) for one group of attribute filters, named as in the list's section field, e.g. Zoning

Output Schema

NameRequiredDescription
coreYes
countiesYes
attributesYes
data_as_ofYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, non-destructive), so the trailing 'Read-only' is redundant. The description does add real behavioral context beyond annotations: results vary per county in coverage and include data dates, so the agent knows to expect heterogeneous, currency-tagged output.

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?

Three front-loaded sentences, each carrying a distinct instruction (what is listed, when to call, how to drill down). The only waste is the trailing 'Read-only,' which merely repeats the annotation.

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

Completeness5/5

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

An output schema exists, so return shape is out of scope; the description still conveys the semantic content of the response (values, ranges, coverage, dates). For a zero-required-parameter, two-param lookup tool this is fully sufficient.

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 description coverage is 100%, so both parameters are already documented. The description adds marginal meaning — that county controls coverage scope and that section must match the 'section field' of a listed group — but it does not restate the enumeration values or the 60-char limit, which the schema handles.

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 and resource ('List the filters filter_properties accepts') and enumerates the content of each group — core fields with allowed values, attribute filters with units, ranges, per-county coverage and data dates. This is clearly distinct from the sibling filter_properties, which consumes these keys rather than listing them.

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?

Explicitly prescribes the call order ('Call this before using attrs; never guess a field key') and names the section parameter as the route to deeper detail on one group. The agent knows both when to call it and how to escalate to full detail.

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

list_saved_filtersList my saved filtersA
Read-onlyIdempotent
Inspect

List the filters the user saved in RBSHome (up to 50) with a plain-language summary and a map link. With with_counts=true, adds the current lead count for up to 10 of them. Pass an id as saved_filter_id to filter_properties to run one. Read-only.

NameRequiredDescriptionDefault
with_countsNoAdd the current lead count for the first 10 filters

Output Schema

NameRequiredDescription
notesYes
filtersYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive, so 'Read-only' adds little. The genuinely useful additions are the result caps (50 filters, counts only for 10) and the map link in the response, but cost, latency and behavior for empty result sets are not mentioned.

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?

Four short sentences, front-loaded with the core purpose and followed by the optional parameter and the cross-tool routing. The trailing 'Read-only' sentence is redundant with the annotations and is the only word that doesn't earn its place.

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 one-optional-parameter read tool with a full output schema, the definition covers purpose, caps, the optional count mode and the handoff to filter_properties. The only real omission is its relationship to save_filter/list_filter_fields, which would help an agent choose correctly among the filter-related siblings.

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% and the single boolean is already documented, so the schema carries the load. The description adds only a nuance ('up to 10 of them' versus the schema's 'first 10 filters') without making the ordering or cost implication explicit, so 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?

The description gives a specific verb and resource ('List the filters the user saved in RBSHome') plus scope (up to 50) and payload (plain-language summary and map link). It routes the agent to filter_properties for execution, distinguishing itself from that sibling, though it doesn't clarify how it differs from the adjacent list_filter_fields or save_filter.

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?

It clearly states the follow-up path: 'Pass an id as saved_filter_id to filter_properties to run one,' which tells the agent when this tool is a discovery step rather than an execution step. It also implies when to set with_counts (when current lead counts matter), but gives no explicit exclusions or prerequisites.

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

motivated_sellers_nearMotivated sellers near an addressA
Read-onlyIdempotent
Inspect

Use when someone asks for motivated sellers, distressed owners or off-market leads near an address or in a ZIP. Takes a Dallas County or Collin County, Texas address, lead_id or 5-digit ZIP (with a radius of 0.1 to 1.5 miles around an address) and returns the top tax-delinquent leads by lead score, each with plain reason tags (years delinquent, taxes owed, tax suit, upcoming tax sale, multi-property owner), owner of record, and a link to the lead and to the map. Up to 25 leads; rows count toward the daily row limit. Returns no phone numbers or emails. Read-only.

NameRequiredDescriptionDefault
zipNoA 5-digit Dallas or Collin County ZIP, e.g. '75023', instead of an address
limitNoLeads to return, 1 to 25, most motivated first
addressNoStreet address in Dallas or Collin County, Texas, e.g. '1234 Elm St, Plano TX 75023'
lead_idNoRBSHome lead ID like 'Collin:2771234', when already known (skips the address lookup)
radius_miNoMiles around the address, 0.1 to 1.5. Ignored with zip.

Output Schema

NameRequiredDescription
areaYes
countYes
notesYes
map_urlYes
resultsYes
sourcesYes
data_as_ofYes

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: it discloses the daily row-limit cost, the 25-lead ceiling, the PII exclusion ('returns no phone numbers or emails'), and the geographic coverage boundary. Those are non-obvious operational facts an agent could not infer from structured fields.

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 usage trigger, then inputs, then outputs, then limits — a sensible order with no wasted sentences. The trailing 'Read-only' merely repeats readOnlyHint, a small redundancy.

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

Completeness5/5

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

An output schema exists, yet the description still summarizes the shape of results (score-ranked leads with reason tags, owner, links), plus the row-limit cost and PII boundary. Nothing an agent needs to decide whether to call this and how to interpret results is missing.

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 description coverage is 100%, so every parameter is already documented, including the pattern for lead_id and the radius bounds. The description restates the address/ZIP/lead_id alternatives and radius range without adding format or precedence detail beyond the schema, so the baseline 3 applies.

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 ('motivated sellers', 'tax-delinquent leads') and scopes it to an address or ZIP. The returned payload (reason tags, owner of record, lead and map links) is named, so it is clearly distinguishable from generic property search siblings like search_properties or find_likely_buyers.

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?

The opening 'Use when someone asks for motivated sellers, distressed owners or off-market leads' gives an explicit trigger, and the geography constraint (Dallas or Collin County, Texas) tells the agent when not to call. No sibling tool is named as an alternative, which keeps it short of a 5.

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

save_filterSave a filter to RBSHomeAInspect

Save a buy box as a new named filter in the user's RBSHome account so it appears on the RBSHome map. Creates a new saved filter only; never changes or deletes existing ones. Fails if the name is already used. Up to 20 saves per day.

NameRequiredDescriptionDefault
nameYesName shown on the RBSHome map, 1 to 80 characters
filterYesThe buy box, with the same fields as filter_properties (a near circle is saved as its area)

Output Schema

NameRequiredDescription
idYes
nameYes
notesYes
map_urlYes

TDQS

A4.5/5.0
Behavior5/5

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

Beyond annotations, it discloses that the tool is create-only, cannot modify or delete existing filters, fails when the name is already used, and has a 20-saves-per-day rate limit. These details explain the non-idempotent and non-destructive behavior and give the agent the operational constraints needed before mutating saved state.

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

Conciseness5/5

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

Four short sentences are front-loaded with purpose, mutation scope, duplicate-name failure, and rate limit. No sentence is filler; each carries operational information for invocation.

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

Completeness5/5

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

For a two-parameter tool with a complex nested filter, the schema carries the field-level detail and the output schema covers returns, while the description covers persistence, visibility, duplicate failure, rate limit, and non-destructive scope. Nothing essential for correct invocation is missing.

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% and the filter object is exhaustively documented in the schema, including per-field constraints and the list_filter_fields hint. The description adds the name-uniqueness constraint but otherwise does not add parameter meaning beyond the structured fields.

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?

The opening sentence names the exact action and resource: saving a buy box as a new named filter in the user's RBSHome account, with the visible outcome that it appears on the RBSHome map. This clearly distinguishes it from siblings like filter_properties and list_saved_filters.

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?

It clearly scopes use to creating a new saved filter and explicitly rules out changing or deleting existing filters, and it warns that duplicate names fail. It does not explicitly point to list_saved_filters for checking existing names or filter_properties for previewing, so alternatives are only implied.

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

search_propertiesSearch RBSHome by address or ownerA
Read-onlyIdempotent
Inspect

Turn a street address, appraisal-district account number, lead ID (County:account) or owner-of-record name into RBSHome lead_ids, with tier and score where a match is a lead. Address mode searches Dallas and Collin counties; owner mode needs a county and at least 3 letters of a name. Returns up to 25 matches; use get_property for the full record. Dallas County and Collin County, Texas only. Read-only.

NameRequiredDescriptionDefault
modeNoaddress (also matches account numbers and lead IDs) or owner (at least 3 letters of the name)address
limitNoMatches to return, 1 to 25
queryYesStreet address, appraisal-district account number, lead ID like 'Collin:2771234', or owner name
countyNoDallas or Collin. Required for owner mode; optional for address mode.

Output Schema

NameRequiredDescription
countYes
notesYes
resultsYes
sourcesYes
data_as_ofYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so safety is covered. The description still adds real context beyond them: a 25-match ceiling, the geographic restriction to Dallas and Collin counties, the presence of tier and score on lead matches, and the pointer to get_property. Auth or rate-limit behavior is not mentioned, which keeps it just short of a 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?

The core transformation is front-loaded in the first sentence, followed by mode rules, result cap, escalation path, and geography. Every sentence carries information, though the closing 'Read-only' is largely redundant with the readOnlyHint annotation.

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

Completeness5/5

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

With a complete input schema, a full annotation set, and an output schema that handles return values, the description covers everything an agent needs: accepted query forms, mode-specific requirements, county scope, match ceiling, and the follow-up tool for full records.

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 description coverage is 100%, so mode, limit, query, and county are already fully documented, including the 'Collin:2771234' lead ID format and the 3-letter owner minimum. The description restates those same constraints rather than adding new syntax or edge-case meaning, so it sits at the baseline for schema-complete tools.

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 transformation: street address, account number, lead ID, or owner name into RBSHome lead_ids with tier and score. It explicitly separates address mode from owner mode and names the sibling get_property for full records, so an agent can distinguish it from search, filter_properties, and get_property without opening schemas.

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?

Gives explicit per-mode conditions: address mode covers Dallas and Collin counties, owner mode requires a county plus at least 3 letters of a name. It also states when to escalate to get_property and confines use to two Texas counties, leaving no ambiguity about alternatives or prerequisites.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 21 tool updates
    • First observedanalyze_deal
    • First observedcomps_for_address
    • First observeddraft_offer_letter
    • First observedestimate_lot_value
    • First observedfetch
    • First observedfilter_properties
    • First observedfind_builders_for_lot
    • First observedfind_entity_owner
    • First observedfind_likely_buyers
    • First observedfind_owner_portfolio
    • First observedfind_recent_buyers
    • First observedget_market_stats
    • First observedget_property
    • First observedget_tax_sale_history
    • First observedget_usage
    • First observedlist_filter_fields
    • First observedlist_saved_filters
    • First observedmotivated_sellers_near
    • First observedsave_filter
    • First observedsearch
    • First observedsearch_properties

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides plain-English access to official Dallas-area public data, including weather alerts, school ratings, 311 requests, building permits, police incidents, and property parcel lookup.
    7
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides free property and parcel intelligence using official US government data APIs, county assessor records, and live listings, with tools for hazard risk checks, affordability calculations, and parcel ranking.
    -
  • F
    license
    A
    quality
    C
    maintenance
    Turns messy real estate data into clean, scored, AI-ready property intelligence for Columbus, OH metro, with pay-per-query via x402 micropayments. Enables natural-language search, investment scoring, and enrichment tools for MCP clients.
    10
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables searching US residential foreclosure/REO/short-sale auction listings by state and county, with detailed property facts, sale event dates, venues, and bid/sale prices labeled by status.
    123 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources