Hercules property data
REMOTE · APP.HERCULES.PROPERTIES
NYC and US property records: owners, LLC officers, mortgages, pre-foreclosures and investors.
Available components
Last scanned (9 hours ago)
Scores higher than 92% of remote servers
Reachable. Last reached 7 Nov 2026.
Category Finance and Payments
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. How we score → Why this is hard to score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- 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. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability70
- 78% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Partial
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 6763 tokens (~218/item across 31 items; 28 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage95
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 83% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 28 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
Checks we ran (14)
- TLS certificate
- Authorization
- HTTPS
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
- Capabilities
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 6 Nov 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 5 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Nov 26 +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.
- 1 Nov 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- 30 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Oct 26 +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.
- 25 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Oct 26 +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.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 7 Nov 2026 · Probed https://app.hercules.properties/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=app.hercules.properties | CN=WE1,O=Google Trust Services,C=US | 27 Sept 2026 | 27 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 84ac84f6913019cc13ab3f614144ef38 |
| SANs: app.hercules.properties | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of app.hercules.properties. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| properties. | DS published | 24565 | 8 | Verified |
| hercules.properties. | No DS | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://app.hercules.properties/mcp | Verified | 200 | |
| http (plaintext) | http://app.hercules.properties/mcp | HTTPS enforced | 301 | https://app.hercules.properties/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
buy_credits Buy credits with a machine payment ~306
Buy a credit pack with a machine payment (Stripe MPP: card through a shared payment token, or stablecoin). No account or sign-in needed. Packs: starter_80 = 80 credits for $9.99; pack_200 = 200 credits for $24.99; pack_550 = 550 credits for $59.99; pack_1500 = 1500 credits for $149.99. Pay by card (Stripe Link shared payment token, the default) or by stablecoin (USDC on Tempo): set method. The first call returns a payment challenge (JSON-RPC error -32042). Pay it and call again with the credential in _meta. With no API key, a new workspace is created and its API key is returned once: store it and send it as Authorization: Bearer <key>. With an API key or a signed-in account, the credits are added to that workspace. The first card or Link purchase from each payer gets 50% bonus credits.
| Name | Type | Req | Description |
|---|---|---|---|
| method | string | – | How to pay: card (Stripe Link shared payment token, the default) or stablecoin (USDC on Tempo). |
| pack | string | yes | Which pack to buy: starter_80 (80 credits, $9.99), pack_200 (200 credits, $24.99), pack_550 (550 credits, $59.99), pack_1500 (1500 credits, $149.99). |
| Name | Type | Req | Description |
|---|---|---|---|
| apiKey | – | yes | – |
| balance | – | yes | – |
| bonusCredits | number | yes | – |
| creditsAdded | number | yes | – |
| serverUrl | string | yes | – |
| status | string | yes | – |
No examples provided.
find_nyc_property Find an NYC property ~66
Free. Finds New York City tax lots by address, e.g. "40 Water Street Manhattan". Returns each match's BBL for get_nyc_property. NYC only; for other US properties use the national property tools.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | An NYC street address. |
| Name | Type | Req | Description |
|---|---|---|---|
| results | array | yes | – |
No examples provided.
get_credit_balance Get credit balance ~53
Shows the credit balance of the user's workspace, credits spent today, and recent charges. Free; never spends credits. Use it when the user asks about credits, or before a search that would cost more than the balance.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| balance | number | yes | – |
| recentCharges | array | yes | – |
| spentToday | number | yes | – |
No examples provided.
get_hercules_overview Get the Hercules overview ~83
Free, no sign-in. Describes Hercules: what it covers (every NYC tax lot, NYC pre-foreclosures, nationwide US property records, LLC owners and investors), every tool and whether it spends credits, plan and credit prices, and how to connect an account. Call it first when the user asks what Hercules can do or what it costs.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| coverage | array | yes | – |
| creditPacks | array | yes | – |
| links | object | yes | – |
| plans | array | yes | – |
| serverUrl | string | yes | – |
| tools | array | yes | – |
No examples provided.
get_nyc_owner_portfolio Get an NYC owner's buildings ~74
Free. Lists the NYC buildings linked to a person from search_nyc_owners, and whether each is held as the owner of record or through a company. The full list is on the Platinum plan; other plans see the first few buildings.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | – | – | – |
| personKey | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| buildings | array | yes | – |
| full | boolean | yes | – |
| nextCursor | – | yes | – |
| total | integer | yes | – |
No examples provided.
get_nyc_preforeclosure_detail Get NYC preforeclosure record ~111
Spends 1 credit, unless this workspace already pulled the record, then free. Returns the full record for one NYC preforeclosure: case and index number, stage, lender, amounts owed and due, mortgage, owner of record and building facts. NYC preforeclosures only; take the id from search_nyc_preforeclosures. Tell the user it costs 1 credit before calling.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The id of a row from search_nyc_preforeclosures. |
| Name | Type | Req | Description |
|---|---|---|---|
| alreadyOwned | boolean | yes | – |
| balance | number | yes | – |
| creditsCharged | number | yes | – |
| property | object | yes | – |
No examples provided.
get_nyc_property Get an NYC property ~118
Free. Returns the public facts for one NYC lot (building, lot, units, year built, last sale) and the owner of record from the city lot file. Also says whether the full report is already unlocked for this workspace and what unlock_nyc_property_report and unlock_nyc_owner_contacts cost. When the report is already unlocked it is returned in full.
| Name | Type | Req | Description |
|---|---|---|---|
| bbl | string | yes | The 10-digit NYC borough-block-lot id, e.g. "1000300034". Get it from find_nyc_property. |
| Name | Type | Req | Description |
|---|---|---|---|
| balance | number | yes | – |
| contactsPrice | number | yes | – |
| contactsState | string | yes | – |
| facts | object | yes | – |
| recordOwner | – | yes | – |
| report | – | yes | – |
| reportPrice | number | yes | – |
| reportUnlocked | boolean | yes | – |
No examples provided.
get_nyc_unit Get one NYC condo unit or co-op apartment ~152
Free. Reads one unit inside an NYC building: a condominium unit (its own tax lot) or a co-op apartment (shares, valued here by an estimate from recent sales in its line). Pass the building lot from find_nyc_property and the unit as the person wrote it, e.g. "14E", "Apt 1C" or "#PH-A". Use it whenever the person names a unit, apartment or penthouse; the building lot alone describes the whole building, not the unit.
| Name | Type | Req | Description |
|---|---|---|---|
| bbl | string | yes | The building's 10-digit lot (BBL) from find_nyc_property. |
| unit | string | – | Leave out to list the building's units. |
| Name | Type | Req | Description |
|---|---|---|---|
| found | boolean | yes | – |
| knownUnits | array | yes | – |
| unit | – | yes | – |
No examples provided.
get_property_detail Get a property record ~148
Spends 2 credits, unless this workspace pulled the same property in the last 7 days, then free. Returns the full record for one property from a national search: owners of record, building and lot, value and equity, open mortgages and lenders, foreclosure filings and last sale. Take property_id (it starts with "prop_") from run_national_property_search or run_active_investor_search. Tell the user it costs 2 credits and get their go-ahead before calling. For NYC preforeclosures use get_nyc_preforeclosure_detail instead.
| Name | Type | Req | Description |
|---|---|---|---|
| property_id | string | yes | A property id from a national search result, e.g. prop_123456. |
| Name | Type | Req | Description |
|---|---|---|---|
| absenteeOwner | – | yes | – |
| address | – | yes | – |
| alreadyOwned | boolean | yes | – |
| apn | – | yes | – |
| balance | number | yes | – |
| bathrooms | – | yes | – |
| bedrooms | – | yes | – |
| creditsCharged | number | yes | – |
| equityPercent | – | yes | – |
| estimatedEquity | – | yes | – |
| estimatedValue | – | yes | – |
| foreclosures | array | yes | – |
| highEquity | – | yes | – |
| id | string | yes | – |
| lastSaleAmount | – | yes | – |
| lastSaleDate | – | yes | – |
| livingSquareFeet | – | yes | – |
| lotSquareFeet | – | yes | – |
| mailingAddress | – | yes | – |
| mortgages | array | yes | – |
| openMortgageBalance | – | yes | – |
| ownerOccupied | – | yes | – |
| owners | array | yes | – |
| preForeclosure | – | yes | – |
| propertyUse | – | yes | – |
| vacant | – | yes | – |
| yearBuilt | – | yes | – |
| zoning | – | yes | – |
No examples provided.
quote_active_investor_search Quote an active investor search ~535
Finds who is actively buying in an area: properties in a zip, city or county owned by investors, grouped by owner when run. By default it looks for owners of 2+ properties who bought in this area in the last 12 months. Options: minPurchasesLast12Months keeps owners who bought at least N properties in the last 12 months. That count covers the owner's whole portfolio, not only this area, so it is the closest available measure of 'bought N+ here'; boughtWithinMonths keeps it to owners who bought here recently. corporateOnly keeps companies and LLCs. cashInvestorOnly keeps properties bought with cash by an absentee investor. outOfStateOnly keeps owners who live in another state. Each property record costs credits, the same as a national property search. Never spends credits: it counts the matches and prices one batch. Always quote first. Then tell the user the credit cost, the batch size and their balance after. Records this workspace already pulled in the last 24 hours are free. For large searches, prefer a smaller batch (limit) or narrower filters, such as a zip instead of a county. One run returns at most 250 records; page with offset. Quotes expire after 10 minutes. Call run_active_investor_search with the quote_id only after the user agrees to the credit cost.
| Name | Type | Req | Description |
|---|---|---|---|
| boughtWithinMonths | – | – | Only properties in this area bought in the last N months. Default 12. Null means any time. |
| cashInvestorOnly | boolean | – | Only properties bought with cash by an absentee investor. |
| city | – | – | City name. |
| corporateOnly | boolean | – | Only companies and LLCs. |
| county | – | – | County name, without the word County. |
| limit | – | – | Records to price in this batch (max 250). Leave empty to let the quote pick a safe batch size. |
| minPropertiesOwned | – | – | Only owners with at least this many properties. Default 2. |
| minPurchasesLast12Months | – | – | Only owners who bought at least this many properties in the last 12 months, counted across their whole portfolio. |
| offset | integer | – | Skip this many matches. Use it to quote the next page. |
| outOfStateOnly | boolean | – | Only owners whose mailing address is in another state. |
| propertyType | – | – | SFR single family, MFR multifamily, CONDO, LAND, MOBILE or OTHER. |
| state | string | yes | Two-letter state code, e.g. TX. Required. |
| zip | – | – | Five-digit zip code. The narrowest and cheapest place filter. |
| Name | Type | Req | Description |
|---|---|---|---|
| affordable | boolean | yes | – |
| balance | integer | yes | – |
| balanceAfter | integer | yes | – |
| credits | integer | yes | – |
| expiresAt | string | yes | – |
| freeSample | boolean | – | – |
| offset | integer | yes | – |
| ownedInBatch | integer | yes | – |
| quoteId | string | yes | – |
| recommendation | string | yes | – |
| recordsInBatch | integer | yes | – |
| runTool | string | yes | – |
| suggestions | array | yes | – |
| totalMatches | integer | yes | – |
No examples provided.
quote_investor_firm_search Quote an investor firm search ~279
Use to find real estate investor and lender firms in a state or city: hard-money lenders, private money lenders, note buyers, fix-and-flip investors, investment funds, cash home buyers and wholesalers. Returns firms with business phones, business emails, website and key people (name and title only). Free: this tool only returns a quote and never spends credits. The quote states the cost per firm returned; firms not found cost nothing. Tell the user the cost and ask. Only after the user agrees, call run_investor_firm_search with the quote_id. To find who is actively buying properties in an area, use quote_active_investor_search instead.
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | – | City to search in. Leave out to search the whole state. |
| investorType | string | yes | The kind of firm: hard_money_lender (hard-money lenders), private_lender (private money lenders), note_buyer (mortgage note buyers), fix_and_flip (fix-and-flip investors), real_estate_fund (real esta… |
| maxResults | integer | – | Most firms to return, 1-25. Default 10. |
| state | string | yes | Two-letter US state, e.g. TX. |
| Name | Type | Req | Description |
|---|---|---|---|
| affordable | boolean | yes | – |
| alreadyOwned | boolean | yes | – |
| balance | number | yes | – |
| balanceAfter | number | yes | – |
| coverage | – | yes | – |
| coverageNote | – | yes | – |
| credits | number | yes | – |
| creditsPerResult | number | yes | – |
| expiresAt | string | yes | – |
| kind | string | yes | – |
| maxResults | number | yes | – |
| quoteId | string | yes | – |
| runTool | string | yes | – |
No examples provided.
quote_llc_owner_lookup Quote an LLC owner lookup ~192
Use to find who is behind an LLC or company, for example the LLC that owns a property: its officers or managers, registered agent and formation details from public business records. Free: this tool only returns a quote and never spends credits. The quote states the credit cost (charged only if the company is found) and what that state's public records show; some states list the company but not its officers. Tell the user the cost and that note, and ask. Only after the user agrees, call run_llc_owner_lookup with the quote_id. Pass the company's exact registered name and the state where it is registered.
| Name | Type | Req | Description |
|---|---|---|---|
| entityName | string | yes | The company's registered name, as on the deed or tax record, e.g. "Sunrise Holdings LLC". |
| state | string | yes | Two-letter US state where the company is registered, e.g. FL. Often the state of the property. |
| Name | Type | Req | Description |
|---|---|---|---|
| affordable | boolean | yes | – |
| alreadyOwned | boolean | yes | – |
| balance | number | yes | – |
| balanceAfter | number | yes | – |
| coverage | – | yes | – |
| coverageNote | – | yes | – |
| credits | number | yes | – |
| creditsPerResult | number | yes | – |
| expiresAt | string | yes | – |
| kind | string | yes | – |
| maxResults | number | yes | – |
| quoteId | string | yes | – |
| runTool | string | yes | – |
No examples provided.
quote_national_property_search Quote a national property search ~571
Quotes a search of national property data: any US property, including NYC properties that are not in preforeclosure. Filters: place (state plus zip, city or county), property type, beds, baths, value, equity, year built, distress flags (preforeclosure, foreclosure, auction, bank-owned, vacant, absentee owner, high equity, free and clear, inherited) and owner filters (company-owned, out-of-state owner, cash buyer, owners of N+ properties, last sale dates). Never spends credits: it counts the matches and prices one batch. Always quote first. Then tell the user the credit cost, the batch size and their balance after. Records this workspace already pulled in the last 24 hours are free. For large searches, prefer a smaller batch (limit) or narrower filters, such as a zip instead of a county. One run returns at most 250 records; page with offset. Quotes expire after 10 minutes. Call run_national_property_search with the quote_id only after the user agrees to the credit cost.
| Name | Type | Req | Description |
|---|---|---|---|
| bathsMin | – | – | – |
| bedsMin | – | – | – |
| cashBuyer | boolean | – | Only properties bought with cash. |
| city | – | – | City name. |
| corporateOwned | boolean | – | Only properties owned by a company or LLC. |
| county | – | – | County name, without the word County. |
| equityPercentMin | – | – | Minimum estimated equity, in percent. |
| flags | array | – | Only properties with all of these: pre_foreclosure, foreclosure, auction, reo (bank-owned), vacant, absentee_owner, high_equity, free_clear (no mortgage), inherited, death (owner deceased, a probate… |
| lastSoldAfter | – | – | Last sale on or after this date. |
| lastSoldBefore | – | – | Last sale on or before this date. |
| limit | – | – | Records to price in this batch (max 250). Leave empty to let the quote pick a safe batch size. |
| offset | integer | – | Skip this many matches. Use it to quote the next page. |
| outOfStateOwner | boolean | – | Only owners whose mailing address is in another state. |
| ownerPropertiesMin | – | – | Only owners who own at least this many properties. |
| propertyType | – | – | SFR single family, MFR multifamily, CONDO, LAND, MOBILE or OTHER. |
| state | string | yes | Two-letter state code, e.g. TX. Required. |
| valueMax | – | – | – |
| valueMin | – | – | – |
| yearBuiltMax | – | – | – |
| yearBuiltMin | – | – | – |
| zip | – | – | Five-digit zip code. The narrowest and cheapest place filter. |
| Name | Type | Req | Description |
|---|---|---|---|
| affordable | boolean | yes | – |
| balance | integer | yes | – |
| balanceAfter | integer | yes | – |
| credits | integer | yes | – |
| expiresAt | string | yes | – |
| freeSample | boolean | – | – |
| offset | integer | yes | – |
| ownedInBatch | integer | yes | – |
| quoteId | string | yes | – |
| recommendation | string | yes | – |
| recordsInBatch | integer | yes | – |
| runTool | string | yes | – |
| suggestions | array | yes | – |
| totalMatches | integer | yes | – |
No examples provided.
run_active_investor_search Run a quoted active investor search ~116
Returns the investors and their properties from a quote made by quote_active_investor_search, grouped by owner with portfolio size and purchases in the last 12 months. Spends credits. Takes only a quote_id. Charges for the records returned, never more than the quote, and releases the rest. Before calling, the user must have agreed to the quoted credit cost. A quote runs once and expires after 10 minutes.
| Name | Type | Req | Description |
|---|---|---|---|
| quote_id | string | yes | The quoteId returned by quote_active_investor_search. |
| Name | Type | Req | Description |
|---|---|---|---|
| balance | number | yes | – |
| charged | number | yes | – |
| investors | array | yes | – |
| quoteId | string | yes | – |
| released | number | yes | – |
| rows | array | yes | – |
No examples provided.
run_investor_firm_search Run an investor firm search ~107
Spends credits. Runs a quote from quote_investor_firm_search and returns the firms with business phones, business emails, website and key people (name and title only). Charges per firm returned, never more than the quote. No firms found costs nothing. Call only after the user agreed to the quoted cost. A quote runs once and expires after 10 minutes.
| Name | Type | Req | Description |
|---|---|---|---|
| quote_id | string | yes | The quoteId from quote_investor_firm_search. |
| Name | Type | Req | Description |
|---|---|---|---|
| alreadyOwned | boolean | yes | – |
| balance | number | yes | – |
| creditsCharged | number | yes | – |
| firms | array | yes | – |
| quoteId | string | yes | – |
No examples provided.
run_llc_owner_lookup Run an LLC owner lookup ~100
Spends credits. Runs a quote from quote_llc_owner_lookup and returns the company's officers or managers, registered agent and formation details. Charges only if the company is found, never more than the quote. A company that is not found costs nothing. Call only after the user agreed to the quoted cost. A quote runs once and expires after 10 minutes.
| Name | Type | Req | Description |
|---|---|---|---|
| quote_id | string | yes | The quoteId from quote_llc_owner_lookup. |
| Name | Type | Req | Description |
|---|---|---|---|
| alreadyOwned | boolean | yes | – |
| balance | number | yes | – |
| company | – | yes | – |
| creditsCharged | number | yes | – |
| quoteId | string | yes | – |
No examples provided.
run_national_property_search Run a quoted national property search ~109
Returns the property records from a quote made by quote_national_property_search. Spends credits. Takes only a quote_id. Charges for the records returned, never more than the quote, and releases the rest. Before calling, the user must have agreed to the quoted credit cost. A quote runs once and expires after 10 minutes. Use get_property_detail on a record id for the full record.
| Name | Type | Req | Description |
|---|---|---|---|
| quote_id | string | yes | The quoteId returned by quote_national_property_search. |
| Name | Type | Req | Description |
|---|---|---|---|
| balance | number | yes | – |
| charged | number | yes | – |
| quoteId | string | yes | – |
| released | number | yes | – |
| rows | array | yes | – |
No examples provided.
run_nyc_preforeclosure_search Get quoted NYC preforeclosure rows ~91
Spends credits. Returns the NYC preforeclosure rows from a quote made by search_nyc_preforeclosures and charges the quoted credits (never more). Before calling, tell the user how many credits it costs and get their go-ahead. Quotes expire after 10 minutes and run once.
| Name | Type | Req | Description |
|---|---|---|---|
| quote_id | string | yes | The quote.quoteId from search_nyc_preforeclosures. |
| Name | Type | Req | Description |
|---|---|---|---|
| balance | number | yes | – |
| creditsCharged | number | yes | – |
| offset | number | yes | – |
| quoteId | string | yes | – |
| rows | array | yes | – |
| totalMatches | number | yes | – |
No examples provided.
run_nyc_signals_search Get quoted NYC signal rows ~86
Spends credits. Returns the NYC signal rows from a quote made by search_nyc_signals and charges the quoted credits (never more). Before calling, tell the user how many credits it costs and get their go-ahead. Quotes expire after 10 minutes and run once.
| Name | Type | Req | Description |
|---|---|---|---|
| quote_id | string | yes | The quote.quoteId from search_nyc_signals. |
| Name | Type | Req | Description |
|---|---|---|---|
| balance | number | yes | – |
| creditsCharged | number | yes | – |
| offset | number | yes | – |
| possibleIsEstimate | boolean | yes | – |
| quoteId | string | yes | – |
| rows | array | yes | – |
| totalMatches | number | yes | – |
No examples provided.
run_nyc_underused_search Get quoted NYC underused buildings ~90
Spends credits. Returns the NYC underused-building rows from a quote made by search_nyc_underused_properties and charges the quoted credits (never more). Before calling, tell the user how many credits it costs and get their go-ahead. Quotes expire after 10 minutes and run once.
| Name | Type | Req | Description |
|---|---|---|---|
| quote_id | string | yes | The quote.quoteId from search_nyc_underused_properties. |
| Name | Type | Req | Description |
|---|---|---|---|
| balance | number | yes | – |
| creditsCharged | number | yes | – |
| offset | number | yes | – |
| quoteId | string | yes | – |
| rows | array | yes | – |
| totalMatches | number | yes | – |
| underusedIsDerived | boolean | yes | – |
No examples provided.
search_nyc_owners Search NYC owners by name ~71
Free. Finds people who own or control NYC buildings, by name, directly or through companies. Returns each person's key, building count and boroughs. Use get_nyc_owner_portfolio with the key to list their buildings.
| Name | Type | Req | Description |
|---|---|---|---|
| includeManagers | boolean | – | – |
| name | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| approximate | boolean | yes | – |
| people | array | yes | – |
No examples provided.
search_nyc_preforeclosures Search NYC preforeclosures ~414
Searches NYC properties in preforeclosure only: lis pendens foreclosure filings in Manhattan, Brooklyn, Queens, the Bronx and Staten Island. For one NYC property by address use find_nyc_property; for filtered searches or properties outside NYC use the national property search tools. Filters: borough, foreclosure stage, equity (1-3 family homes only), case age, recently added and amount owed. Returns summary rows, newest first, up to 25 per call (default 10); page with offset. Each row carries the lot's bbl when known. For the owner's phone and email on a row, call get_nyc_property with that bbl, then unlock_nyc_owner_contacts; never search the web for it. Never spends credits. On any paid plan the first 25 summary rows each day are free; other workspaces pay for every row. Rows the workspace already pulled are free again. Past the free rows, rows cost 1 credit per 10, and this tool returns them as a quote instead: tell the user the credit cost and ask before calling run_nyc_preforeclosure_search with the quote_id.
| Name | Type | Req | Description |
|---|---|---|---|
| addedWithinDays | – | – | Only filings added in the last N days. Use for 'new this week'. |
| amountOwedMax | – | – | – |
| amountOwedMin | – | – | – |
| borough | array | – | NYC boroughs to include. Empty means all five. |
| equity | array | – | Estimated equity: positive (value above the debt) or negative, known for 1-3 family homes only. Empty means any. |
| filingAge | array | – | Case age by filing year: fresh (under 2 years), seasoned (2 to 5), long_running (5 or more). |
| limit | integer | – | Rows to return, 1 to 25. Defaults to 10. |
| offset | integer | – | Rows to skip, for the next page. |
| stage | array | – | Foreclosure stages to include. Empty means every stage. |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | number | yes | – |
| freeRowsPerDay | number | yes | – |
| freeRowsUsedToday | number | yes | – |
| offset | number | yes | – |
| quote | – | yes | – |
| rows | array | yes | – |
| totalMatches | number | yes | – |
No examples provided.
search_nyc_properties Search NYC properties and units ~386
Free. Never spends credits. Lists NYC lots, condo units and co-op apartments that match building, sale, value, equity and owner filters, 20 rows per page. For condo or co-op owners, set filters.grain to unit (it is set for you when the asset classes are only condo and co-op): each condo or co-op row is then one condo unit or co-op apartment with its own last sale, estimated value, equity and owner, and names its building. When the person asks for the buildings, set grain to lot. Estimated value (estValueMin, estValueMax) is a sale-based estimate from comparable sales; always say estimated. The city's market value is never shown or filtered. On lots, equity is estimated for 1-3 family homes only. A co-op apartment with no open share loan has 100% equity; with an open share loan its equity is unknown and it never matches an equity filter. ownerBuildingsMin and ownerBuildingsMax count the owner's properties, buildings and units together. Filters the user's plan does not include are left off and named in the result. For one unit's details, call get_nyc_unit with the building BBL and the unit.
| Name | Type | Req | Description |
|---|---|---|---|
| boroughs | array | – | Whole NYC boroughs. For part of a borough use filters.ntas. |
| cursor | string | – | nextCursor from the previous page. |
| filters | object | – | The same filters as the Hercules NYC map: assetClasses (condo, coop, one_two_family and more), sale price and dates, estValueMin and estValueMax, equityPctMin, ownerBuildingsMin and ownerBuildingsMax… |
| zips | array | – | NYC ZIP codes the person named. |
| Name | Type | Req | Description |
|---|---|---|---|
| grain | string | yes | – |
| leftOff | array | yes | – |
| nextCursor | – | yes | – |
| rows | array | yes | – |
| total | integer | yes | – |
| totalCapped | boolean | yes | – |
No examples provided.
search_nyc_signals Search NYC property signals ~823
Lists NYC lots that carry one or more property signals: reasons a deal can happen, such as a loan coming due, an old mortgage not refinanced, a long-time owner, an absentee or company owner, a foreclosure case, the tax lien sale list, open code violations, a vacate order, unused air rights, a teardown lot or a rezoning. Use it for asks like these, with these keys: loans coming due or maturing: loan_maturing; old mortgage, not refinanced: aging_mortgage; long holds or long-time owners: long_hold; likely or motivated sellers: long_hold, absentee_owner, serial_seller, value_below_loan; tired landlords or distressed owners: code_violations, hpd_litigation, tax_lien, vacate_order; underwater or over-leveraged: value_below_loan; free and clear, no mortgage: no_recorded_debt; development sites or air rights: underbuilt, teardown, vacant_land, assemblage; new construction or rezonings: new_building_permit, rezoning_filed, entitled_not_built; recent sales or active buyers: just_sold, serial_buyer. Narrow by boroughs, ZIP codes, neighborhoods (ntas) and building types. Each row gives the BBL, address, owner of record and every signal on the lot with its date. Signals marked likely are estimates; say likely when you repeat them. The result also counts lots per signal in the area. Never spends credits. On any paid plan the first 25 rows each day are free; other workspaces pay for every row. Rows already pulled are free again. Past the free rows, rows cost 1 credit per row, and this tool returns them as a quote: tell the user the credit cost and ask before calling run_nyc_signals_search with the quote_id. No contacts in the result: use unlock_nyc_property_report and then unlock_nyc_owner_contacts on a BBL for the owner's phones and emails. Up to 50 rows per call (default 25), newest signal first; page with offset.
| Name | Type | Req | Description |
|---|---|---|---|
| asset_classes | array | – | Building types, for example multifamily_walkup, multifamily_elevator, mixed_use, office, retail, one_two_family, condo, coop. |
| boroughs | array | – | Whole NYC boroughs. All five when omitted. |
| limit | integer | – | – |
| match | string | – | any keeps lots with at least one of the signals; all keeps lots with every one. |
| ntas | array | – | 2020 neighborhood codes from find_nyc_area, for example BK0102 Williamsburg. Use them whenever the person names a neighborhood. |
| offset | integer | – | – |
| signals | array | yes | One or more signal keys: long_hold, absentee_owner, entity_owner, portfolio_owner, just_sold, serial_buyer, serial_seller, recorded_mortgage, no_recorded_debt, aging_mortgage, value_below_loan, forec… |
| zips | array | – | NYC ZIP codes. Boroughs, ZIPs and ntas combine as any of them. |
| Name | Type | Req | Description |
|---|---|---|---|
| counts | array | yes | – |
| creditsCharged | number | yes | – |
| freeRowsPerDay | number | yes | – |
| freeRowsUsedToday | number | yes | – |
| notYetBuilt | array | yes | – |
| offset | number | yes | – |
| possibleIsEstimate | boolean | yes | – |
| quote | – | yes | – |
| rows | array | yes | – |
| totalMatches | number | yes | – |
No examples provided.
search_nyc_underused_properties Search NYC underused buildings ~509
Lists NYC buildings with unused or vacant space: office buildings, school buildings and religious property (churches, convents, synagogues) in any of the five boroughs. A building is flagged when its owner reports it half occupied or less, half or more of its storefronts are reported vacant, it is listed for lease, a city order to vacate it is in force, or it is a school building with no school registered in it. Buildings listed for sale are returned too. Each row gives the BBL, address, owner of record, building size and every figure behind the flag, marked owner-reported, seen or inferred, with its date. The underused flag itself is derived. Never spends credits. On any paid plan the first 25 rows each day are free; other workspaces pay for every row. Rows already pulled are free again. Past the free rows, rows cost 1 credit per row, and this tool returns them as a quote: tell the user the credit cost and ask before calling run_nyc_underused_search with the quote_id. No contacts in the result: use unlock_nyc_property_report and then unlock_nyc_owner_contacts on a BBL for the owner's phones and emails. Up to 50 rows per call (default 25), largest buildings first; page with offset.
| Name | Type | Req | Description |
|---|---|---|---|
| borough | string | – | One NYC borough. All five when omitted. |
| limit | integer | – | – |
| min_building_sqft | integer | – | Smallest building area in square feet. |
| ntas | array | – | 2020 neighborhood codes from find_nyc_area, for example MN0801 Upper East Side-Lenox Hill-Roosevelt Island. Use them whenever the person names a neighborhood, so rows outside it are never quoted. |
| offset | integer | – | – |
| reason | string | – | Keep only buildings with this signal: low_occupancy (owner reports half or less occupied), vacant_storefronts (half or more vacant), for_lease, for_sale, vacate_order (a city order to vacate still in… |
| use | string | – | office (office buildings), school (school buildings) or religious (churches, convents, synagogues and other property of religious owners). Every use when omitted. |
| zips | array | – | NYC ZIP codes. Combined with ntas as any of those places. |
| Name | Type | Req | Description |
|---|---|---|---|
| creditsCharged | number | yes | – |
| freeRowsPerDay | number | yes | – |
| freeRowsUsedToday | number | yes | – |
| offset | number | yes | – |
| quote | – | yes | – |
| rows | array | yes | – |
| totalMatches | number | yes | – |
| underusedIsDerived | boolean | yes | – |
No examples provided.
top_up_credits Top up credits on the saved card ~186
Buys a credit pack on the workspace's saved card, the card it already paid Hercules with. There is no checkout page. Packs: 200 credits for $24.99; 550 credits for $59.99; 1500 credits for $149.99. Before you call it, confirm the pack and the price with the user, unless the user already told you to top up or to keep credits topped up. It charges only when an owner or admin allowed AI top-ups, and only up to the workspace's monthly cap. When AI top-ups are not allowed yet, it charges nothing and returns a one-click approval link for the user. When no card is saved, it charges nothing and returns a link where the user can buy the pack once.
| Name | Type | Req | Description |
|---|---|---|---|
| credits | integer | yes | How many credits to buy. Must be one of the credit pack sizes. |
| Name | Type | Req | Description |
|---|---|---|---|
| amountCents | number | yes | – |
| approvalUrl | – | yes | – |
| balance | – | yes | – |
| credits | number | yes | – |
| currency | string | yes | – |
| expiresAt | – | yes | – |
| monthlyCapCents | number | yes | – |
| spentThisMonthCents | – | yes | – |
| status | string | yes | – |
No examples provided.
unlock_nyc_owner_contacts Unlock NYC owner contacts ~334
Spends credits: the contacts price from get_nyc_property (usually 3 credits). Takes only the lot's BBL, including a condo unit's BBL from get_nyc_unit; for a unit whose report is locked it first unlocks the unit report (its report price, usually 1 credit), so quote both. Returns how to reach the party in control of that lot: a name, phone numbers (with line type and do-not-call flag) and email addresses, the contact's role (owner, principal, permit filer, owner's representative or office line), the date the contact was found and the newest recorded deed, lease or transfer. When a recorded deed, lease or transfer names a newer party than the city tax roll, that party is the one looked up. Needs the full report unlocked first (unlock_nyc_property_report). Free if already unlocked for this workspace. Credits are charged when a contact is returned, whatever its role; a miss costs nothing. When an unlocked contact is marked stale (a deed, lease or transfer was recorded after it was found, or it is old), call again with refresh: true to look it up again at the normal price; without refresh a repeat call is always free. Tell the user the cost and get their go-ahead before calling.
| Name | Type | Req | Description |
|---|---|---|---|
| bbl | string | yes | The 10-digit NYC borough-block-lot id, e.g. "1000300034". Get it from find_nyc_property. |
| refresh | boolean | – | Look a stale unlocked contact up again at the normal price. Ignored unless the contact is stale. |
| Name | Type | Req | Description |
|---|---|---|---|
| balance | number | yes | – |
| bbl | string | yes | – |
| creditsCharged | number | yes | – |
| emails | array | yes | – |
| foundAt | – | yes | – |
| ownership | – | yes | – |
| person | – | yes | – |
| phones | array | yes | – |
| stale | boolean | yes | – |
| state | string | yes | – |
No examples provided.
unlock_nyc_property_report Unlock an NYC property report ~150
Spends credits: the report price from get_nyc_property (usually 1 credit). Free if this workspace unlocked the same lot in the last year. Returns the full NYC property report: owners and mailing address, deed and mortgage history, sales, DOB permits, HPD/DOB/ECB violations, tax bills and assessments, zoning and FAR with unused air rights, HPD registration contacts, pre-foreclosure case and tax-lien flags. Tell the user the cost and get their go-ahead before calling.
| Name | Type | Req | Description |
|---|---|---|---|
| bbl | string | yes | The 10-digit NYC borough-block-lot id, e.g. "1000300034". Get it from find_nyc_property. |
| Name | Type | Req | Description |
|---|---|---|---|
| balance | number | yes | – |
| creditsCharged | number | yes | – |
| facts | object | yes | – |
| report | – | yes | – |
No examples provided.
How do I install the Hercules property data MCP server?
Hercules property data is a hosted endpoint at https://app.hercules.properties/mcp, 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.
remote · app.hercules.properties
claude mcp add --transport http properties-hercules-property-data 'https://app.hercules.properties/mcp'
What is the Hercules property data MCP server?
Hercules property data is an MCP server listed in the public MCP registry as properties.hercules/property-data. NYC and US property records: owners, LLC officers, mortgages, pre-foreclosures and investors. This page covers its hosted endpoint (https://app.hercules.properties/mcp).
Is the Hercules property data MCP server safe to use?
Hercules property data scores 86 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 Hercules property data MCP server expose?
Hercules property data exposes 28 tools: get_hercules_overview, buy_credits, get_credit_balance, search_nyc_preforeclosures, run_nyc_preforeclosure_search, and 23 more. Their descriptions and schemas cost roughly 6,260 tokens of context every time the server is loaded.
Does the Hercules property data MCP server require authentication?
No. We connected to Hercules property data without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Hercules property data MCP server still maintained?
Hercules property data is still listed as active in the MCP registry. We last reached this channel on 7 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 Hercules property data MCP server?
VerifyMCP ran 14 checks on Hercules property data, covering TLS certificate, Authorization, HTTPS, HSTS header and 10 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.