HeritageDeed Title Search and Property Data
by heritagedeed.com · remote · no sign-in to list tools · v1.1.0 · published by com.heritagedeed
Title search, environmental reports, free US property data: loan limits, radon, flood, zoning, LLCs.
53 tools: 1 do something that can't be undone, 29 change things and 23 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things29Claude Code: ask: see these tools
- Only reads23Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http title-search https://heritagedeed.com/mcp/publicFindings
Matches of fixed checks, with the text they matched.
The server marks "order_title_search" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "order_title_search" says "search": a word for reading.
- Warntransfer_tax
The server marks "transfer_tax" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "transfer_tax" says "transfer": a word for a change that another call does not undo.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
53 tools
Can't be undone 1Claude Code: ask
transfer_taxReal estate transfer taxes on a sale, from the statutes and tax offices, free.1 finding
Why it is in this group
- The name "transfer_tax" says "transfer": a word for a change that another call does not undo.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "transfer_tax" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "transfer_tax" says "transfer": a word for a change that another call does not undo.
Description, as the server wrote it Real estate transfer taxes on a sale, from the statutes and tax offices, free. `place`: nyc (all five boroughs), ny (New York State outside NYC), fl (Florida outside Miami-Dade), philadelphia, chicago, cook (Cook County outside Chicago), nc, sc, ar, tx or az (state or city names work too). `price`: the consideration in dollars. `kind`: residential or other (NYC rates differ). `mortgage`: Florida only, the new mortgage amount (adds note stamps and the intangible tax). Returns each tax with its amount and who customarily pays (seller, buyer, negotiable), the total, flags for what is not included (NYC supplemental tax, local municipal taxes), and the sources. An estimate, not tax advice.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Changes things 29Claude Code: ask
check_addressCheck an address BEFORE ordering (takes a few seconds).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check an address BEFORE ordering (takes a few seconds). For a title search (report_type 'current_owner', the default) give `state` and `county`: it matches the address to a real parcel in the county's records. For report_type 'environmental' only the address is needed: it is matched with the US Census geocoder (any US address). status 'matched' = safe to order; 'not_found' = ask the user to correct the address; 'not_covered' = the county is not covered; 'unavailable' = the county / Census service is down right now (a title search can still be ordered and retries; an environmental order needs the geocoder, so try again later).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
check_coverageCheck whether a title search can be ordered for a county (or a borough / city such as Brooklyn, Tampa, Houston).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check whether a title search can be ordered for a county (or a borough / city such as Brooklyn, Tampa, Houston). Returns the exact `state` and `county` values to pass to order_title_search. (The Environmental Records Report and the flood / Superfund lookups work at any US address and need no coverage check.)
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
check_tax_appeal_propertyCheck that a property can get a Property Tax Appeal Evidence Pack, before ordering.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Check that a property can get a Property Tax Appeal Evidence Pack, before ordering. `place`: 'Cook' / 'Chicago', 'Philadelphia', or an NYC borough ('Manhattan', 'Brooklyn', 'Queens', 'Bronx', 'Staten Island'). `parcel_id` optional: the 14-digit Cook PIN, NYC BBL or Philadelphia OPA account (needed for condo units). Status: matched / ambiguous (several parcels: ask for the unit's parcel number) / not_found / unavailable (assessor down: retry).
county_loan_limitsFHFA conforming loan limit, FHA loan limit and VA county loan limit for one US county (any of the 3,144 counties in the 50 states and DC), for 1 to 4 unit homes, for the year in ef…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it FHFA conforming loan limit, FHA loan limit and VA county loan limit for one US county (any of the 3,144 counties in the 50 states and DC), for 1 to 4 unit homes, for the year in effect today, plus next year's once FHFA (late November) or HUD (December) has published it. `state`: two-letter code or name ("TX", "Texas"). `county`: name or FIPS ("Harris", "Harris County", "48201", "St. Louis city", "Orleans Parish"). Returns the limits, whether the county is high-cost, HUD's area and median price behind the FHA limit, the state range, the page URL and sources.
create_property_watchStart watching a property in a covered county for `email`.No findings
Why it is in this group
- The name "create_property_watch" says "create": a word for a change.
Description, as the server wrote it Start watching a property in a covered county for `email`. `address`: street address with house number and city (e.g. '1702 Ellsworth St, Philadelphia'); `state`: two-letter code; `county`: county or borough ('Philadelphia', 'Cook', 'Brooklyn'). Returns the watch and, for a new email, `access_key` + `dashboard_url`: the ONLY key to that watch list (no password exists), shown once; give it to the user and tell them to keep it private. The first check runs within minutes (status 'pending' until the parcel is resolved). An email that already has a watch list gets an error: its owner adds properties from their own list. Free during the launch period, with a per-email cap.
fair_market_rent_by_countyHUD Fair Market Rents (studio to 4 bedrooms, monthly) for one US county, for the current HUD fiscal year and the previous one, which year is in effect, the 90-110% voucher payment …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it HUD Fair Market Rents (studio to 4 bedrooms, monthly) for one US county, for the current HUD fiscal year and the previous one, which year is in effect, the 90-110% voucher payment standard range, whether the area is a HUD-designated Small Area FMR metro, and the state and national medians. `state`: two-letter code or name. `county`: name or FIPS ("Harris", "Cook County", "17031"). New England counties list each HUD area with its towns.
fair_market_rent_by_zipHUD Small Area Fair Market Rents for a 5-digit ZIP code (studio to 4 bedrooms, current and previous HUD fiscal year), with the 90-110% payment standard range and whether the metro …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it HUD Small Area Fair Market Rents for a 5-digit ZIP code (studio to 4 bedrooms, current and previous HUD fiscal year), with the 90-110% payment standard range and whether the metro is one of HUD's 65 designated Small Area FMR areas (where housing agencies must use the ZIP figures). Non-metropolitan ZIP codes have none: use fair_market_rent_by_county for those.
fault_lines_near_addressUSGS-mapped earthquake faults near a US street address: every mapped fault section within 5 miles, nearest first (name, section, distance in miles and feet, direction, age of the m…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it USGS-mapped earthquake faults near a US street address: every mapped fault section within 5 miles, nearest first (name, section, distance in miles and feet, direction, age of the most recent movement from 'historic' (< 150 years) to 'undifferentiated Quaternary' (< 1.6 million years), slip rate and sense, mapping scale, USGS report link), or the nearest mapped fault within 100 miles; plus the USGS 2014 seismic hazard map value (peak ground acceleration with a 2% chance of exceedance in 50 years, %g). Takes a few seconds. Returns the tool page URL. Mapped faults only: not a geotechnical or fault-rupture assessment.
national_loan_limitsThis year's national loan limit figures (FHFA conforming baseline and high-cost ceiling, HUD FHA floor and ceiling, for 1 to 4 units), next year's once announced, and each state's …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it This year's national loan limit figures (FHFA conforming baseline and high-cost ceiling, HUD FHA floor and ceiling, for 1 to 4 units), next year's once announced, and each state's lowest and highest county limits. Use county_loan_limits for one county.
order_tax_appeal_evidenceOrder a Property Tax Appeal Evidence Pack (PDF + JSON): the parcel's assessment history, appeal outcomes on record, comparable sales, a neighborhood assessment-to-sale ratio check …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Order a Property Tax Appeal Evidence Pack (PDF + JSON): the parcel's assessment history, appeal outcomes on record, comparable sales, a neighborhood assessment-to-sale ratio check computed from the assessor's own data, and the filing deadline with the official route. Free during the launch (list price $49). Then poll get_order_status(order_id) until 'complete' (about a minute) and call get_tax_appeal_evidence(order_id). Data only: no appeal is filed and no one is represented.
order_title_searchOrder a report for a property.1 finding
Why it is in this group
- The name "order_title_search" says "search": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "order_title_search" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "order_title_search" says "search": a word for reading.
Description, as the server wrote it Order a report for a property. report_type 'current_owner' (default) = the title search report: `address` is the street address (house number, street, city, ZIP), `state` the two-letter code, `county` the county (or borough / city alias); only covered counties (check_coverage). report_type 'environmental' = the Environmental Records Report for any US street address: give the full address with city and state; `state` and `county` are not needed (they come from the Census geocoder). Returns an order_id; then poll get_order_status every ~20 seconds until status is 'complete' (usually 1 to 3 minutes) and call get_report. Free during the launch period (list price $49). `email` is optional (used only for the report link; nothing is sent while email delivery is off).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
power_lines_near_addressHigh-voltage electric transmission lines (100 kV and above) near a US street address, from the federal HIFLD dataset: every mapped line within 1 mile, nearest first, with distance …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it High-voltage electric transmission lines (100 kV and above) near a US street address, from the federal HIFLD dataset: every mapped line within 1 mile, nearest first, with distance in feet and miles, direction, voltage, owner as recorded, the two substations it connects and its status, plus counts within 500 ft, 1/4, 1/2 and 1 mile. Local distribution lines on street poles are NOT in the data. Returns the tool page URL.
property_tax_rate_by_countyEffective property tax rate for one US county (median real estate taxes paid / median home value, Census ACS 5-year), with the state and US rates, the county's rank in its state an…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Effective property tax rate for one US county (median real estate taxes paid / median home value, Census ACS 5-year), with the state and US rates, the county's rank in its state and nationally, and its neighbours. `state`: two-letter code or name. `county`: name or FIPS ("Harris", "Essex County", "34013").
property_tax_rate_by_zipEffective property tax rate for a 5-digit ZIP code (Census ZIP Code Tabulation Area, ACS 5-year medians), with the US rate.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Effective property tax rate for a 5-digit ZIP code (Census ZIP Code Tabulation Area, ACS 5-year medians), with the US rate. Pass `home_value` for a rough estimate of the yearly tax at that rate (an illustration, not a bill). `small_sample` flags ZIP codes with under 200 owner-occupied homes (wide margin of error).
property_tax_rates_by_stateEffective property tax rates of the 50 states and DC, ranked highest first (1 = highest), with median taxes and home values, the US rate, and the counties with the highest and lowe…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Effective property tax rates of the 50 states and DC, ranked highest first (1 = highest), with median taxes and home values, the US rate, and the counties with the highest and lowest rates. Census ACS 5-year data.
property_watch_coverageWhere HeritageDeed Property Watch works and what it checks there.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Where HeritageDeed Property Watch works and what it checks there. With no arguments: every covered county (state code, county, whether recorded documents are watched by parcel). With `state` (two-letter code) and `county` (e.g. 'Cook', 'Kings' or 'Brooklyn'): that county's checks (records, owner of record, building violations, tax sale / surplus lists, federal courts), each with its official source and cadence, plus the county recording office's own fraud alert service when it has one (`free` is true only where the office says so; recommend it too: it is official).
radon_by_countyRadon facts for one US county without an address: EPA radon zone (with the note for counties renamed or created since 1993, and for Connecticut's planning regions the zones of the …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Radon facts for one US county without an address: EPA radon zone (with the note for counties renamed or created since 1993, and for Connecticut's planning regions the zones of the former counties their towns were in), and the radon test results on file (CDC laboratory and state-program data; NY, PA and TN state data, with PA results by ZIP code and NY results by town). `state` is the two-letter code, `county` the county name ('Adams', 'Baltimore city', 'Capitol Planning Region'). Returns the county page URL.
radon_state_summaryHow many counties of a state are in EPA radon Zone 1, 2 and 3, and the counties with the highest median radon test result in CDC's laboratory data (2008-2017, counties with 20 or m…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it How many counties of a state are in EPA radon Zone 1, 2 and 3, and the counties with the highest median radon test result in CDC's laboratory data (2008-2017, counties with 20 or more tests). `state` is the two-letter code. Returns the state page URL and the national counts.
recent_salesRecently sold properties (address, sale date and price only; no buyer or seller names) from official open data, the last 90 days each source has published: `area` = 'Manhattan', 'B…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Recently sold properties (address, sale date and price only; no buyer or seller names) from official open data, the last 90 days each source has published: `area` = 'Manhattan', 'Brooklyn', 'Queens', 'Bronx', 'Staten Island', 'Cook' / 'Chicago' or 'Philadelphia'; optional 5-digit `zip_code`. Includes the median price, counts by ZIP and the date the data runs through (NYC and Cook publish with a lag).
rest_api_infoHow to use HeritageDeed's key-authenticated REST API (v1) instead of, or next to, this MCP server: base URL, how to get a free API key, authentication, endpoints, the live list of …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it How to use HeritageDeed's key-authenticated REST API (v1) instead of, or next to, this MCP server: base URL, how to get a free API key, authentication, endpoints, the live list of report types you can order, limits, signed webhooks, idempotency, batches (JSON or CSV) and the white-label PDF option. Use it when a developer wants to integrate title searches (O&E reports), lien and encumbrance checks or environmental records reports into their own software, or asks for an API key. This MCP server itself needs no key.
seller_net_sheetSeller net proceeds and the buyer's closing costs for a sale, free: Florida, Texas, New York City, New York State outside NYC, Philadelphia.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Seller net proceeds and the buyer's closing costs for a sale, free: Florida, Texas, New York City, New York State outside NYC, Philadelphia. `place`: fl, tx, nyc, ny or philadelphia. `price`; `payoff` (the seller's mortgage payoffs); `commission_pct` (total commission, e.g. 5.5); `loan_amount` (the buyer's new loan, for the lender's policy and Florida mortgage taxes); `owner_policy_payer` seller or buyer (default: local custom, seller in FL and TX, buyer in NY and Philadelphia); `seller_share_of_split_tax` 0 to 1 for taxes the contract splits (Philadelphia, default 0.5); `ny_county` for the TIRSA zone outside NYC; `recording_pages` (FL and TX, statutory fee) or `recording_amount` (NY, Philadelphia: entered); `other_seller_costs` (prorated taxes, HOA, repairs); `fl_prior_policy` (Florida reissue rate). Returns the seller's lines and total, the net to the seller, the buyer's lines and total, flags, and the sources of every rate. An estimate, not a closing disclosure.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
start_tax_sale_due_diligenceStart a tax sale due diligence batch: a per-parcel flag sheet of debts that can outlive the sale, where public parcel-keyed data shows them (NYC: unreleased federal tax liens, unpa…No findings
Why it is in this group
- The name "start_tax_sale_due_diligence" says "start": a word for a change.
Description, as the server wrote it Start a tax sale due diligence batch: a per-parcel flag sheet of debts that can outlive the sale, where public parcel-keyed data shows them (NYC: unreleased federal tax liens, unpaid ECB penalties, past-due DOF charges; elsewhere each debt type is marked 'not searched' with the statute's survival rule). Pass `record_ids` from the tax sale lists (up to 50), or `state` + `county` slug (e.g. 'NY', 'kings-county') for that list's first 50 parcels. Returns a job_id for get_tax_sale_due_diligence. Free during the launch, capped per client.
superfund_sites_by_stateEvery EPA Superfund National Priorities List (NPL) site in one state (50 states and DC), free: counts (final, proposed, deleted, construction complete), a per-county breakdown, the…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Every EPA Superfund National Priorities List (NPL) site in one state (50 states and DC), free: counts (final, proposed, deleted, construction complete), a per-county breakdown, the state's rank, plus other EPA record counts for the state (other Superfund/SEMS sites, leaking and registered underground storage tanks, brownfields, radon zones). Data is EPA's, refreshed nightly; `measured` gives each source's date. `state`: two-letter code or name. Optional filters: `county` (e.g. "Middlesex"), `status` ('final', 'proposed' or 'deleted'). `limit` caps the site rows returned (1 to 500; counts always cover every site).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
superfund_sites_near_addressEPA Superfund sites near a US street address (50 states and DC), free.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it EPA Superfund sites near a US street address (50 states and DC), free. `address` = full street address with house number, city and state. Returns the National Priorities List (NPL) sites within 3 miles (name, EPA id, status: final / proposed / deleted, listing and deletion dates, distance in miles and direction, EPA site page), how many active NPL sites are within 1 and 3 miles, the number of other Superfund (SEMS) sites within 1 mile and of EPA-regulated facilities within 0.5 mile, all measured from the address's geocoded point. status 'invalid' = the address could not be matched (the message says why); 'unavailable' = EPA or the Census geocoder did not answer (NOT a 'no sites' answer, retry later). Tell the user it is a records lookup, not a Phase I Environmental Site Assessment. The full search (RCRA, tanks, brownfields, flood, wetlands, radon, map) is the Environmental Records Report: order_title_search(address, report_type='environmental').
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
superfund_states_summarySuperfund National Priorities List counts for every state and DC (final, proposed, deleted, construction complete, rank by final sites) and the national totals, from EPA data refre…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Superfund National Priorities List counts for every state and DC (final, proposed, deleted, construction complete, rank by final sites) and the national totals, from EPA data refreshed nightly. No site rows: use superfund_sites_by_state for one state's sites.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
surplus_funds_summaryPer county: how many surplus rows are on the official list, their total and the largest, the list's own date and the last refresh, the office and list URL, the statute, the claim r…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Per county: how many surplus rows are on the official list, their total and the largest, the list's own date and the last refresh, the office and list URL, the statute, the claim rule and how to claim, the deadline note. Optional `state` (code or name) narrows it. Use before surplus_funds_search to see what is covered.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
tax_appeal_deadlinesProperty tax appeal filing deadlines and the free / official filing route.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Property tax appeal filing deadlines and the free / official filing route. `place`: 'cook' (Cook County, Illinois: the Assessor's live township calendar with each township's last file date and Board of Review window), 'nyc' (Tax Commission: March 1 for tax classes 2-4, March 15 for class 1) or 'philadelphia' (Board of Revision of Taxes: first Monday of October). Optional `township` narrows Cook to one township (e.g. 'Berwyn', 'Lake View').
tax_sale_summaryPer county: rows on the official tax sale list, the next and last sale dates, the total of the published amounts, the list's own date and the last refresh, the office and list URL,…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Per county: rows on the official tax sale list, the next and last sale dates, the total of the published amounts, the list's own date and the last refresh, the office and list URL, the statute, the cited bidding and redemption rules and how to bid, and whether HeritageDeed's title search covers the county. Optional `state` (code or name) narrows it.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
Only reads 23Claude Code: allow
building_records_lookupBuilding code violations and building permits on record with the city for one address, free, from the city's own records (the same sources the title search report reads).No findings
Why it is in this group
- The name "building_records_lookup" says "lookup": a word for reading.
Description, as the server wrote it Building code violations and building permits on record with the city for one address, free, from the city's own records (the same sources the title search report reads). `city`: chicago, philadelphia, cincinnati, mesa, glendale-az (Glendale, Arizona), gilbert, buffalo or provo (list_coverage returns the current list). `address`: street address starting with the house number, e.g. "233 S Wacker Dr"; the city is added when missing. Returns counts over every record on file (total, open, severe, in court, balances due, active / expired permits) and the five most relevant violations and permits. Some cities publish only one of the two (Glendale: violations; Gilbert, Provo: permits). status: 'ok'; 'not_found' (no parcel matches: ask the user to check the address); 'not_searched' (outside city limits: the message says why); 'unavailable' (the city's service did not answer: not a 'no violations' answer; retry later).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
census_tract_lookupCensus tract of a US street address with the designations lenders and tax-credit programs use: the 11-digit tract GEOID (2020 boundaries), the FFIEC 2026 tract income level (low / …No findings
Why it is in this group
- The name "census_tract_lookup" says "lookup": a word for reading.
Description, as the server wrote it Census tract of a US street address with the designations lenders and tax-credit programs use: the 11-digit tract GEOID (2020 boundaries), the FFIEC 2026 tract income level (low / moderate / middle / upper, from the tract median family income as a percent of the metro or statewide nonmetro median; low and moderate = LMI tract for CRA), HUD Qualified Census Tract status for 2026 and 2027, HUD Difficult Development Area status (by ZIP Code Tabulation Area in metro areas, by county outside them), and Opportunity Zone status. Read from the official lists; a point near a tract boundary can fall in the neighbouring tract, so confirm with the agency before relying on it.
flood_zone_lookupFEMA flood zone at a US street address (any of the 50 states or DC), free.No findings
Why it is in this group
- The name "flood_zone_lookup" says "lookup": a word for reading.
Description, as the server wrote it FEMA flood zone at a US street address (any of the 50 states or DC), free. `address` = full street address with house number, city and state, e.g. "1600 Pennsylvania Ave NW, Washington, DC 20500". Returns the zone (A/AE/V/VE = Special Flood Hazard Area, shaded X = 0.2% annual chance, X, D), a plain-language label and explanation, whether federal rules require flood insurance for a federally backed mortgage, base flood elevation where FEMA publishes one, and a FEMA Flood Map Service Center link for the official map panel. status: 'ok'; 'invalid' (the address could not be matched: the message says why; ask the user to correct it); 'unavailable' (FEMA or the Census geocoder did not answer: the zone was NOT determined, this is never a 'no flood zone' answer; retry later); 'rate_limited'. Always tell the user this is a screening from FEMA's layer, not an official flood zone determination (lenders use FEMA's Standard Flood Hazard Determination Form).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_order_statusProgress of an order (title search or environmental): status ('pending', 'processing', 'complete', 'failed'), per-source progress, and the error message if it failed.No findings
Why it is in this group
- The name "get_order_status" says "get": a word for reading.
Description, as the server wrote it Progress of an order (title search or environmental): status ('pending', 'processing', 'complete', 'failed'), per-source progress, and the error message if it failed. When complete, call get_report.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_reportThe finished report as structured JSON.No findings
Why it is in this group
- The name "get_report" says "get": a word for reading.
Description, as the server wrote it The finished report as structured JSON. Title search: property and owner of record, risk score and summary, key findings, chain-of-title counts, environmental and tax data, sources searched with their status. Environmental report: every federal list searched with the records found and their distances, site facts and sources. Also returns the PDF link. Only works once get_order_status reports 'complete'.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
get_sample_reportA real finished report to look at before ordering.No findings
Why it is in this group
- The name "get_sample_report" says "get": a word for reading.
Description, as the server wrote it A real finished report to look at before ordering. report_type 'current_owner' (default): the title search for 350 Fifth Avenue, New York (Empire State Building). 'environmental': the Environmental Records Report for 300 Bond Street, Brooklyn. Returns the page and the PDF.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_tax_appeal_evidenceThe finished Property Tax Appeal Evidence Pack as JSON (assessments, appeals, comparable sales, ratio check, deadlines, sources with pull dates, anything NOT RETRIEVED) and its PDF…No findings
Why it is in this group
- The name "get_tax_appeal_evidence" says "get": a word for reading.
Description, as the server wrote it The finished Property Tax Appeal Evidence Pack as JSON (assessments, appeals, comparable sales, ratio check, deadlines, sources with pull dates, anything NOT RETRIEVED) and its PDF link. Works once the order is complete.
get_tax_sale_due_diligenceStatus and result of a tax sale due diligence batch: per parcel, the debts found with amounts and the effect of the sale, every check's status (found / none found / not searched / …No findings
Why it is in this group
- The name "get_tax_sale_due_diligence" says "get": a word for reading.
Description, as the server wrote it Status and result of a tax sale due diligence batch: per parcel, the debts found with amounts and the effect of the sale, every check's status (found / none found / not searched / did not answer) and the cited rules; plus CSV and PDF links. 'Not searched' never means there is no debt.
get_termsTerms, privacy, refund policy and the legal boundary of every product (what a report or lookup is and is not).No findings
Why it is in this group
- The name "get_terms" says "get": a word for reading.
Description, as the server wrote it Terms, privacy, refund policy and the legal boundary of every product (what a report or lookup is and is not).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
hoa_lookupWhich homeowners' association (HOA / POA / condo association) may govern an address, from the official state registries: Texas (TREC HOA management certificates, matched by ZIP cod…No findings
Why it is in this group
- The name "hoa_lookup" says "lookup": a word for reading.
Description, as the server wrote it Which homeowners' association (HOA / POA / condo association) may govern an address, from the official state registries: Texas (TREC HOA management certificates, matched by ZIP code and the subdivision words in the appraisal district's legal description) and Utah (Department of Commerce HOA Registry, matched through the Utah County subdivision name). `address`: full street address with city and state. `community` (optional): the subdivision or community name, which ranks the candidates. Returns candidates with how each matched, the management certificate PDF (Texas) or registration number, status, expiry and management company (Utah). Candidates only: the recorded declaration (CC&Rs) on the lot decides. Other states: status 'unsupported' with guidance.
list_coverageWhere each HeritageDeed product works.No findings
Why it is in this group
- The name "list_coverage" says "list": a word for reading.
Description, as the server wrote it Where each HeritageDeed product works. Title search: the states and counties (with main cities) where a report can be ordered, what it includes and does not, and the price. Also: the Environmental Records Report, flood zone and Superfund lookups (any US address), the cities with building records, the places with property history, the counties with surplus funds and tax sale lists, and the calculators' states. Call this before ordering if you are unsure of the county; the list is live (new counties appear automatically).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
list_productsEvery HeritageDeed product available through this server: the two reports (ordered with order_title_search) and each free lookup or calculator, with a one-line description and its …No findings
Why it is in this group
- The name "list_products" says "list": a word for reading.
Description, as the server wrote it Every HeritageDeed product available through this server: the two reports (ordered with order_title_search) and each free lookup or calculator, with a one-line description and its tools.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_property_watch_eventsRead a watch list with its `access_key` ('wk_...', from create_property_watch or the dashboard link after '#k=').No findings
Why it is in this group
- The name "list_property_watch_events" says "list": a word for reading.
Description, as the server wrote it Read a watch list with its `access_key` ('wk_...', from create_property_watch or the dashboard link after '#k='). Without `watch_id`: every watched property with its status, last check and unseen event count. With `watch_id`: that property's events, newest first: kind (deed_recorded, mortgage_recorded, lien_recorded, lis_pendens_recorded, owner_changed, violation_new, tax_sale_listed, surplus_listed, court_case, ...), severity (high / medium / low / info), title, date, official source link. People's names are initials.
llc_owner_lookupWho owns / is behind an LLC or corporation, from official sources.No findings
Why it is in this group
- The name "llc_owner_lookup" says "lookup": a word for reading.
Description, as the server wrote it Who owns / is behind an LLC or corporation, from official sources. `mode='name'`: `query` is the business name (e.g. 'ESRT Empire State Building LLC'); `mode='address'`: `query` is a street address and the owner of record there is looked up first (NYC, rest of New York State, Philadelphia, Illinois, Texas, Utah County), then the entity. `state` (two letters, optional) limits the registry search to one state; registries searched: NY, TX, PA, CO, CT, OR (official open data). Returns: registry `records` (status, formation date, entity type, principal office, registered agent, officers/principals where the state publishes them, link to the official record), and `properties` recorded to that exact entity name in NYC ACRIS (deeds, mortgages), NYC HPD registrations, NY State assessment rolls, Philadelphia OPA and Illinois PTAX-203 transfer declarations (with the declared signer's title). People appear only as initials. New York does not publish LLC members; Florida (Sunbiz) is not searched automatically (its link is returned). Refuses a person's name: business entities only.
nyc_landlord_lookupNYC 'who is my landlord': the building's HPD Multiple Dwelling Registration by address.No findings
Why it is in this group
- The name "nyc_landlord_lookup" says "lookup": a word for reading.
Description, as the server wrote it NYC 'who is my landlord': the building's HPD Multiple Dwelling Registration by address. `borough` is one of manhattan, brooklyn, queens, bronx, staten-island; `address` is the street address with house number (e.g. '2400 Davidson Ave'). Returns registration status (current or expired, end date), the registered owner (company name, or initials for a person), head officer and officers (initials), managing agent company, HPD violation counts (open by class A/B/C), the grantee on the newest ACRIS deed for comparison, and the HPD Online link with the full registration. status 'not_registered' means HPD has no registration on file (not 'no owner').
opportunity_zone_lookupIs a US street address in a designated Qualified Opportunity Zone?No findings
Why it is in this group
- The name "opportunity_zone_lookup" says "lookup": a word for reading.
Description, as the server wrote it Is a US street address in a designated Qualified Opportunity Zone? Checks the address's 2010 census tract (the boundaries the designated zones keep) against the official list (IRS Notice 2018-48 and Notice 2019-42, 8,764 tracts; designations end December 31, 2028, Puerto Rico's December 31, 2027), and its 2020 tract against the Rev. Proc. 2026-14 list of tracts ELIGIBLE FOR NOMINATION as 2027 zones (eligible is not designated: governors nominate, Treasury designates, new zones run January 1, 2027 to December 31, 2036). designated null = the 2010 tract service did not answer (not a no). Not tax advice.
property_history_lookupWhat has been recorded against a property, from the official parcel-keyed land records index, free.No findings
Why it is in this group
- The name "property_history_lookup" says "lookup": a word for reading.
Description, as the server wrote it What has been recorded against a property, from the official parcel-keyed land records index, free. `place`: manhattan, brooklyn, queens, bronx, staten-island, philadelphia, cook (Cook County IL, Chicago), hamilton (Hamilton County OH, Cincinnati) or utah (Utah County UT, Provo/Orem); county or city names work too. `address`: street address starting with the house number; in Hamilton and Utah counties add the city after a comma (e.g. "851 W 300 S, Orem"), since street addresses repeat between towns. Returns counts of recorded documents by kind (transfers, mortgages, releases, other) and by year, document types, the first and latest recorded event, the transfers with date, type and recorded consideration, the parcel id and index searched, and building record counts where available. People's names are masked to initials; businesses and public bodies are shown as recorded. It does NOT say which mortgage is open or released (that matching is the title search report). status: 'ok', 'not_found' (no parcel matched), 'ambiguous' (several parcels: the message lists them), 'unavailable' (the county did not answer: not 'nothing recorded'; retry later), 'invalid'.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
radon_lookupRadon for a US street address or a 5-digit ZIP code: the county's EPA radon zone (Zone 1 = predicted average indoor screening level above 4 pCi/L, Zone 2 = 2-4, Zone 3 = below 2; E…No findings
Why it is in this group
- The name "radon_lookup" says "lookup": a word for reading.
Description, as the server wrote it Radon for a US street address or a 5-digit ZIP code: the county's EPA radon zone (Zone 1 = predicted average indoor screening level above 4 pCi/L, Zone 2 = 2-4, Zone 3 = below 2; EPA's 1993 county map) and the radon test results on file for the county (CDC Tracking laboratory data 2008-2017: tests, median pCi/L, percent at or above 4 pCi/L; CDC state-program data for the latest year reported; New York DOH, Pennsylvania DEP and Tennessee DOH state data). A ZIP code returns every county its Census ZIP Code Tabulation Area overlaps, by land share, and in Pennsylvania the DEP results for the ZIP itself. Give `address` (house number, street, city, state) OR `zip_code`. Returns the county page URL. Not a radon measurement of any building.
surplus_funds_searchSearch the surplus funds (excess proceeds) still on an official list: money left after a tax deed or foreclosure sale that the former owner or lienholders can claim.No findings
Why it is in this group
- The name "surplus_funds_search" says "search": a word for reading.
Description, as the server wrote it Search the surplus funds (excess proceeds) still on an official list: money left after a tax deed or foreclosure sale that the former owner or lienholders can claim. `state`: two-letter code or name; `county`: optional county name (e.g. "Duval"); `min_amount`: optional floor in dollars; `sort`: amount_desc, amount_asc, deadline_asc, deadline_desc or sale_date_desc; `page_number` from 1, `per_page` 1 to 100. Each row: case or certificate number, parcel id, property address, former owner (people as initials, businesses as recorded), sale type and date, amount as published, claim deadline and its basis, and the official list URL. Amounts are as the office published them; claims, deadlines and eligibility are decided by that office (the county page and surplus_funds_summary give the statute and how to claim). list_coverage lists covered counties.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
tax_sale_searchSearch properties still on an official tax sale / sheriff sale list.No findings
Why it is in this group
- The name "tax_sale_search" says "search": a word for reading.
Description, as the server wrote it Search properties still on an official tax sale / sheriff sale list. `state`: two-letter code or name; `county`: optional county name (e.g. "Horry"; New York City boroughs by county: "Kings" for Brooklyn); `sort`: sale_date_asc, sale_date_desc, amount_desc or amount_asc; `page_number` from 1, `per_page` 1 to 100. Each row: case or certificate number, parcel id, property address, owner (people as initials, businesses as recorded), sale type and date, the amount as the office labels it (opening bid, judgment, taxes due; some lists publish none), appraised value where given, status and the official list URL. Rows leave the list when the office removes them (paid, redeemed, sold, cancelled). Before bidding, a title search on the parcel shows the other liens and mortgages of record: order_title_search where the county is covered.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
ucc_lien_searchUCC financing statements (and NYC federal tax lien notices) where a BUSINESS is the debtor.No findings
Why it is in this group
- The name "ucc_lien_search" says "search": a word for reading.
Description, as the server wrote it UCC financing statements (and NYC federal tax lien notices) where a BUSINESS is the debtor. `name`: the debtor business name as registered (e.g. 'Publix Super Markets, Inc.'). `where`: 'all' (default), 'FL' (Florida Secured Transaction Registry, statewide), 'NYC' (ACRIS personal property records: fixture and co-op filings and federal tax liens, four boroughs), 'CO' or 'CT' (state open data). Returns each filing's number, type, filing date, lapse date, status, secured parties and, in NYC, the property. New York State (DOS), Texas, Illinois, Ohio, Arizona and Pennsylvania are not searched automatically; `not_automated` gives each official search link and why. Refuses a person's name.
usda_eligibility_lookupIs a US street address in a USDA Rural Development eligible area (the property-location test for USDA Single Family Housing Direct and Guaranteed loans, Section 502, and Multifamil…No findings
Why it is in this group
- The name "usda_eligibility_lookup" says "lookup": a word for reading.
Description, as the server wrote it Is a US street address in a USDA Rural Development eligible area (the property-location test for USDA Single Family Housing Direct and Guaranteed loans, Section 502, and Multifamily Housing)? Give a full street address with city and state. Matches the address with the US Census geocoder, then checks the point against USDA's official ineligible-area map layer (the one USDA's own Property Eligibility map uses). Returns eligible true/false, the matched address and county. NOT an official USDA determination (Rural Development decides on a complete application) and location only: household income limits (USDA income tool linked in the answer), credit and loan approval are separate. status 'not_determined' means USDA's map service did not answer: never read it as yes or no.
zoning_lookupZoning district of a property in New York City, Chicago or Philadelphia, from the city's own zoning data: the district (e.g.No findings
Why it is in this group
- The name "zoning_lookup" says "lookup": a word for reading.
Description, as the server wrote it Zoning district of a property in New York City, Chicago or Philadelphia, from the city's own zoning data: the district (e.g. R6B, DC-16, RM-1), commercial overlays / overlay districts, special or planned development districts, and links to the city's zoning text. `place`: an NYC borough ('Manhattan', 'Brooklyn', 'Queens', 'Bronx', 'Staten Island'; 'nyc' works when the address names its borough or ZIP), 'chicago' or 'philadelphia'. Not an official zoning determination.
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http title-search https://heritagedeed.com/mcp/publicRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__title-search__list_coverage",
"mcp__title-search__get_order_status",
"mcp__title-search__get_report",
"mcp__title-search__get_sample_report",
"mcp__title-search__get_terms",
"mcp__title-search__building_records_lookup",
"mcp__title-search__llc_owner_lookup",
"mcp__title-search__nyc_landlord_lookup",
"mcp__title-search__hoa_lookup",
"mcp__title-search__ucc_lien_search",
"mcp__title-search__flood_zone_lookup",
"mcp__title-search__radon_lookup",
"mcp__title-search__get_tax_appeal_evidence",
"mcp__title-search__zoning_lookup",
"mcp__title-search__get_tax_sale_due_diligence",
"mcp__title-search__usda_eligibility_lookup",
"mcp__title-search__census_tract_lookup",
"mcp__title-search__opportunity_zone_lookup",
"mcp__title-search__property_history_lookup",
"mcp__title-search__surplus_funds_search",
"mcp__title-search__tax_sale_search",
"mcp__title-search__list_property_watch_events",
"mcp__title-search__list_products"
],
"ask": [
"mcp__title-search__check_coverage",
"mcp__title-search__check_address",
"mcp__title-search__order_title_search",
"mcp__title-search__rest_api_info",
"mcp__title-search__title_insurance_premium",
"mcp__title-search__transfer_tax",
"mcp__title-search__seller_net_sheet",
"mcp__title-search__superfund_sites_near_address",
"mcp__title-search__superfund_sites_by_state",
"mcp__title-search__superfund_states_summary",
"mcp__title-search__fair_market_rent_by_county",
"mcp__title-search__fair_market_rent_by_zip",
"mcp__title-search__radon_by_county",
"mcp__title-search__radon_state_summary",
"mcp__title-search__fault_lines_near_address",
"mcp__title-search__power_lines_near_address",
"mcp__title-search__tax_appeal_deadlines",
"mcp__title-search__check_tax_appeal_property",
"mcp__title-search__order_tax_appeal_evidence",
"mcp__title-search__recent_sales",
"mcp__title-search__start_tax_sale_due_diligence",
"mcp__title-search__county_loan_limits",
"mcp__title-search__national_loan_limits",
"mcp__title-search__surplus_funds_summary",
"mcp__title-search__tax_sale_summary",
"mcp__title-search__property_tax_rate_by_county",
"mcp__title-search__property_tax_rates_by_state",
"mcp__title-search__property_tax_rate_by_zip",
"mcp__title-search__property_watch_coverage",
"mcp__title-search__create_property_watch"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as title-search. Review it before you use it.