Skip to main content
Glama

SENTINEL Washington Real Estate

Washington county property record

wa_property_lookup
Read-only

Look up one Washington property from already-ingested county assessor records (King, Pierce, Snohomish, Whatcom counties). Returns cached property facts with field-level source observations and explicit unverified, missing, withheld and stale states: physical attributes, assessed values, last recorded sale, ownership tenure, and a coverage_note naming any fields the county extract lacks. Listing status, list price and days on market are populated only when the matched listing row came from a licensed listing provider (fields: listing_status, list_price, dom, listed_date, removed_date, listing_source, listing_status_source, listing_fetched_at, listing_attribution). When the only match is a scraped portal row, or no listing matched, all of them are null — which is the usual case today. Read a null as 'no licensed listing on file for this address', not as 'this home is not for sale', and do not infer a status or a price from the county fields. Owner identity fields (owner or taxpayer names, mailing addresses, owner-status classification) and equity estimates are not included in this version. Listing links, listing photos and portal automated valuations are not returned. Per-address queries only (RCW 42.56.070(8)); no area enumeration. Use a specific WA street address or county plus parcelId; a NOT_FOUND error means the address is outside covered counties or not in the ingested rows — say so rather than guessing. The result includes an 'attributions' array (upstream source lines and the NWMLS/DOR/county non-affiliation line) and a professional-advice disclaimer — pass both through to end users.

Input Schema

NameRequiredDescriptionDefault
cityNoOptional city to disambiguate.
countyNoOptional county filter: king, pierce, snohomish, or whatcom.
addressNoStreet address, e.g. '456 CEDAR CT'.
zipCodeNoOptional 5-digit ZIP to disambiguate.
parcelIdNoExact county parcel ID; county is required. May replace address.

Output Schema

NameRequiredDescriptionDefault
propertyYes
served_atNoResponse generation time, distinct from source_as_of and listing_fetched_at.
disclaimerYes
attributionsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnly and closed-world; the description adds the substantive behavior: data is cached/ingested rather than live, certain states are explicitly flagged (unverified, missing, withheld, stale), a coverage_note names extract gaps, and listing fields are null unless a licensed provider row matched. The instruction 'Read a null as no licensed listing on file... not as this home is not for sale, and do not infer a status or a price from the county fields' is exactly the kind of misuse-preventing context annotations cannot carry.

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 coverage are front-loaded, then null semantics, then exclusions, then call guidance — a sensible order with no filler sentences. It is dense and long (the full listing field enumeration is arguably more than the agent needs inline), but every clause carries information an agent would otherwise guess wrong.

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 read-only lookup with a full input schema and an output schema, the description covers the remaining unknowns: data provenance, coverage gaps, null meaning, excluded fields (owner identity, equity, photos, portal valuations), legal enum scope, and the obligation to pass through attributions and the disclaimer. Nothing an agent needs to call this correctly or report results responsibly 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 baseline is 3; the description adds meaning beyond the schema by stating the address must be a specific WA street address, that county plus parcelId is an accepted alternative path, and by tying NOT_FOUND back to the address/parcel inputs. It does not explain how city and zipCode disambiguation interact with the anyOf, but the added routing guidance is real value over the schema.

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 ('look up one Washington property from already-ingested county assessor records'), names the four covered counties, and enumerates what the record contains. It is clearly distinguishable from adjacent siblings like wa_property_changes, wa_comps and wa_sale_history because it describes a single cached record snapshot rather than historical or comparative views.

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 invocation rules ('Use a specific WA street address or county plus parcelId'), an explicit scope exclusion ('Per-address queries only (RCW 42.56.070(8)); no area enumeration'), and a documented failure mode with handling instructions ('a NOT_FOUND error means the address is outside covered counties... say so rather than guessing'). It also pre-empts a likely misinterpretation of nulls rather than leaving the agent to invent one.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.