# HeritageDeed Title Search and Property Data (remote · heritagedeed.com)

US title search, auction pre-checks, surplus and tax sale lists, free flood, radon and LLC lookups.

- Trust score: 77/100 (medium)
- Change this week: +10
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `heritagedeed.com`: 77/100 (this document), [markdown](https://verifymcp.io/servers/com-heritagedeed-title-search/mcp-public.md), [page](https://verifymcp.io/servers/com-heritagedeed-title-search/mcp-public)

## Channel facts

- Endpoint: `https://heritagedeed.com/mcp/public`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.2.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 60/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 11476 tokens (~197/item across 58 items; 58 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 93/100
  - Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 67/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "transfer_tax" implies "transfer" and declares readOnlyHint instead, contradicting what its own name says it does.
  - An AI judge read all 59 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the HeritageDeed Title Search and Property Data MCP server?

HeritageDeed Title Search and Property Data is a hosted endpoint at https://heritagedeed.com/mcp/public, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-heritagedeed-title-search 'https://heritagedeed.com/mcp/public'
```

### Cursor

```json
{
  "mcpServers": {
    "com-heritagedeed-title-search": {
      "url": "https://heritagedeed.com/mcp/public"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-heritagedeed-title-search": {
      "type": "http",
      "url": "https://heritagedeed.com/mcp/public"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-heritagedeed-title-search]
url = "https://heritagedeed.com/mcp/public"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-heritagedeed-title-search": {
      "type": "remote",
      "url": "https://heritagedeed.com/mcp/public",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-heritagedeed-title-search --url 'https://heritagedeed.com/mcp/public' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-heritagedeed-title-search:
    url: "https://heritagedeed.com/mcp/public"
```

### Netclaw

```json
{
  "McpServers": {
    "com-heritagedeed-title-search": {
      "Transport": "http",
      "Url": "https://heritagedeed.com/mcp/public"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-heritagedeed-title-search -t streamable-http -u 'https://heritagedeed.com/mcp/public'
```

### Other

```json
{
  "mcpServers": {
    "com-heritagedeed-title-search": {
      "type": "http",
      "url": "https://heritagedeed.com/mcp/public"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 77, +1)

No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 76, +1)

No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-01 (score 75, +7)

- [security improvement] Authorization: unverified → partial
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “create_property_watch” rewrote its description, which is the text the model reads
- [security] Tool “list_products” rewrote its description, which is the text the model reads
- [security] Tool “order_title_search” rewrote its description, which is the text the model reads
- [security] Tool “surplus_funds_search” rewrote its description, which is the text the model reads
- [security] Tool “tax_sale_search” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 10221 → 11476
- [functional] New tool “auction_precheck_summary”
- [functional] New tool “buy_county_list_pass”
- [functional] New tool “buy_plan”
- [functional] New tool “my_account”
- [functional] New tool “upcoming_auction_sales”

### 2026-10-30 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-28 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-26 (score 66, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “create_property_watch” rewrote its description, which is the text the model reads
- [security] Tool “flood_zone_lookup” rewrote its description, which is the text the model reads
- [security] Tool “hoa_lookup” rewrote its description, which is the text the model reads
- [security] Tool “order_tax_appeal_evidence” rewrote its description, which is the text the model reads
- [security] Tool “order_title_search” rewrote its description, which is the text the model reads
- [security] Tool “power_lines_near_address” rewrote its description, which is the text the model reads
- [security] Tool “radon_by_county” rewrote its description, which is the text the model reads
- [security] Tool “radon_lookup” rewrote its description, which is the text the model reads
- [security] Tool “start_tax_sale_due_diligence” rewrote its description, which is the text the model reads
- [security] Tool “superfund_sites_near_address” rewrote its description, which is the text the model reads
- [security] Tool “surplus_funds_search” rewrote its description, which is the text the model reads
- [security] Tool “tax_sale_search” rewrote its description, which is the text the model reads
- [security] Tool “usda_eligibility_lookup” rewrote its description, which is the text the model reads

### 2026-10-24 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-23 (score 64, 0)

- [security] Tool “building_records_lookup” rewrote its description, which is the text the model reads
- [security] Tool “property_history_lookup” rewrote its description, which is the text the model reads

## MCP tools (58)

### `list_coverage` (~124 tokens)

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).

### `check_coverage` (~93 tokens)

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.)

Input parameters:

- `county` (string, required)
- `state` (string, required)

### `check_address` (~192 tokens)

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).

Input parameters:

- `address` (string, required)
- `county` (string)
- `report_type` (string)
- `state` (string)

### `order_title_search` (~315 tokens)

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. Costs $49 for a title search and $29 for an
    Environmental Records Report. `email` is optional: the report link is emailed to it. Payment: the answer carries
    `checkout_url` for the user to pay in a browser (the search starts once paid). When the MCP connection sends the
    user's API key (a Bearer token header with the hd_live_... key), the order is paid from that account's report credits
    or Pro Reports allowance instead, with no checkout (my_account shows the balance; buy_plan sells credits).

Input parameters:

- `address` (string, required)
- `county` (string)
- `email`
- `report_type` (string)
- `state` (string)

### `get_order_status` (~60 tokens)

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.

Input parameters:

- `order_id` (string, required)

### `get_report` (~98 tokens)

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'.

Input parameters:

- `order_id` (string, required)

### `get_sample_report` (~79 tokens)

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.

Input parameters:

- `report_type` (string)

### `get_terms` (~32 tokens)

Terms, privacy, refund policy and the legal boundary of every product (what a report or lookup is and is not).

### `rest_api_info` (~135 tokens)

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.

### `building_records_lookup` (~290 tokens)

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 most relevant violations and permits: the first 5 of each without an account (`gated: true`, `wall`
        holds the true totals and `message` says how a person unlocks the rest on the page; the counts are complete).
        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).

Input parameters:

- `address` (string, required)
- `city` (string, required)

### `title_insurance_premium` (~335 tokens)

Title insurance premiums from the official rate schedule, free: Texas (TDI promulgated basic premium,
        effective March 1, 2026), Florida (Rule 69O-186.003), Pennsylvania (TIRBOP manual, August 1, 2024) and
        New York (TIRSA Seventh Revision, October 1, 2024, Zone 1 / Zone 2). `state`: TX, FL, PA or NY.
        `owner_amount`: owner's policy amount, usually the price (0 for a refinance = loan policy only);
        `loan_amount`: lender's policy amount (0 for cash). New York: `ny_county` (e.g. "Erie", "Kings", "Brooklyn")
        or `ny_zone` (1 or 2; NYC and downstate are Zone 2, the default). Pennsylvania: `pa_homeowner` for the ALTA
        Homeowner's Policy (+10%). Florida: `fl_prior_policy` = the seller's prior owner's policy amount when the
        reissue rate applies.

        Returns owner, loan and fee totals, every line with its rule, notes on what is excluded, the schedule's
        regulator, manual and effective date, and the sources. An estimate: endorsements and settlement fees are extra.

Input parameters:

- `fl_prior_policy` (number)
- `loan_amount` (number)
- `ny_county`
- `ny_zone`
- `owner_amount` (number)
- `pa_homeowner` (boolean)
- `state` (string, required)

### `transfer_tax` (~209 tokens)

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.

Input parameters:

- `kind` (string)
- `mortgage` (number)
- `place` (string, required)
- `price` (number, required)

### `seller_net_sheet` (~376 tokens)

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.

Input parameters:

- `commission_pct` (number)
- `fl_prior_policy`
- `kind` (string)
- `loan_amount` (number)
- `ny_county`
- `other_seller_costs`
- `owner_policy_payer`
- `payoff` (number)
- `place` (string, required)
- `price` (number, required)
- `recording_amount`
- `recording_pages`
- `seller_share_of_split_tax`

### `llc_owner_lookup` (~292 tokens)

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.

Input parameters:

- `mode` (string)
- `query` (string, required)
- `state`

### `nyc_landlord_lookup` (~185 tokens)

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').

Input parameters:

- `address` (string, required)
- `borough` (string, required)

### `hoa_lookup` (~184 tokens)

Which homeowners' association (HOA / POA / condo association) may govern an address, from the official state
        registries: Texas (HOA management certificates filed with the state, 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.

Input parameters:

- `address` (string, required)
- `community`

### `ucc_lien_search` (~201 tokens)

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.

Input parameters:

- `name` (string, required)
- `where` (string)

### `superfund_sites_near_address` (~261 tokens)

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
        address lookup 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').

Input parameters:

- `address` (string, required)

### `superfund_sites_by_state` (~195 tokens)

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).

Input parameters:

- `county`
- `limit` (integer)
- `state` (string, required)
- `status`

### `superfund_states_summary` (~67 tokens)

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.

### `flood_zone_lookup` (~254 tokens)

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' (the flood map or the address lookup 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).

Input parameters:

- `address` (string, required)

### `fair_market_rent_by_county` (~142 tokens)

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.

Input parameters:

- `county` (string, required)
- `state` (string, required)

### `fair_market_rent_by_zip` (~110 tokens)

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.

Input parameters:

- `zip_code` (string, required)

### `radon_lookup` (~223 tokens)

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 (laboratory test 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.

Input parameters:

- `address`
- `zip_code`

### `radon_by_county` (~150 tokens)

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 (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.

Input parameters:

- `county` (string, required)
- `state` (string, required)

### `radon_state_summary` (~91 tokens)

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.

Input parameters:

- `state` (string, required)

### `fault_lines_near_address` (~179 tokens)

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.

Input parameters:

- `address` (string, required)

### `power_lines_near_address` (~122 tokens)

High-voltage electric transmission lines (100 kV and above) near a US street address, from federal infrastructure
        data: 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.

Input parameters:

- `address` (string, required)

### `tax_appeal_deadlines` (~142 tokens)

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').

Input parameters:

- `place` (string)
- `township` (string)

### `check_tax_appeal_property` (~147 tokens)

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).

Input parameters:

- `address` (string, required)
- `parcel_id` (string)
- `place` (string, required)

### `order_tax_appeal_evidence` (~144 tokens)

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. $49 per pack. 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.

Input parameters:

- `address` (string, required)
- `email`
- `parcel_id` (string)
- `place` (string, required)

### `get_tax_appeal_evidence` (~70 tokens)

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.

Input parameters:

- `order_id` (string, required)

### `zoning_lookup` (~143 tokens)

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.

Input parameters:

- `address` (string, required)
- `place` (string, required)

### `recent_sales` (~137 tokens)

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).

Input parameters:

- `area` (string, required)
- `page` (integer)
- `zip_code` (string)

### `start_tax_sale_due_diligence` (~174 tokens)

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, capped per client.

Input parameters:

- `county` (string)
- `record_ids`
- `state` (string)

### `get_tax_sale_due_diligence` (~90 tokens)

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.

Input parameters:

- `job_id` (string, required)

### `usda_eligibility_lookup` (~180 tokens)

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. Locates the address, 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.

Input parameters:

- `address` (string, required)

### `census_tract_lookup` (~172 tokens)

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.

Input parameters:

- `address` (string, required)

### `opportunity_zone_lookup` (~187 tokens)

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.

Input parameters:

- `address` (string, required)

### `county_loan_limits` (~180 tokens)

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.

Input parameters:

- `county` (string, required)
- `state` (string, required)

### `national_loan_limits` (~67 tokens)

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.

### `property_history_lookup` (~337 tokens)

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
        first 5 without an account: `gated: true`, `wall.total` is the true count, `message` says how to unlock the rest), 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'.

Input parameters:

- `address` (string, required)
- `place` (string, required)

### `upcoming_auction_sales` (~156 tokens)

Upcoming tax sales and sheriff sales in the next 21 days in counties HeritageDeed title-searches, each with
        how many properties are listed and how many were already pre-checked with a title search: how many carry an
        open mortgage (on a mortgage foreclosure the loan being foreclosed is not counted), a second mortgage, a lien,
        a lis pendens, open code violations or a high risk score, and how many came back clear. Optional `state`
        (two-letter code or name). Counts only: no addresses or owners. The per-property results come with the
        county's auction pack (buy_county_list_pass, product 'auction_pack').

Input parameters:

- `state` (string)

### `auction_precheck_summary` (~123 tokens)

One county's upcoming tax or sheriff sales (next 21 days), per sale date: properties listed, pre-checked,
        and how many carry an open or second mortgage, a lien, a lis pendens, open code violations, a high risk score,
        or came back clear. `state`: two-letter code; `county`: county name ('Philadelphia', 'Harris', 'Montgomery').
        Counts only. Only counties HeritageDeed title-searches (list_coverage).

Input parameters:

- `county` (string, required)
- `state` (string, required)

### `buy_county_list_pass` (~226 tokens)

A checkout link for one county. product 'list_pass' (County List Pass, $19 one-time, 30 days): that county's
        full surplus funds and tax sale lists with the CSV. product 'auction_pack' ($149 one-time, 30 days, title-covered
        counties with an upcoming sale: upcoming_auction_sales): the pass plus every property of the county's upcoming
        sales pre-checked with a title search (open mortgages, liens, lis pendens, tax, violations) and its full report
        PDF. `state`: two-letter code; `county`: county name. No sign-in: give the user `checkout_url`; Creem asks for
        their email; after paying, the browser returns to the county list unlocked, and the purchase stays on the
        account of that email (sign in at /account with a code). Refunds: https://heritagedeed.com/refund-policy.

Input parameters:

- `county` (string, required)
- `product` (string)
- `state` (string, required)

### `buy_plan` (~196 tokens)

A checkout link for an account product. 'pro' (HeritageDeed Pro, $39 a month): every county's full surplus
        funds and tax sale lists with history and CSV, daily new-listing alerts, full lookup results. 'pro_reports'
        ($199 a month): Pro plus 10 title reports a month. 'api_credits' ($250 per pack of 10 title
        reports, `packs` 1-20): prepaid reports that do not expire. Monthly plans renew until cancelled on /account.
        Give the user `checkout_url`. Without an API key on the connection, Creem asks for their email and the plan
        or credits land on that email's account (they sign in at /account with a code). With an API key on the
        connection, they land on the key's account.

Input parameters:

- `packs` (integer)
- `product` (string, required)

### `my_account` (~83 tokens)

The HeritageDeed account behind the API key sent on this MCP connection (a Bearer token header with the
        hd_live_... key): report credits left (prepaid and Pro Reports allowance), current plans, Pro status. With a key,
        order_title_search pays from these credits instead of returning a checkout link. Without a key: how to add one.

### `surplus_funds_search` (~355 tokens)

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.

        Free preview: this tool returns the first 10 rows of each county's list (page_number above 1 is empty) with the
        county's true `total_rows`; the full list and the CSV open with a County List Pass ($19 one-time, 30 days, one
        county: buy_county_list_pass) or HeritageDeed Pro ($39 a month, every county: buy_plan); the `message` field says
        so. Summaries are complete.

Input parameters:

- `county`
- `min_amount`
- `page_number` (integer)
- `per_page` (integer)
- `sort` (string)
- `state` (string, required)

### `surplus_funds_summary` (~94 tokens)

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.

Input parameters:

- `state`

### `tax_sale_search` (~350 tokens)

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.

        Free preview: this tool returns the first 10 rows of each county's list (page_number above 1 is empty) with the
        county's true `total_rows`; the full list and the CSV open with a County List Pass ($19 one-time, 30 days, one
        county: buy_county_list_pass) or HeritageDeed Pro ($39 a month, every county: buy_plan); the `message` field says
        so. Summaries are complete.

Input parameters:

- `county`
- `page_number` (integer)
- `per_page` (integer)
- `sort` (string)
- `state` (string, required)

### `tax_sale_summary` (~99 tokens)

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.

Input parameters:

- `state`

### `property_tax_rate_by_county` (~104 tokens)

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").

Input parameters:

- `county` (string, required)
- `state` (string, required)

### `property_tax_rates_by_state` (~61 tokens)

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_tax_rate_by_zip` (~105 tokens)

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).

Input parameters:

- `home_value`
- `zip_code` (string, required)

### `property_watch_coverage` (~157 tokens)

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).

Input parameters:

- `county`
- `state`

### `create_property_watch` (~228 tokens)

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. Property Watch is $9.99 a month per property
        (cancel any time): a new watch answers with a checkout link and starts once it is paid.

Input parameters:

- `address` (string, required)
- `county` (string, required)
- `email` (string, required)
- `label`
- `state` (string, required)

### `list_property_watch_events` (~154 tokens)

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.

Input parameters:

- `access_key` (string, required)
- `watch_id`

### `list_products` (~77 tokens)

Every HeritageDeed product available through this server: the two reports (ordered with order_title_search),
    the passes and plans (County List Pass, auction pack, Pro, Pro Reports, API credits, Property Watch) with the tool
    that sells each, and every free lookup or calculator, with a one-line description and its tools.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-heritagedeed-title-search/mcp-public#diagnostics

## Score history

- 2026-11-05: 77
- 2026-11-04: 77
- 2026-11-03: 76
- 2026-11-02: 76
- 2026-11-01: 75
- 2026-10-31: 68
- 2026-10-30: 68
- 2026-10-29: 67
- 2026-10-28: 67
- 2026-10-27: 66
- 2026-10-26: 66
- 2026-10-25: 65
- 2026-10-24: 65
- 2026-10-23: 64
- 2026-10-22: 64
- 2026-10-21: 64
- 2026-10-20: 63
- 2026-10-19: 66
- 2026-10-18: 66
- 2026-10-17: 65
- 2026-10-16: 65
- 2026-10-15: 64
- 2026-10-14: 64
- 2026-10-13: 64
- 2026-10-12: 63
- 2026-10-10: 62
- 2026-10-09: 62

## Common questions

### What is the HeritageDeed Title Search and Property Data MCP server?

HeritageDeed Title Search and Property Data is an MCP server listed in the public MCP registry as com.heritagedeed/title-search. US title search, auction pre-checks, surplus and tax sale lists, free flood, radon and LLC lookups. This page covers its hosted endpoint (https://heritagedeed.com/mcp/public).

### Is the HeritageDeed Title Search and Property Data MCP server safe to use?

HeritageDeed Title Search and Property Data scores 77 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the HeritageDeed Title Search and Property Data MCP server expose?

HeritageDeed Title Search and Property Data exposes 58 tools: list_coverage, check_coverage, check_address, order_title_search, get_order_status, and 53 more. Their descriptions and schemas cost roughly 9,732 tokens of context every time the server is loaded.

### Does the HeritageDeed Title Search and Property Data MCP server require authentication?

No. We connected to HeritageDeed Title Search and Property Data without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the HeritageDeed Title Search and Property Data MCP server still maintained?

HeritageDeed Title Search and Property Data is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What did VerifyMCP test on the HeritageDeed Title Search and Property Data MCP server?

VerifyMCP ran 13 checks on HeritageDeed Title Search and Property Data, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- Remote endpoint: https://heritagedeed.com/mcp/public
- Website: https://heritagedeed.com/developers
- Changelog RSS feed: https://verifymcp.io/servers/com-heritagedeed-title-search/mcp-public.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-heritagedeed-title-search/mcp-public/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/com-heritagedeed-title-search/mcp-public.json
- HTML version of this page: https://verifymcp.io/servers/com-heritagedeed-title-search/mcp-public
