DFX Real Estate Intelligence
REMOTE · EXCHANGE-PRODUCTION-9123.UP.RAILWAY.APP · SCANNED SEP 20
Free, no key. US commercial real estate: FHA/CMBS maturities, LIHTC/HUD expiries, bank CRE exposure.
Available components
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 Security74
- 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. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- 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 Usability61
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 25021 tokens (~301/item across 83 items; 83 tools + 0 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 Management67
- Stability observed for 20 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage84
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 51% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 83 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 84 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
How do I install the DFX Real Estate Intelligence MCP server?
DFX Real Estate Intelligence is a hosted endpoint at https://exchange-production-9123.up.railway.app/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 · exchange-production-9123.up.railway.app
claude mcp add --transport http capital-w-holdings-us-property-parcel-real-estat 'https://exchange-production-9123.up.railway.app/mcp'
{
"mcpServers": {
"capital-w-holdings-us-property-parcel-real-estat": {
"url": "https://exchange-production-9123.up.railway.app/mcp"
}
}
} {
"servers": {
"capital-w-holdings-us-property-parcel-real-estat": {
"type": "http",
"url": "https://exchange-production-9123.up.railway.app/mcp"
}
}
} [mcp_servers.capital-w-holdings-us-property-parcel-real-estat] url = "https://exchange-production-9123.up.railway.app/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"capital-w-holdings-us-property-parcel-real-estat": {
"type": "remote",
"url": "https://exchange-production-9123.up.railway.app/mcp",
"enabled": true
}
}
} openclaw mcp add capital-w-holdings-us-property-parcel-real-estat --url 'https://exchange-production-9123.up.railway.app/mcp' --transport streamable-http
mcp_servers:
capital-w-holdings-us-property-parcel-real-estat:
url: "https://exchange-production-9123.up.railway.app/mcp" {
"McpServers": {
"capital-w-holdings-us-property-parcel-real-estat": {
"Transport": "http",
"Url": "https://exchange-production-9123.up.railway.app/mcp"
}
}
} assistant mcp add capital-w-holdings-us-property-parcel-real-estat -t streamable-http -u 'https://exchange-production-9123.up.railway.app/mcp'
{
"mcpServers": {
"capital-w-holdings-us-property-parcel-real-estat": {
"type": "http",
"url": "https://exchange-production-9123.up.railway.app/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
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.
- 20 Sept 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “search_property_events” rewrote its description, which is the text the model reads security
- “search_property_events” reworded the description of “within_days” cosmetic
- 19 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “resolve_name” rewrote its description, which is the text the model reads security
- Tool “search_people” rewrote its description, which is the text the model reads security
- Tool “search_property_events” rewrote its description, which is the text the model reads security
- Tool coverage: 57% → 51% ▼ functional
- Schema quality: 13944 → 25021 ▼ functional
- New tool “get_allocator” functional
- New tool “get_bdc_portfolio” functional
- New tool “get_borrower_capital_structure” functional
- New tool “get_borrower_facilities” functional
- New tool “get_capital_paths” functional
- New tool “get_commitments” functional
- New tool “get_credit_facility” functional
- New tool “get_credit_provider” functional
- New tool “get_re_fund_manager” functional
- New tool “get_re_fund_trends” functional
- New tool “get_re_fund_vehicle” functional
- New tool “get_ria_advisor” functional
- New tool “get_ria_capital_links” functional
- New tool “get_ria_firm” functional
- New tool “get_ria_practice” functional
- New tool “get_ria_trends” functional
- New tool “get_sponsor_lenders” functional
- New tool “resolve_ria_advisor” functional
- New tool “search_allocator_commitments” functional
- New tool “search_allocators” functional
- New tool “search_capital_changes” functional
- New tool “search_credit_maturities” functional
- New tool “search_private_credit” functional
- New tool “search_private_credit_changes” functional
- New tool “search_re_fund_managers” functional
- New tool “search_re_fund_vehicles” functional
- New tool “search_ria” functional
- New tool “search_ria_advisor_moves” functional
- New tool “search_ria_anomalies” functional
- New tool “search_ria_changes” functional
- New tool “search_ria_funds” functional
- New tool “search_ria_ma” functional
- New tool “search_ria_offices” functional
- New tool “search_ria_practices” functional
- New tool “search_ria_teams” functional
- New tool “search_sponsor_lender” functional
- “explain_match” reworded the description of “dfx_id_a” cosmetic
- “explain_match” reworded the description of “dfx_id_b” cosmetic
- “find_capital_for_opportunity” reworded the description of “dfx_id” cosmetic
- “find_opportunities_for_capital” reworded the description of “dfx_id” cosmetic
- “get_entity” reworded the description of “dfx_id” cosmetic
- “get_family_office” reworded the description of “dfx_id” cosmetic
- “get_independent_sponsor” reworded the description of “dfx_id” cosmetic
- “get_vc_firm” reworded the description of “dfx_id” cosmetic
- “relationship_path” reworded the description of “from_dfx_id” cosmetic
- “relationship_path” reworded the description of “to_dfx_id” cosmetic
- “resolve_name” reworded the description of “domain” cosmetic
- “search_entities” reworded the description of “domain” cosmetic
- “search_entities” reworded the description of “entity_type” cosmetic
- “search_events” reworded the description of “dfx_id” cosmetic
- “search_family_office_investments” reworded the description of “office_dfx_id” cosmetic
- “search_people” reworded the description of “organization_dfx_id” cosmetic
- “search_property_events” reworded the description of “within_days” cosmetic
- “search_relationships” reworded the description of “dfx_id” cosmetic
- “search_sponsor_deals” reworded the description of “sponsor_dfx_id” cosmetic
- “search_sponsor_deals” reworded the description of “target_dfx_id” cosmetic
- “search_vc_funds” reworded the description of “organization_dfx_id” cosmetic
- “search_vc_investments” reworded the description of “company_dfx_id” cosmetic
- “search_vc_investments” reworded the description of “investor_dfx_id” cosmetic
- “search_vc_investments” reworded the description of “partner_dfx_id” cosmetic
- “verify” reworded the description of “object_dfx_id” cosmetic
- “verify” reworded the description of “subject_dfx_id” cosmetic
- “who_should_care” reworded the description of “dfx_id” cosmetic
- “why_now” reworded the description of “dfx_id” cosmetic
- 18 Sept 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “search_property_events” rewrote its description, which is the text the model reads security
- “search_property_events” reworded the description of “within_days” cosmetic
- 17 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “search_property_events” rewrote its description, which is the text the model reads security
- “search_property_events” reworded the description of “within_days” cosmetic
- 16 Sept 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “search_property_events” rewrote its description, which is the text the model reads security
- “search_property_events” reworded the description of “within_days” cosmetic
- 15 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “debt_maturity_schedule” rewrote its description, which is the text the model reads security
- Tool “find_capital_for_opportunity” rewrote its description, which is the text the model reads security
- Tool “get_independent_sponsor” rewrote its description, which is the text the model reads security
- Tool “search_entities” rewrote its description, which is the text the model reads security
- Tool “search_events” rewrote its description, which is the text the model reads security
- Tool “search_independent_sponsors” rewrote its description, which is the text the model reads security
- Tool “search_property_events” rewrote its description, which is the text the model reads security
- Schema quality: 10874 → 13944 ▼ functional
- New tool “find_pe_addons_for_platform” functional
- New tool “find_pe_buyers_for_company” functional
- New tool “find_pe_companies_for_buyer” functional
- New tool “get_pe_firm” functional
- New tool “get_pe_fund” functional
- New tool “resolve_name” functional
- New tool “search_pe_firms” functional
- New tool “search_pe_funds” functional
- New tool “search_pe_platforms” functional
- New tool “search_pe_transactions” functional
- New tool “search_pending_ownership_changes” functional
- “search_independent_sponsors” added an optional parameter “include_unverified” cosmetic
- “explain_match” reworded the description of “dfx_id_a” cosmetic
- “explain_match” reworded the description of “dfx_id_b” cosmetic
- “find_capital_for_opportunity” reworded the description of “dfx_id” cosmetic
- “find_capital_for_opportunity” reworded the description of “investor_types” cosmetic
- “find_opportunities_for_capital” reworded the description of “dfx_id” cosmetic
- “get_entity” reworded the description of “dfx_id” cosmetic
- “get_family_office” reworded the description of “dfx_id” cosmetic
- “get_independent_sponsor” reworded the description of “dfx_id” cosmetic
- “get_vc_firm” reworded the description of “dfx_id” cosmetic
- “relationship_path” reworded the description of “from_dfx_id” cosmetic
- “relationship_path” reworded the description of “to_dfx_id” cosmetic
- “search_entities” reworded the description of “domain” cosmetic
- “search_entities” reworded the description of “entity_type” cosmetic
- “search_events” reworded the description of “dfx_id” cosmetic
- “search_family_office_investments” reworded the description of “office_dfx_id” cosmetic
- “search_people” reworded the description of “organization_dfx_id” cosmetic
- “search_people” reworded the description of “role” cosmetic
- “search_property_events” reworded the description of “within_days” cosmetic
- “search_relationships” reworded the description of “dfx_id” cosmetic
- “search_sponsor_deals” reworded the description of “sponsor_dfx_id” cosmetic
- “search_sponsor_deals” reworded the description of “target_dfx_id” cosmetic
- “search_vc_funds” reworded the description of “organization_dfx_id” cosmetic
- “search_vc_investments” reworded the description of “company_dfx_id” cosmetic
- “search_vc_investments” reworded the description of “investor_dfx_id” cosmetic
- “search_vc_investments” reworded the description of “partner_dfx_id” cosmetic
- “verify” reworded the description of “object_dfx_id” cosmetic
- “verify” reworded the description of “subject_dfx_id” cosmetic
- “who_should_care” reworded the description of “dfx_id” cosmetic
- “why_now” reworded the description of “dfx_id” cosmetic
- Tool “search_people” changed its title: People across the family office, sponsor and venture graphs → People across the family office, sponsor, venture and private equity graphs cosmetic
- 14 Sept 26 +1
- A breaking change shipped without a version bump: still 0.15.0 ▼ security
- Tool “dfx_payment_status” was removed ▼ security
- Tool “fund_dfx_account” was removed ▼ security
- Tool “open_dfx_account” was removed ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- Tool “changes_since” rewrote its description, which is the text the model reads security
- Tool “debt_maturity_schedule” rewrote its description, which is the text the model reads security
- Tool “dfx_coverage” rewrote its description, which is the text the model reads security
- Tool “get_entity” rewrote its description, which is the text the model reads security
- Tool “get_family_office” rewrote its description, which is the text the model reads security
- Tool “get_independent_sponsor” rewrote its description, which is the text the model reads security
- Tool “get_occupancy” rewrote its description, which is the text the model reads security
- Tool “get_property_record” rewrote its description, which is the text the model reads security
- Tool “get_vc_firm” rewrote its description, which is the text the model reads security
- Tool “resolve_address” rewrote its description, which is the text the model reads security
- Tool “search_entities” rewrote its description, which is the text the model reads security
- Tool “search_events” rewrote its description, which is the text the model reads security
- Tool “search_family_offices” rewrote its description, which is the text the model reads security
- Tool “search_independent_sponsors” rewrote its description, which is the text the model reads security
- Tool “search_parcels” rewrote its description, which is the text the model reads security
- Tool “search_people” rewrote its description, which is the text the model reads security
- Tool “search_private_companies” rewrote its description, which is the text the model reads security
- Tool “search_property_events” rewrote its description, which is the text the model reads security
- Tool “search_subsidised_housing” rewrote its description, which is the text the model reads security
- Tool “search_vc_firms” rewrote its description, which is the text the model reads security
- Tool “verify” rewrote its description, which is the text the model reads security
- Tool “what_can_dfx_answer” rewrote its description, which is the text the model reads security
- Tool “who_should_care” rewrote its description, which is the text the model reads security
- “search_family_office_investments” added an optional parameter “include_candidates” cosmetic
- “changes_since” reworded the description of “domain” cosmetic
- “changes_since” reworded the description of “event_type” cosmetic
- “changes_since” reworded the description of “limit” cosmetic
- “changes_since” reworded the description of “since” cosmetic
- “debt_maturity_schedule” reworded the description of “limit” cosmetic
- “debt_maturity_schedule” reworded the description of “state” cosmetic
- “dfx_coverage” reworded the description of “event_type” cosmetic
- “get_occupancy” reworded the description of “address” cosmetic
- “get_occupancy” reworded the description of “company” cosmetic
- “get_occupancy” reworded the description of “dfx_id” cosmetic
- “get_property_record” reworded the description of “dfx_id” cosmetic
- “resolve_address” reworded the description of “city” cosmetic
- “resolve_address” reworded the description of “limit” cosmetic
- “resolve_organization” reworded the description of “name” cosmetic
- “search_family_office_investments” reworded the description of “investment_kind” cosmetic
- “search_people” reworded the description of “query” cosmetic
- “search_property_events” reworded the description of “cursor” cosmetic
- “search_property_events” reworded the description of “event_type” cosmetic
- “search_property_events” reworded the description of “limit” cosmetic
- “search_property_events” reworded the description of “within_days” cosmetic
- “search_vc_firms” reworded the description of “sector” cosmetic
- “what_can_dfx_answer” reworded the description of “domain” cosmetic
- “what_can_dfx_answer” reworded the description of “objective” cosmetic
- “debt_maturity_schedule” dropped the optional parameter “authorize” cosmetic
- Tool “debt_maturity_schedule” changed its title: PAID, $1.00: confirmed commercial mortgage maturities for one state → Confirmed commercial mortgage maturities for one state cosmetic
- 13 Sept 26 −1
We did not load change detail this far back for this component, so this day may have recorded more than is shown.
- Tool “debt_maturity_schedule” rewrote its description, which is the text the model reads security
- Tool “search_property_events” rewrote its description, which is the text the model reads security
- Tool coverage: 100% → 55% ▼ functional
- Schema quality: 406 → 301 ▲ functional
- “changes_since” added an optional parameter “dfx_id” cosmetic
- “changes_since” added an optional parameter “domain” cosmetic
- “what_can_dfx_answer” added an optional parameter “domain” cosmetic
- “search_property_events” reworded the description of “within_days” cosmetic
- “what_can_dfx_answer” made “objective” optional cosmetic
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 20 Sept 2026 · Probed https://exchange-production-9123.up.railway.app/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.up.railway.app | CN=YE1,O=Let's Encrypt,C=US | 29 Jul 2026 | 27 Oct 2026 | ECDSA 256 | ECDSA-SHA384 | 6da79bb561da3efeb0e751ca21abd3999fe |
| SANs: *.up.railway.app, up.railway.app | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of exchange-production-9123.up.railway.app. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| railway.app. | absent | 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 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://exchange-production-9123.up.railway.app/mcp | Verified | 200 | |
| http (plaintext) | http://exchange-production-9123.up.railway.app/mcp | HTTPS enforced | 301 | https://exchange-production-9123.up.railway.app/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 →
changes_since What DFX has learned since your last call ~355
A feed of what is NEW since a cursor, ordered by when DFX learned it rather than by when it happened. The first call, made without a cursor, returns ZERO events and a starting position by design; a later call with that cursor returns what DFX learned in between. It answers what is new, not what exists. Filter by event type, state, or a specific property or parcel id. Deterministic and indexed, so frequent polling is cheap. Free. HISTORICAL FAMILIES DO FLOW THROUGH HERE. This feed is ordered by when DFX LEARNED a fact, not when the fact happened, so a foreclosure that occurred months ago and was ingested today arrives in today's delta. A distress or sales feed built on this works.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | – | With `domain`: watch one entity (dfx:fo:, dfx:isi: or dfx:vc: id). |
| domain | string | – | An intelligence domain instead of real estate; with it, `since` is an ISO timestamp. |
| event_type | string | – | One served event family. |
| limit | integer | – | Max 50. A full page sets `complete: false` in the envelope, which means the backlog was longer than one page and more rows are available immediately with the returned cursor. The cursor is the last r… |
| place_dfx_id | string | – | Watch one property or parcel |
| since | string | – | Opaque cursor from a previous call. Unset on the first call, which establishes a position and returns no events by design. |
| state | string | – | Two letter state code |
No output schema declared.
No examples provided.
debt_maturity_schedule Confirmed commercial mortgage maturities for one state ~276
Free, keyless and unauthenticated. Returns the LOAN rather than the event: for one US state and one forward window, up to 200 loans with maturity date, original and current principal, interest rate, lender name, instrument type, origination date and the secured property's address, deduplicated to one row per loan and ordered by maturity. Every maturity_basis is 'confirmed': 19,821 of 19,821 loans carry a date filed with the SEC by a servicer or recorded by HUD, and none is estimated or inferred from a term length. Every response states how many loans DFX holds for the filter and whether the delivery is complete, so an answer capped at 200 rows is never presented as the whole population. Each row says whether a maturity event was published for the loan. A missing event does not mean the loan is defeased: loans filed as defeased (ABS-EE code F, or IP for a portion) are withheld, and code X means defeasance is not allowable, so an X loan must refinance or pay off at maturity.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum loans, up to 200. |
| state | string | yes | Two letter state code. Required. |
| within_days | integer | – | Forward window from today. Default 548, eighteen months. |
No output schema declared.
No examples provided.
dfx_coverage What DFX actually covers, and what it does not ~189
Measured coverage, served sources, object types and the known gaps stated plainly, including where geography is a single state and where nothing carries a calibrated probability. It separates an empty result from an absent market. With NO arguments: the full grid, every event family, every state, measured. With `state` and/or `event_type`: a direct verdict on that one slice (COVERED, NOT_COVERED or UNKNOWN) with the basis it was decided on, which is one small answer instead of a grid to parse. Free, and it queries no data: the verdict comes from a coverage registry, so a NOT_COVERED is measured rather than inferred from an empty search.
| Name | Type | Req | Description |
|---|---|---|---|
| event_type | string | – | Optional: narrows the answer to this served event family. |
| state | string | – | Two letter state code. Optional: narrows the answer to this state. |
No output schema declared.
No examples provided.
explain_match Why these two fit, and why not ~324
For an investor and an opportunity (either order): MATCH REASONS, BLOCKERS, SUPPORTING OBSERVATIONS, COMPARABLE HISTORY (the investor's dated investments in the same sector, with sources), RELATIONSHIPS (a path on the graph if one exists), RECENT EVENTS on both, the computed match if the graph has one, and a confidence label. Facts, not a score.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id_a | string | yes | A DFX id: dfx:fo:<uuid> (family office graph), dfx:isi:<uuid> (sponsor graph), dfx:vc:<uuid> (venture graph), dfx:pe:<uuid> (private equity graph), dfx:ria:<uuid> (registered investment adviser graph… |
| dfx_id_b | string | yes | A DFX id: dfx:fo:<uuid> (family office graph), dfx:isi:<uuid> (sponsor graph), dfx:vc:<uuid> (venture graph), dfx:pe:<uuid> (private equity graph), dfx:ria:<uuid> (registered investment adviser graph… |
No output schema declared.
No examples provided.
find_capital_for_opportunity Who could buy, fund or finance this ~374
Investors for a company (dfx_id) or a described opportunity (sector, state, deal size, stage, control): verified independent sponsors with observed acquisitions in the sector (listed, not paired or ranked; company to sponsor pairs are withdrawn), family offices with observed investments or stated sectors in it, venture firms when the opportunity is venture-shaped, and private equity matcher rows where that graph computes them. DFX does not recommend first-time capital providers. Every row says its basis (observed_behaviour, computed_match, observed_investments, derived).
| Name | Type | Req | Description |
|---|---|---|---|
| asset_class | string | – | – |
| check_size_usd | number | – | – |
| control | boolean | – | – |
| deal_size_usd | number | – | – |
| dfx_id | string | – | A DFX id: dfx:fo:<uuid> (family office graph), dfx:isi:<uuid> (sponsor graph), dfx:vc:<uuid> (venture graph), dfx:pe:<uuid> (private equity graph), dfx:ria:<uuid> (registered investment adviser graph… |
| investor_types | array | – | Default: independent_sponsor, capital_provider, family_office, venture_capital. private_equity adds the private equity matcher's computed buyers for a company id (always included for a dfx:pe: compan… |
| limit | integer | – | – |
| sector | string | – | – |
| sponsor_involved | boolean | – | – |
| stage | string | – | – |
| state | string | – | Two-letter US state code. |
| vertical | string | – | – |
No output schema declared.
No examples provided.
find_opportunities_for_capital What this investor should be looking at ~209
For a family office, sponsor, capital provider or venture firm: the opportunities DFX knows that fit its DEMONSTRATED behaviour: computed matches where the graph has them (with reasons and blockers), then private companies with transition signals in the sectors it has actually invested in, sponsors seeking capital, companies raising in its stated sectors. Returns the behaviour it reasoned from.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A DFX id: dfx:fo:<uuid> (family office graph), dfx:isi:<uuid> (sponsor graph), dfx:vc:<uuid> (venture graph), dfx:pe:<uuid> (private equity graph), dfx:ria:<uuid> (registered investment adviser graph… |
| limit | integer | – | – |
No output schema declared.
No examples provided.
find_pe_addons_for_platform Add-on candidates for a platform company ~144
Computed addon_for_platform matches for one platform (a dfx:pe: company id from search_pe_platforms): each candidate company with the matcher's reasons, blockers, why_now and comparable add-ons verbatim, the platform's owner, score, confidence and computed date. NOT_COVERED when the matcher has scored nothing for the platform, which is not a statement that no add-on fits.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A private equity graph id of the form dfx:pe:<uuid>, as returned by search_pe_firms, search_pe_funds, search_pe_platforms or search_entities. |
| limit | integer | – | – |
No output schema declared.
No examples provided.
find_pe_buyers_for_company Private equity firms that could buy this company ~179
Computed buyer_for_company matches from the private equity matcher for one company (a dfx:pe:, dfx:isi: or dfx:vc: company id): each firm with the matcher's reasons, blockers, why_now and comparable transactions verbatim, the deal partner where attributed, score, confidence, model version and computed date. When the matcher has scored nothing for the company the answer is NOT_COVERED with the population count: that means DFX has not computed buyers for it, never that no buyer exists. For sponsors, family offices and capital providers as well, use find_capital_for_opportunity.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A company id: dfx:pe:<uuid>, dfx:isi:<uuid> or dfx:vc:<uuid>. |
| limit | integer | – | – |
No output schema declared.
No examples provided.
find_pe_companies_for_buyer Companies a private equity firm should look at ~149
Computed company_for_buyer matches for one private equity firm (dfx:pe: id): each company (on the private equity, sponsor or venture graph, with its dfx id) with the matcher's reasons, blockers, why_now and comparables verbatim, score, confidence and computed date. NOT_COVERED when the matcher has scored nothing for the firm, which is not a statement that nothing fits.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A private equity graph id of the form dfx:pe:<uuid>, as returned by search_pe_firms, search_pe_funds, search_pe_platforms or search_entities. |
| limit | integer | – | – |
No output schema declared.
No examples provided.
get_allocator One allocator, consultant, manager or fund in full ~199
For an allocator: the card with reported assets and basis, funded status, the latest allocation policy rows (target, range, actual as printed with the subject's own label beside DFX's bucket), size and funding readings with source, investment staff and executives with the quote they were read from, plus relationships (advisers, managers, the systems an office invests for), events and same_as links through get_entity. For a consultant: client counts on the tape and its ADV institutional numbers. For a manager or fund: which public LPs back it and its pe / vc reference. A target is never an actual, a disclosed holding is never an approval, commitment dollars repeat across reports, re-ups are the plan's own words, estimates are labelled and nothing predictive is published.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | An allocator graph id of the form dfx:al:<uuid> (from search_allocators, resolve_name or search_entities). |
No output schema declared.
No examples provided.
get_bdc_portfolio One BDC's schedule of investments at a quarter end ~170
Every position a BDC tagged at one quarter end (the latest unless as_of is given), each in the filer's own figures: borrower, instrument, kind, lien, principal, fair value, cost, spread, PIK, all-in rate, maturity, unfunded commitment. Debt only by default. Paged at 25.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | A quarter end (YYYY-MM-DD) on the BDC's tape; default the latest. |
| cursor | string | – | next_cursor from a previous page of this tool, unchanged. |
| dfx_id | string | yes | A dfx:pc:<uuid> BDC id or a CIK. |
| include_equity | boolean | – | – |
| limit | integer | – | – |
| sort | string | – | – |
No output schema declared.
No examples provided.
get_borrower_capital_structure One borrower as its BDC lenders see it ~212
The borrower group (its spellings and grade), every facility (kind, lien, principal held across lenders as a lower bound, mark, pricing, PIK, maturity with basis), every BDC piece at the latest quarter end, the borrower's tape quarter by quarter, every sponsor attribution with its basis and confidence, and the non-routine events. Every row names its fact class (filed: the BDC's own figure; derived: arithmetic over filed figures, a sum of pieces is a lower bound; carried: from another DFX graph with its source; inferred: an attribution by rule with confidence). A mark below cost is a mark, not impairment; a moved maturity is an observed term change, not an amendment; non-accrual and default are not on the tape and are never inferred.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A private credit graph id of the form dfx:pc:<uuid> (from search_private_credit, resolve_name or search_entities). |
No output schema declared.
No examples provided.
get_borrower_facilities One borrower's facilities and the lender group on each ~177
Every facility a borrower group has on the BDC tape (kind, lien, principal held across lenders as a lower bound, mark on cost, pricing, PIK, maturity with its basis) with the lender group on each: every BDC holding or that held a piece, its own principal, fair value and spread, the quarters it held, and the credit manager behind it. Principal is the sum of BDC pieces: a lower bound, never the commitment, and a lender that files no schedule is invisible here.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A private credit graph id of the form dfx:pc:<uuid> (from search_private_credit, resolve_name or search_entities). |
| held_only | boolean | – | Facilities still on a schedule at the latest quarter end. |
| limit | integer | – | – |
No output schema declared.
No examples provided.
get_capital_paths How capital reaches this institution, and where it goes next ~287
Published capital flow paths through one institution: which allocators back this manager and through which fund, which lenders finance this sponsor's borrowers and on what facilities, which properties sit under this real estate manager where a binding is validated. Each path names every hop with its graph, id, type and role, the amount where one is disclosed, the as-of date, the bases the hops rest on and a confidence. Paths are built only from identity-grade or measured links; a candidate link is labelled and carries a confidence below 0.5. NOT_COVERED means the path layer has not computed this, never that no relationship exists.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A DFX id: dfx:fo:<uuid> (family office graph), dfx:isi:<uuid> (sponsor graph), dfx:vc:<uuid> (venture graph), dfx:pe:<uuid> (private equity graph), dfx:ria:<uuid> (registered investment adviser graph… |
| kind | string | – | One path kind as the summary names it (for example ALLOCATOR_TO_PE_FUND_TO_MANAGER). |
| limit | integer | – | – |
No output schema declared.
No examples provided.
get_commitments Who committed to this manager or fund, or what this allocator committed to ~219
The commitment tapes, in one call, for any id they reference: the allocator tape (a public plan's own disclosure, with the plan, the fund as printed, the manager and fund resolved to the private equity, venture or real estate record, the amount, the status, the vintage, re-up and first-time-manager in the plan's words, the plan's own paid-in, distributed, remaining value, IRR and multiple, and the source with a quote) and the real estate fund LP tape. Dated commitments with an amount by default; value-only holdings (a line in a performance report, never an approval) only with include_holdings. A commitment is the plan's number, never the fund's size, and dollars repeat across successive reports of the same plan.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | An allocator (dfx:al:), or a manager or fund on the allocator, private equity, venture or real estate fund graph. |
| include_holdings | boolean | – | – |
| limit | integer | – | – |
No output schema declared.
No examples provided.
get_credit_facility One facility with its lender group and history ~121
A facility (one borrower group in one instrument class): size as the sum of BDC pieces with its basis, pricing modal and ranged across pieces, maturity with basis, the lender group (every BDC that holds or held a piece, each row the lender's own figures, plus lenders named on a deal), the facility through time, and every change at facility grain.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A dfx:pc:<uuid> facility id from get_borrower_capital_structure, search_credit_maturities or an event. |
No output schema declared.
No examples provided.
get_credit_provider One credit provider or BDC in full ~174
A credit manager: its classes with basis, the BDCs it advises (from each BDC's own 10-K) with their latest schedules, its credit funds on Form ADV, its sponsor relationships ranked by borrowers financed, and its links to the RIA and private equity graphs by shared CRD or CIK. A BDC: its portfolio every quarter end (fair value, principal held, borrowers, mark on cost, PIK positions, average spread), its largest facilities held with the co-lenders, and the sponsors it finances. Accepts a dfx:pc: provider or BDC id, or a BDC's CIK.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A dfx:pc:<uuid> provider or BDC id, or a BDC CIK number as a string. |
No output schema declared.
No examples provided.
get_entity Everything DFX knows about one id ~251
For any DFX id: the full card, published relationships with sources and dates, recent events, evidence rows (the observation each fact traces to), cross-graph same_as links by shared identifier, same-name candidates on other graphs (labelled as candidates), and pointers to deeper views. One answer to 'show me everything on X'.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A DFX id: dfx:fo:<uuid> (family office graph), dfx:isi:<uuid> (sponsor graph), dfx:vc:<uuid> (venture graph), dfx:pe:<uuid> (private equity graph), dfx:ria:<uuid> (registered investment adviser graph… |
| event_limit | integer | – | – |
| evidence_limit | integer | – | – |
| include | array | – | Default: relationships, events, evidence, same_as. Add name_candidates to also search the other graphs by name (slower; candidates only). |
| relationship_limit | integer | – | – |
No output schema declared.
No examples provided.
get_family_office One family office in full ~209
The full card for one family office: profile, AUM / RAUM / 13F value kept apart with their as-of dates, behaviour, the people who run it with roles, its observed investments, relationships, recent events, evidence rows and cross-graph links (same_as by shared CRD/CIK/EIN). Contact points are withheld over MCP. Accepts dfx:fo: ids.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A DFX id: dfx:fo:<uuid> (family office graph), dfx:isi:<uuid> (sponsor graph), dfx:vc:<uuid> (venture graph), dfx:pe:<uuid> (private equity graph), dfx:ria:<uuid> (registered investment adviser graph… |
No output schema declared.
No examples provided.
get_independent_sponsor One sponsor, provider or private company in full ~226
The full card for any entity on the sponsor graph: a sponsor (with its verification status, the companies resembling its observed deals as counted facts and reasons with no score, its announced transactions and its observed capital relationships), a capital provider (with fund size, average investment, SBIC status, strategy, whether making new investments) or a private company (with its transition signals and sponsor matches). Plus relationships, events, evidence and cross-graph links. Accepts dfx:isi: ids.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A DFX id: dfx:fo:<uuid> (family office graph), dfx:isi:<uuid> (sponsor graph), dfx:vc:<uuid> (venture graph), dfx:pe:<uuid> (private equity graph), dfx:ria:<uuid> (registered investment adviser graph… |
No output schema declared.
No examples provided.
get_occupancy Who occupies a property, or where a company operates ~326
Two directions from one call. A PROPERTY dfx_id returns the tenants observed at that building: tenant name and dfx_id, occupancy class, leased area, share of the property, and the lease expiration date where the source discloses one. A COMPANY dfx_id returns where that company is observed to operate. `company` with `address` (plus city and state) checks ONE claim: does DFX hold this company at this building. Every row carries its evidence tier and its freshness. Free. not_observed IS NOT VACANT. The published tenancy sources name only the largest tenant of a building, so most real occupiers are outside the disclosure entirely and an absent row is an absent disclosure, never a statement about the space. Accepts the canonical property and company dfx_ids carried by address and name resolution results and by event rows.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | – | Street address for the one-claim check. Used together with `company`. |
| city | string | – | Municipality. The parcel key includes it, so an address without a city resolves poorly. |
| company | string | – | Company name, for the one-claim check. Used together with `address`; a company name alone is refused. |
| dfx_id | string | – | A property dfx_id (returns its tenants) or a company dfx_id (returns its locations). The direction is read from the object, not from a flag. |
| limit | integer | – | Max rows. A large building can disclose several tenants. |
| state | string | – | Two-letter US state code. |
No output schema declared.
No examples provided.
get_pe_firm One private equity firm in full ~203
The full card for a private equity firm: identity (website, HQ, ADV filing dates), classification with basis and the size band's definition and evidence, classification history, stated criteria (sectors, EBITDA, EV, equity check, control) kept apart from observed behaviour, funds summary and its ten latest funds, team summary and current people with titles, portfolio summary with recent investments and transactions, top counterparties (lenders, advisers, placement agents, co-investors with shared-deal counts), every score WITH its components and missing_inputs, recent events, evidence, and same_as links to the family office, sponsor and venture graphs by shared identifier. Also accepts a dfx:pe: person, fund or company id and returns that card.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A private equity graph id of the form dfx:pe:<uuid>, as returned by search_pe_firms, search_pe_funds, search_pe_platforms or search_entities. |
No output schema declared.
No examples provided.
get_pe_fund One private equity fund in full ~145
One fund: manager, vintage and basis, every amount kept apart with its basis (adv_gross_asset_value is reported gross assets, not fund size or dry powder), the year-by-year Form ADV reporting tape (gross assets, owners, minimum investment, ownership percentages), LP commitments where disclosed, relationships (placement agents, auditors, principals), events and evidence. Refuses an id that is not a fund; use get_pe_firm for the manager.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A private equity graph id of the form dfx:pe:<uuid>, as returned by search_pe_firms, search_pe_funds, search_pe_platforms or search_entities. |
No output schema declared.
No examples provided.
get_property_record Everything DFX holds about one property or parcel ~194
Given a DFX id, return current state, dated events, ownership and management relationships, debt with maturity dates and maturity basis, recorded sales with consideration plus registry book and page, and the provenance of each. Sales carry BOTH the instrument total and this parcel's allocated share, because a deed repeats its full price on every parcel it covers. Free. THIS IS ALSO THE PARCEL LOOKUP. The id can name a property or a parcel, and both come back in full, including the `dfx_id` carried on every address resolution object and every parcel search row.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A DFX id for a property OR a parcel. Both work and both come back in full. Accepted forms: the `dfx_id` on an address resolution object, the `dfx_id` on a parcel search row, or the evidence `dfx_id`… |
No output schema declared.
No examples provided.
get_re_fund_manager One real estate fund manager in full ~205
The manager card, its ten largest vehicles and the whole family by vintage, validated property bindings with the rule and confidence behind each and the properties, loans and lenders underneath, property events attributed through those bindings, the public plans that disclosed commitments, the people on its Schedule A, recent events and the same institution's records on other graphs by shared identifier. Accepts a dfx:ref: id or the manager's CRD. Gross asset value is a fund's assets on a filing date: never fund size, never commitments, never dry powder, and a quarantined reading enters no sum. The sworn tape runs 2011 to 2024, so a first report is a first sighting and nothing here is a 2025 fact. Holdings, properties and loans appear only where a binding passed its blind labels.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A dfx:ref:<uuid> manager id, or the manager's CRD as a string. |
No output schema declared.
No examples provided.
get_re_fund_trends Real estate fund trends by year ~173
Derived series over the sworn tape, each with its population, derivation and caveat printed beside it: vehicles first reported by year (with the managers filing them), managers filing a real estate fund for the first time by year, reported gross asset value by year (feeders and quarantined readings excluded), vehicle vintages by year, vehicles that stopped being reported by year, and the largest managers by summed gross asset value. The tape starts in 2011 and ends with the 2024 filings, so the first years carry funds that already existed and the last year is not this year. Nothing here is predictive.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| min_gav_usd | number | – | top_managers only: a floor on summed gross asset value. |
| view | string | – | – |
No output schema declared.
No examples provided.
get_re_fund_vehicle One real estate fund vehicle in full ~229
The vehicle card with its reporting history year by year as filed (gross asset value, owners, minimum investment, the fund type and name as filed that year), its family in sequence, the public plans that disclosed a commitment, any validated holdings, and its events. A gap in the history is a year the adviser did not report the vehicle, never a year of zero assets. Accepts a dfx:ref: id, an 805- ADV fund id or an 021- Form D number. Gross asset value is a fund's assets on a filing date: never fund size, never commitments, never dry powder, and a quarantined reading enters no sum. The sworn tape runs 2011 to 2024, so a first report is a first sighting and nothing here is a 2025 fact. Holdings, properties and loans appear only where a binding passed its blind labels.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A dfx:ref:<uuid> vehicle id, an 805- ADV fund id, or an 021- Form D file number. |
No output schema declared.
No examples provided.
get_ria_advisor One registered advisor in full ~157
One IAPD-registered advisor: name, current firm with class and tenure, employment history as dated registration spans in order (firm, begin, end, current), every firm change as two registration dates (bulk re-registrations and departures included and labelled), the teams the person moved with, exams, designations, industry start, and recent events. States plainly that no book size is public or estimated. Disclosure flags, outside business text and street addresses are withheld. Accepts a dfx:ria: id or the individual CRD number.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A dfx:ria:<uuid> advisor id, or the individual's CRD number (IAPD id) as a string. |
No output schema declared.
No examples provided.
get_ria_capital_links An adviser's identifier links to the private capital graphs ~204
For one RIA firm (or one private fund): every link to the private equity, venture, family office and sponsor graphs written on a shared identifier, with the basis printed on each link: the firm's own CRD or CIK, and each private fund of the firm that a private equity or venture graph row holds under the same SEC fund id (805-...). Answers 'which PE or VC graph entities hold vehicles this wealth manager advises'. The 200 largest funds are checked. A link is an identifier match; its precision by basis is not yet sampled, and a name is never a basis. Accepts a dfx:ria: firm or fund id, or a firm CRD.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | An RIA graph id of the form dfx:ria:<uuid> (from search_ria, resolve_name or search_entities), or the firm's CRD number as a string. |
| limit | integer | – | – |
No output schema declared.
No examples provided.
get_ria_firm One RIA firm in full ~287
The full card for one registered investment adviser plus its people flows (joins, departures, net, rates over 90 days, 12 and 36 months), growth between annual amendments (RAUM, employees, offices, funds one and three years back), offices (city, state, postal, employees), owners with control persons first (Schedule A and B), affiliates (Item 7.A related persons with roles), its ten largest private funds with the count still reported, teams that left or arrived, the latest departures and arrivals, recent events, and same_as links to the private equity, venture, family office and sponsor graphs by shared CRD, CIK or fund id. Every section is a page with its size stated. Every row names its fact class (reported: filed on Form ADV; fact_from_registration: IAPD registration dates; derived: a rule or arithmetic over filed inputs). RAUM double counts affiliates; no advisor book size exists or is estimated; the IAPD tape is survivor-biased before 2026-09-15. Nothing here is predictive. Accepts dfx:ria: ids or a CRD.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | An RIA graph id of the form dfx:ria:<uuid> (from search_ria, resolve_name or search_entities), or the firm's CRD number as a string. |
No output schema declared.
No examples provided.
get_ria_practice One adviser's practice profile, anomalies, offices, retention and public contact path ~303
What a practice looks like from what it filed: reported Form ADV fields (RAUM, discretionary, accounts, employees, advisors, clients and RAUM by type, private funds, wrap, custody, compensation methods, advisory activities, affiliations, the Item 6.A, 8 and 9 answers by item number), derived operating metrics each with its formula (RAUM per advisor, clients per advisor, average HNW client, average account, discretionary and institutional shares, employees per advisor, advisors per office, one-year growth), the practice archetypes with the printed rule that admitted each (19 rules; a firm can carry several), the peer group, ADV anomalies against that peer group with the peer median, percentile and filing behind each (a place to look, never a conclusion; data quality rows kept apart), office-level movement, post-acquisition retention when the firm is an acquirer, and the public business contact path (principal office phone and website as filed on Form ADV, the firm's LinkedIn page, and what the firm publishes on its own site) with source, date and rights class. Advisor book size and revenue are marked UNKNOWN and never estimated. Accepts a dfx:ria: id or a CRD.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | An RIA graph id of the form dfx:ria:<uuid> (from search_ria, resolve_name or search_entities), or the firm's CRD number as a string. |
No output schema declared.
No examples provided.
get_ria_trends RIA state statistics, advisor flows and firm growth ~226
Three derived views from the RIA lane's aggregates: state_stats (SEC-registered firms, wealth firms, RAUM, private funds, advisors, joins, departures and new firms in the last year, by state); flows (firms ranked by departures, joins, net, departure rate or join rate over 12 months, with 90-day and 36-month counts, filter by state, class or size); growth (firms ranked by RAUM growth or decline between annual amendments, with employees, offices and fund counts one and three years back; under $100M RAUM excluded by default). Counts are over registration dates with bulk re-registrations excluded; RAUM sums double count affiliates. Nothing predictive.
| Name | Type | Req | Description |
|---|---|---|---|
| firm_class | string | – | – |
| limit | integer | – | – |
| min_advisors | integer | – | – |
| min_raum_usd | number | – | – |
| sort | string | – | – |
| state | string | – | Two-letter US state code. |
| view | string | – | – |
| wealth_only | boolean | – | – |
No output schema declared.
No examples provided.
get_sponsor_lenders Which lenders finance this sponsor's borrowers ~157
Sponsor by lender pairs counted once per borrower held: borrowers, facilities, principal held, first and latest quarter, new borrowers in the last four quarters against the prior four, quarters since the last new borrower, and the weakest sponsor attribution basis in the pair. Accepts a private credit sponsor id or a private equity id, which is resolved through the credit graph's own cross-reference with its basis printed. A pair whose weakest basis is an inference is an inference.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A dfx:pc: sponsor id, or a dfx:pe: id the credit graph carries. |
| limit | integer | – | – |
| min_borrowers | integer | – | – |
| sort | string | – | – |
No output schema declared.
No examples provided.
get_vc_firm One venture firm, person, fund or company in full ~206
The full card for any entity on the venture graph: a firm (with recent investments, co-investors and funds), a person (with attributed investments and board seats), a fund (with all seven fund amounts kept apart and its lifecycle state) or a portfolio company (with its investors). Plus relationships, events, evidence and cross-graph links. Accepts dfx:vc: ids.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | yes | A DFX id: dfx:fo:<uuid> (family office graph), dfx:isi:<uuid> (sponsor graph), dfx:vc:<uuid> (venture graph), dfx:pe:<uuid> (private equity graph), dfx:ria:<uuid> (registered investment adviser graph… |
No output schema declared.
No examples provided.
relationship_path How two entities are connected ~319
An evidence-backed path between two DFX ids across every graph: each hop is a published relationship with its source, or a SAME_AS identity link by shared CRD/CIK/EIN. Bidirectional search up to max_hops (default 3). NO_MATCH means no observed path within budget, not that they are unconnected.
| Name | Type | Req | Description |
|---|---|---|---|
| from_dfx_id | string | yes | A DFX id: dfx:fo:<uuid> (family office graph), dfx:isi:<uuid> (sponsor graph), dfx:vc:<uuid> (venture graph), dfx:pe:<uuid> (private equity graph), dfx:ria:<uuid> (registered investment adviser graph… |
| max_hops | integer | – | – |
| to_dfx_id | string | yes | A DFX id: dfx:fo:<uuid> (family office graph), dfx:isi:<uuid> (sponsor graph), dfx:vc:<uuid> (venture graph), dfx:pe:<uuid> (private equity graph), dfx:ria:<uuid> (registered investment adviser graph… |
No output schema declared.
No examples provided.
resolve_address Resolve a US street address to a property or parcel ~222
Turn a street address into canonical DFX object ids, with the match basis and any ambiguity stated. Returns typed objects: a 'property' (national federal programme multifamily) and/or a 'parcel' (Massachusetts assessor and registry layer). These are separate populations that barely overlap, so an address may return one, the other, or both. Free. The ids returned are the canonical property and parcel ids used across this server.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Street address including the house number, for example '100 Binney St' |
| city | string | – | City or town, for example 'Cambridge'. Optional: a one-line address carrying its own city and state is accepted whole in `address` and split server side. A value given here takes precedence over anyt… |
| limit | integer | – | Max 50. This is candidates for ONE address, not a page of a search. `address_group_size` on a result reports when several published records share the address. |
| state | string | – | Two letter state code |
No output schema declared.
No examples provided.
resolve_name A name to DFX ids, fast, across every private capital graph ~282
Resolve a firm, fund, person or company name to canonical dfx ids from the Data Factory's index of every published name and alias (former names, dbas, legal names) on the family office, sponsor, venture, private equity, RIA, allocator, private credit and real estate fund graphs as each graph is indexed. Each row carries the ROLES the institution holds across graphs where the identity layer publishes them, so one institution that is a private equity manager, a registered adviser, a private credit manager, a real estate fund manager and a manager holding allocator capital comes back as one identity with the id on each graph, never as five unrelated firms. Ranked exact, prefix, then word match; one row per entity; typically under 200 ms. The first call before get_entity. Real estate organisations are resolved by resolve_organization instead.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | – | Comma-separated: family_office, independent_sponsor, venture_capital, private_equity, ria, allocators, private_credit, real_estate_funds. Default: all. |
| entity_type | string | – | Comma-separated graph types: organization, office, sponsor, capital_provider, fund, person, company. |
| limit | integer | – | – |
| name | string | yes | The name, or a word of it (Blackstone, Horowitz, Thoma). |
No output schema declared.
No examples provided.
resolve_organization Resolve a company name to a DFX entity ~141
Turn an owner, manager, lender or servicer name into canonical DFX entity ids. A name is treated as a blocking key and never as an identity, so all candidates are returned rather than a guess. Free. Person lookup is deliberately not offered.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max 50. Every candidate is returned rather than a best guess, so a common name spends this whole budget. |
| name | string | yes | Company name as written anywhere: owner, manager, lender or servicer, for example 'KeyBank'. It is matched as a blocking key, so a partial or differently punctuated name returns several candidates ra… |
No output schema declared.
No examples provided.
resolve_ria_advisor A person's name plus a firm to one advisor card ~215
Resolve an advisor by name AND a firm (name or CRD), or by individual CRD, to one person card. A name alone is never resolved to one person: 439,425 registrants share many names, so with only a name the answer lists labelled candidates and `resolved` is false. With a firm name, the current firm is tried first, then prior registrations with that firm. The card that comes back is the same as get_ria_advisor's summary; call get_ria_advisor(dfx_id) for the history.
| Name | Type | Req | Description |
|---|---|---|---|
| crd | string | – | The individual's own CRD number (IAPD id); resolves directly. |
| firm | string | – | The firm's name or part of it (current or prior registration). |
| firm_crd | string | – | The firm's CRD number; current registration only. |
| limit | integer | – | – |
| name | string | yes | The person's name or part of it. |
| state | string | – | Two-letter US state code. |
No output schema declared.
No examples provided.
search_allocator_commitments The commitment tape: who committed to which fund, when, in the plan's own words ~422
One row per line of a plan's own disclosure: allocator, fund as printed, manager and fund resolved to the pe / vc graphs where the resolver matched, bucket, the plan's commitment amount, status (COMMITTED with the plan's closing date; DISCLOSED_HOLDING as of the report date), vintage, re-up / first-time-manager in the plan's words, the plan's own paid-in, distributed, remaining value, IRR and multiple where printed, and the source URL with a quote. Filter by allocator, manager (who backs this manager), fund, consultant, status, bucket, re-ups only, first-time only, since date; sort by date, amount or vintage. A target is never an actual, a disclosed holding is never an approval, commitment dollars repeat across reports, re-ups are the plan's own words, estimates are labelled and nothing predictive is published.
| Name | Type | Req | Description |
|---|---|---|---|
| allocator_dfx_id | string | – | An allocator graph id of the form dfx:al:<uuid> (from search_allocators, resolve_name or search_entities). |
| bucket | string | – | – |
| consultant_dfx_id | string | – | An allocator graph id of the form dfx:al:<uuid> (from search_allocators, resolve_name or search_entities). |
| cursor | string | – | next_cursor from a previous page of this tool, unchanged. |
| first_time_only | boolean | – | – |
| fund_dfx_id | string | – | An allocator graph id of the form dfx:al:<uuid> (from search_allocators, resolve_name or search_entities). |
| limit | integer | – | – |
| manager_dfx_id | string | – | An allocator graph id of the form dfx:al:<uuid> (from search_allocators, resolve_name or search_entities). |
| query | string | – | Fund or manager name contains. |
| re_ups_only | boolean | – | – |
| since | string | – | ISO date; effective date on or after. |
| sort | string | – | – |
| status | string | – | – |
No output schema declared.
No examples provided.
search_allocators Search institutional allocators, consultants, managers and funds ~358
The capital-owner graph: public pensions (every Census unit), corporate and Taft-Hartley DB plans (Form 5500), endowments and foundations (IRS), state pools and investment offices, as compact cards with dfx:al: ids carrying reported assets and basis, funded status, policy targets, commitment counts and adviser counts. entity_type=consultant lists consultants and OCIOs by their own ADV filing with client counts on the tape; entity_type=manager lists managers by the public LPs that disclose a fund of theirs (who backs this manager); entity_type=fund lists funds by public LPs. A bare query with no entity_type runs the alias-aware search (CalPERS resolves). A target is never an actual, a disclosed holding is never an approval, commitment dollars repeat across reports, re-ups are the plan's own words, estimates are labelled and nothing predictive is published.
| Name | Type | Req | Description |
|---|---|---|---|
| allocator_class | string | – | – |
| consultant_class | string | – | – |
| cursor | string | – | next_cursor from a previous page of this tool, unchanged. |
| entity_type | string | – | – |
| include_components | boolean | – | Also list units that are components of a larger system (a division, a plan an office invests for). |
| limit | integer | – | – |
| min_assets_usd | number | – | – |
| min_private_markets_target_pct | number | – | – |
| query | string | – | Name contains, or an alias (CalPERS, a Census spelling). |
| sort | string | – | – |
| state | string | – | Two-letter US state code. |
| with_commitments | boolean | – | – |
| with_consultant | boolean | – | – |
| with_policy | boolean | – | – |
No output schema declared.
No examples provided.
search_bank_cre_exposure FDIC-insured banks by commercial real estate concentration ~456
Search 4,313 FDIC-insured banks by their commercial real estate book at the June 2026 call report: total CRE, construction and multifamily in dollars and against equity and assets, noncurrent and net charge-off ratios, ROA, and two screens against the 2006 Interagency CRE guidance (construction over 100%, total CRE over 300%). For 4,242 of them, UBPR's peer-group and national percentile RANKS on the same concentrations. Filter by state, name, CRE-to-equity range, guidance screen, minimum assets or minimum noncurrent ratio; sort by cre_to_equity (default), construction_to_equity, noncurrent, cre_total, assets or multifamily. Free. THE GUIDANCE IS QUOTED, NOT APPLIED: it tests TOTAL RISK BASED CAPITAL; the ratios here are on equity and the ranks on Tier 1 plus the allowance, so above_*_guidance_on_equity is a screen against a proxy. Every row states its quarter. No person appears in this data.
| Name | Type | Req | Description |
|---|---|---|---|
| above_guidance | boolean | – | true: only banks whose total CRE exceeds 300% of equity (the guidance line, on a proxy denominator). false: only banks under it. |
| limit | integer | – | Rows to return, 1 to 50. `matched` states the true total regardless. |
| max_cre_to_equity_pct | integer | – | Ceiling on the same ratio. |
| min_assets_usd | integer | – | Floor on total assets in dollars, e.g. 1000000000 for $1B. |
| min_cre_to_equity_pct | integer | – | Floor on total CRE as a percent of equity, e.g. 300. |
| min_noncurrent_pct | integer | – | Floor on the CRE noncurrent ratio in percent. |
| name | string | – | Substring of the institution name, case-insensitive, e.g. 'riverhills'. |
| sort | string | – | Descending on the named measure. Default cre_to_equity. |
| state | string | – | Two-letter US state, district or territory code of the bank's home office. Unknown codes are refused, not searched. |
No output schema declared.
No examples provided.
search_capital_changes What changed on the allocator, private credit and real estate fund graphs ~222
The change tape for the three capital graphs by FIRST SIGHT: the day DFX first saw each row, which is the only order a poller can trust. Commitments and re-ups disclosed by public plans, allocation targets moved, consultants changed, new borrowers and lenders on the credit tape, facilities marked down, maturities moving, sponsor and lender pairs forming, vehicles reported and dropped. Rows that existed when the arm was created are excluded, so history never reads as this week. Poll with the `next_since` the answer returns.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | – | An id on that graph; rows where it is the subject or the related entity. |
| event_type | string | – | – |
| graph | string | yes | al (allocators), pc (private credit), ref (real estate funds). |
| include_seeded | boolean | – | Also rows seeded when the arm was created (the history, not this week's change). |
| limit | integer | – | – |
| since | string | yes | ISO date or timestamp; rows first seen after it. |
No output schema declared.
No examples provided.
search_credit_maturities The maturity wall: facilities maturing inside a window ~186
Debt facilities still on a BDC schedule whose tagged or written maturity falls inside the window (default the next 24 months from today), ordered by date: borrower, sponsor with basis, lien, principal held (a lower bound), mark on cost, the BDCs holding it. Filter by sponsor, lien and minimum principal. A BDC that tags no maturity contributes nothing here.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | next_cursor from a previous page of this tool, unchanged. |
| from | string | – | ISO date; default today. |
| lien | string | – | – |
| limit | integer | – | – |
| min_principal_usd | number | – | – |
| months | integer | – | – |
| sponsor_dfx_id | string | – | A private credit graph id of the form dfx:pc:<uuid> (from search_private_credit, resolve_name or search_entities). |
No output schema declared.
No examples provided.
search_entities Search every DFX domain at once ~346
One search across family offices, independent sponsors and their capital providers, private companies, venture firms, private equity firms and funds, and real estate organisations: by name, or by filters (entity_type, domain, state, sector, ...). Compact cards with stable dfx ids and a per-domain coverage note. Breadth across every domain in one query, with fewer per-domain filters than the domain searches.
| Name | Type | Req | Description |
|---|---|---|---|
| active_only | boolean | – | – |
| asset_class | string | – | – |
| city | string | – | – |
| cursor | string | – | – |
| domain | string | – | Comma-separated: real_estate, family_office, independent_sponsor, venture_capital, private_equity, ria, allocators, private_credit, real_estate_funds. Default: all. |
| entity_type | string | – | family_office, sponsor, capital_provider, company, vc_firm, pe_firm, platform, fund, person, property, organization, ria_firm, advisor, private_fund, allocator, consultant, manager, credit_provider,… |
| has_real_estate | boolean | – | – |
| has_sponsor_relationships | boolean | – | – |
| invests_directly | boolean | – | – |
| limit | integer | – | – |
| min_aum_usd | number | – | – |
| min_opportunity | integer | – | – |
| query | string | – | A name (contains). |
| recent_activity_days | integer | – | – |
| sector | string | – | – |
| sort | string | – | – |
| stage | string | – | – |
| state | string | – | Two-letter US state code. |
| vertical | string | – | – |
No output schema declared.
No examples provided.
search_events The change tape across domains ~301
Dated events across family offices, sponsors, venture, private equity and real estate: investments announced, vehicles formed, Form D and ADV filings, people joining and leaving, funds raised, acquisitions, plan final filings, record departures, loan maturities. Filter by domain, subject dfx_id, event_type, state, significance and window. Routine 13F position and fund-reporting noise is excluded unless asked for. Ordered and windowed by when events occurred.
| Name | Type | Req | Description |
|---|---|---|---|
| dfx_id | string | – | A DFX id: dfx:fo:<uuid> (family office graph), dfx:isi:<uuid> (sponsor graph), dfx:vc:<uuid> (venture graph), dfx:pe:<uuid> (private equity graph), dfx:ria:<uuid> (registered investment adviser graph… |
| domain | string | – | – |
| event_type | string | – | – |
| exclude_routine | boolean | – | – |
| limit | integer | – | – |
| min_significance | integer | – | – |
| signal_family | string | – | – |
| since | string | – | ISO date; events that occurred on or after. |
| state | string | – | Two-letter US state code. |
| within_days | integer | – | – |
No output schema declared.
No examples provided.
search_family_office_investments Observed family office investments ~360
Dated investments family offices have been observed making: target, sector, asset class, structure, control or minority, lead or participant, amounts where disclosed (with basis), board seats, exits, and the source quote. Filter by office, sector, asset class, state, kind or since-date. The evidence behind 'this office backs X'.
| Name | Type | Req | Description |
|---|---|---|---|
| asset_class | string | – | – |
| include_candidates | boolean | – | Without an office id the tape covers family-capital offices only (confirmed and probable SFOs, confirmed MFOs, family investment companies and vehicles), the same rule as dfxintel.com. true widens to… |
| investment_kind | string | – | portfolio_listing is a company named on the office's own portfolio page without a dated transaction; round_participation, direct_investment, recapitalization and credit come from dated press releases… |
| limit | integer | – | – |
| office_dfx_id | string | – | A DFX id: dfx:fo:<uuid> (family office graph), dfx:isi:<uuid> (sponsor graph), dfx:vc:<uuid> (venture graph), dfx:pe:<uuid> (private equity graph), dfx:ria:<uuid> (registered investment adviser graph… |
| sector | string | – | – |
| since | string | – | ISO date. |
| state | string | – | Two-letter US state code. |
No output schema declared.
No examples provided.
search_family_offices Search US family offices ~327
Family offices as compact cards: class (single, multi, embedded...) with confidence, whether they invest directly, sectors and asset classes on record, check size where stated, direct investment count, latest deployment, and counts of people, sponsor and real estate relationships. Filter by state, sector, direct investing, recent activity or AUM. Returns dfx:fo: ids. People and individual investments are not on these cards.
| Name | Type | Req | Description |
|---|---|---|---|
| asset_class | string | – | – |
| city | string | – | – |
| class | string | – | The classifier's verdict. A CANDIDATE is a name, never a class. NOT_FAMILY_OFFICE rows are excluded unless asked for. |
| cursor | string | – | – |
| has_real_estate | boolean | – | Offices with a real estate relationship on the rollup. Answers NOT_COVERED while none carries one; asset_class='real_estate' reads the stated asset classes instead. |
| has_sponsor_relationships | boolean | – | Offices with a CO_INVESTED_WITH or capital-provider edge to the sponsor graph. Answers NOT_COVERED with the count while no office carries one. |
| invests_directly | boolean | – | – |
| limit | integer | – | – |
| min_aum_usd | number | – | – |
| query | string | – | Name contains. |
| recent_activity_days | integer | – | – |
| sector | string | – | A sector on the office's record, e.g. industrial services, healthcare, real estate. |
| sort | string | – | – |
| state | string | – | Two-letter US state code. |
No output schema declared.
No examples provided.
search_independent_sponsors Search independent sponsors ~284
Verified independent sponsor firms (deal-by-deal acquirers of lower middle market companies) as compact cards: verification status, classification, mandate summary, principals, vehicle count and latest vehicle, and how many companies resemble the sponsor's observed deals. Only firms whose identity evidence names them (eligibility VERIFIED_SPONSOR_FIRM) are returned unless include_unverified is true, which returns the unverified filing groups and candidates as a labelled research list. With `sector`, the answer is OBSERVED behaviour: verified sponsors with observed deals in that vertical first. Returns dfx:isi: ids. Capital providers and target companies are not in these results.
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | – | – |
| include_unverified | boolean | – | true returns the research list instead: unverified Form D filing groups and candidates, never paired with companies. Default false. |
| kind | string | – | – |
| limit | integer | – | – |
| min_confidence | number | – | – |
| query | string | – | – |
| sector | string | – | Free text mapped onto the eight verticals (business_services, industrial_manufacturing, industrial_services, healthcare_services, consumer_services, specialty_distribution, transportation_logistics,… |
| sort | string | – | – |
| state | string | – | Two-letter US state code. |
No output schema declared.
No examples provided.
search_parcels Find parcels by place, use, tenure, vintage and assessed value ~384
Search the assessor parcel layer with filters instead of one exact address. Filter by state, municipality, assessor land use code, owner-occupancy, tax-exempt status, year built and assessed value range; results carry assessed value, gross building area, assessed value per square foot, the annual tax and the year built. This is the way to ask a QUESTION of the parcel layer without an address in hand. Every answer states the true match count alongside the sample, and a search that matches nothing names the filter that emptied it rather than returning a bare empty list. At least one filter is required. Free. EVERY ROW CARRIES A `dfx_id` AND IT IS A HANDLE, NOT A LABEL: the canonical parcel id this server uses for that parcel's events, ownership, debt and recorded sales.
| Name | Type | Req | Description |
|---|---|---|---|
| built_after | integer | – | Exclusive lower bound on year built |
| built_before | integer | – | Exclusive upper bound on year built |
| land_use | string | – | Assessor land use code, for example 'R3' for a three family dwelling |
| limit | integer | – | Max 50. This sizes the SAMPLE only: every answer states the true match count beside it, so a small limit never hides how big the result really is. |
| max_assessed | integer | – | Maximum assessed total, in dollars |
| min_assessed | integer | – | Minimum assessed total, in dollars |
| municipality | string | – | City or town, for example 'Boston' |
| owner_occupied | boolean | – | true for owner-occupied, false for investor or institutionally held. Parcels whose roll does not state it are excluded either way. |
| state | string | – | Two letter state code |
| tax_exempt | boolean | – | true for the institutional universe (churches, universities, authorities), false for the taxable one |
No output schema declared.
No examples provided.
What is the DFX Real Estate Intelligence MCP server?
DFX Real Estate Intelligence is an MCP server listed in the public MCP registry as io.github.Capital-W-Holdings/us-property-parcel-real-estate…. Free, no key. US commercial real estate: FHA/CMBS maturities, LIHTC/HUD expiries, bank CRE exposure. This page covers its hosted endpoint (https://exchange-production-9123.up.railway.app/mcp).
Is the DFX Real Estate Intelligence MCP server safe to use?
DFX Real Estate Intelligence 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 DFX Real Estate Intelligence MCP server expose?
DFX Real Estate Intelligence exposes 83 tools: resolve_address, resolve_organization, get_occupancy, get_property_record, search_property_events, and 78 more. Their descriptions and schemas cost roughly 23,743 tokens of context every time the server is loaded.
Does the DFX Real Estate Intelligence MCP server require authentication?
No. We connected to DFX Real Estate Intelligence without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the DFX Real Estate Intelligence MCP server still maintained?
DFX Real Estate Intelligence is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.