# DFX Intelligence (remote · exchange-production-9123.up.railway.app)

Private credit: lenders, sponsor financing, credit facilities, BDC holdings, LP allocations. Cited.

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

## Components

- remote · `exchange-production-9123.up.railway.app`: 65/100, [markdown](https://verifymcp.io/servers/capital-w-holdings-us-property-parcel-real-estate-debt/exchange-production-9123-2.md), [page](https://verifymcp.io/servers/capital-w-holdings-us-property-parcel-real-estate-debt/exchange-production-9123-2)
- remote · `exchange-production-9123.up.railway.app`: 65/100 (this document), [markdown](https://verifymcp.io/servers/capital-w-holdings-us-property-parcel-real-estate-debt/mcp-core.md), [page](https://verifymcp.io/servers/capital-w-holdings-us-property-parcel-real-estate-debt/mcp-core)
- remote · `exchange-production-9123.up.railway.app`: 37/100, [markdown](https://verifymcp.io/servers/capital-w-holdings-us-property-parcel-real-estate-debt/mcp-core-member.md), [page](https://verifymcp.io/servers/capital-w-holdings-us-property-parcel-real-estate-debt/mcp-core-member)

## Channel facts

- Endpoint: `https://exchange-production-9123.up.railway.app/mcp/core?c=reg`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.16.0`

## Trust breakdown

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

Scored 2026-11-04.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (watch_cancel).
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 51/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 5437 tokens (~271/item across 20 items; 20 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 43/100
  - Stability observed for 13 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 91/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 68% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 20 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 21 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the DFX Intelligence MCP server?

DFX Intelligence is a hosted endpoint at https://exchange-production-9123.up.railway.app/mcp/core?c=reg, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http capital-w-holdings-us-property-parcel-real-estat 'https://exchange-production-9123.up.railway.app/mcp/core?c=reg'
```

### Cursor

```json
{
  "mcpServers": {
    "capital-w-holdings-us-property-parcel-real-estat": {
      "url": "https://exchange-production-9123.up.railway.app/mcp/core?c=reg"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "capital-w-holdings-us-property-parcel-real-estat": {
      "type": "http",
      "url": "https://exchange-production-9123.up.railway.app/mcp/core?c=reg"
    }
  }
}
```

### Codex

```toml
[mcp_servers.capital-w-holdings-us-property-parcel-real-estat]
url = "https://exchange-production-9123.up.railway.app/mcp/core?c=reg"
```

### opencode

```json
{
  "$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/core?c=reg",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add capital-w-holdings-us-property-parcel-real-estat --url 'https://exchange-production-9123.up.railway.app/mcp/core?c=reg' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  capital-w-holdings-us-property-parcel-real-estat:
    url: "https://exchange-production-9123.up.railway.app/mcp/core?c=reg"
```

### Netclaw

```json
{
  "McpServers": {
    "capital-w-holdings-us-property-parcel-real-estat": {
      "Transport": "http",
      "Url": "https://exchange-production-9123.up.railway.app/mcp/core?c=reg"
    }
  }
}
```

### Vellum

```bash
assistant mcp add capital-w-holdings-us-property-parcel-real-estat -t streamable-http -u 'https://exchange-production-9123.up.railway.app/mcp/core?c=reg'
```

### Other

```json
{
  "mcpServers": {
    "capital-w-holdings-us-property-parcel-real-estat": {
      "type": "http",
      "url": "https://exchange-production-9123.up.railway.app/mcp/core?c=reg"
    }
  }
}
```

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

## Changelog

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

### 2026-11-03 (score 65, +1)

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

### 2026-11-01 (score 64, +1)

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

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

- [security] Tool “search_ria_advisor_moves” rewrote its description, which is the text the model reads
- [cosmetic] “search_ria_advisor_moves” added an optional parameter “state”

### 2026-10-29 (score 62, 0)

- [functional] New tool “get_research_records”
- [cosmetic] “search_allocator_commitments” added an optional parameter “until”

### 2026-10-27 (score 62, +1)

- [cosmetic] “research” reworded the description of “depth”

### 2026-10-26 (score 61, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “research” rewrote its description, which is the text the model reads
- [cosmetic] “research” reworded the description of “depth”
- [cosmetic] “research” reworded the description of “continue”

### 2026-10-25 (score 61, +1)

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

### 2026-10-23 (score 60, +1)

- [functional improvement] Stability: unverified → 0.03

## MCP tools (20)

### `research` (~481 tokens)

Research one question in one call

One private markets question in one call: BDC and private credit lenders, borrowers, loans, maturities and non-accrual, sponsors, advisers, teams, pension commitments. Reads SEC filings (BDC schedules, Form ADV, IAPD) and plan documents; returns entities, an answer from cited claims only, coverage limits, withheld counts. identify and screen depth are free. Paged by continuation. No model inside.

Input parameters:

- `as_of` (string): Optional ISO date the answer is read as of (default: today).
- `continue` (string): page.continuation from a previous answer: returns its next page, read through this caller's own access. Pages split between whole claims, never inside one.
- `depth` (string): Optional. The default depends on access: without a paid DFX plan or the 7 day trial (anonymous, a free key or a free connection) only identify and screen run, and an unnamed depth runs at screen; wit…
- `detail` (string): compact: identity, the answer, its basis claims and counts, under 2 KB. research (default): the page in full.
- `entity` (string): Optional. The subject: a name (firm, fund, company, plan, advisor) or a DFX id (dfx:<graph>:<id>). Without it, every entity is read from the question.
- `question` (string): The question in plain language, as an analyst would ask it.
- `since` (string): Optional ISO date: the window start (depth=monitor: the checkpoint).
- `workflow` (string): Optional hint. credit_by_sponsor: BDC lenders, positions, facilities and sponsors. advisor_movement: IAPD registration moves, people and teams. allocator_to_company: plan commitments and capital path…

Output parameters:

- `answer` (object): text, basis (claim ids on this page), state
- `answer_state` (string)
- `claims` (array): every claim the rows on this page carry (lane I1's claims.research_claims): claim_id (content addressed: subject, predicate, object, value, date, source), row, predicate, claim_type, evidence_status,…
- `claims_meta` (string)
- `contradictions` (array)
- `coverage_limits` (array)
- `dates` (array)
- `do_not_conclude` (array)
- `events` (array)
- `facts` (array)
- `identities` (object): the subject, every other entity resolved, candidates
- `next` (array)
- `ok` (boolean)
- `page` (object): index, rows and claims on this page and in all, rows after it, continuation
- `plan` (object): workflow, operation, depth, the operations run and the budget
- `premise_check` (object|null)
- `question` (string)
- `relationships` (array)
- `revisit` (object): how to come back to this answer: for a key whose plan includes watches, one watch_create call that saves the question; otherwise what that needs, plus meanwhile_call (a free search_private_credit_cha…
- `schema` (string)
- `state` (string): OK, NO_MATCH, NOT_COVERED, UNKNOWN, or an error state
- `uncertainty` (array)
- `usage` (object): operations run, budget, bytes, latency; no model call
- `withheld` (object)

### `what_can_dfx_answer` (~225 tokens)

Ask in plain language whether DFX can help

Plain-language objective in, coverage and routing out: the DFX domain that answers it, the arguments for that domain's search, and a free three-row sample. Covers private credit, private equity, venture, family offices, RIAs, allocators and US commercial real estate.

Input parameters:

- `constraints` (object): Structured overrides for what was parsed out of `objective`, applied last so they outrank the prose. ONLY `state`, `event_type`, `within_days` and `limit` are honoured; any other key is ignored witho…
- `domain` (string): One domain's coverage and tools, answered instead of routing a real estate objective.
- `objective` (string): What you are trying to do, in one sentence and in your own words, for example 'commercial real estate loans in Ohio maturing in the next year'. A place named in the sentence is what the free sample i…
- `topic` (string): A topic in your own words ('family office direct investing', 'venture fundraising'); answers with the domains that cover it.

Output parameters:

- `can_help` (boolean)
- `citation_check` (object)
- `entitlement` (object)
- `generated_at` (string)
- `locked` (object)
- `ok` (boolean)
- `state` (string)
- `truncated` (boolean)
- `warnings` (array)

### `resolve_name` (~272 tokens)

A name to DFX ids, fast, across every private capital graph

A firm, fund, person or company name to canonical DFX ids across every private-capital graph, with the roles the same institution holds on other graphs (manager, adviser, lender, allocator). Without a paid plan on a vertical, lists name their first 5 rows and count the rest; each answer states what it withheld.

Input parameters:

- `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, required): The name, or a word of it (Blackstone, Horowitz, Thoma).
- `prefer_domain` (string): The domain the question is about (same keys as domain, plus real_estate). Reorders, never filters: a row holding every asked word stays first, then rows in the preferred domain, then a real estate br…

Output parameters:

- `citation_check` (object)
- `count` (integer)
- `entitlement` (object)
- `generated_at` (string)
- `locked` (object)
- `ok` (boolean)
- `pagination` (object)
- `results` (array)
- `state` (string)
- `total` (integer|null)
- `truncated` (boolean)
- `warnings` (array)

### `search_entities` (~342 tokens)

Search every DFX domain at once

Search across every DFX domain by name or by filters (type, domain, state, sector, activity). Returns compact cards with stable DFX ids and a coverage note per domain. Without a paid plan on a vertical, lists name their first 5 rows and count the rest; each answer states what it withheld.

Input parameters:

- `active_only` (boolean)
- `asset_class` (string)
- `city` (string)
- `cursor` (string): The next_cursor value from the previous page of this tool, unchanged.
- `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)

Output parameters:

- `citation_check` (object)
- `count` (integer)
- `entitlement` (object)
- `generated_at` (string)
- `locked` (object)
- `ok` (boolean)
- `pagination` (object)
- `results` (array)
- `state` (string)
- `total` (integer|null)
- `truncated` (boolean)
- `warnings` (array)

### `get_entity` (~243 tokens)

Everything DFX knows about one id

Everything DFX holds on one id: the card, relationships with sources and dates, recent events, the observations each fact traces to, and identity links to other graphs by shared CRD, CIK or EIN. detail=compact returns key facts and counts under 2 KB. Without a paid plan on a vertical, lists name their first 5 rows and count the rest; each answer states what it withheld.

Input parameters:

- `detail` (string): compact: the id, name, type, up to five key facts with their citation and counts of the related rows by type, under 2 KB. research (the default): the full answer.
- `dfx_id` (string, required): A DFX id of the form dfx:<graph>:<id> (fo, isi, vc, pe, ria, al, pc, ref), or a bare real estate id.
- `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)

Output parameters:

- `citation_check` (object)
- `entitlement` (object)
- `entity` (object)
- `generated_at` (string)
- `known` (boolean)
- `locked` (object)
- `ok` (boolean)
- `recent_events` (array)
- `relationships` (array)
- `state` (string)
- `truncated` (boolean)
- `warnings` (array)

### `search_relationships` (~192 tokens)

Published edges on one entity

Every published relationship touching one entity (employs, manages, invested in, lends to, owns, board member of and more), each with role, dates, currency, evidence class and source. Without a paid plan on a vertical, lists name their first 5 rows and count the rest; each answer states what it withheld.

Input parameters:

- `current_only` (boolean)
- `detail` (string): compact: the id, name, type, up to five key facts with their citation and counts of the related rows by type, under 2 KB. research (the default): the full answer.
- `dfx_id` (string, required): A DFX id of the form dfx:<graph>:<id> (fo, isi, vc, pe, ria, al, pc, ref), or a bare real estate id.
- `limit` (integer)
- `rel_type` (string)

Output parameters:

- `citation_check` (object)
- `entitlement` (object)
- `generated_at` (string)
- `locked` (object)
- `ok` (boolean)
- `relationships` (array)
- `state` (string)
- `truncated` (boolean)
- `warnings` (array)

### `relationship_path` (~148 tokens)

How two entities are connected

An evidence-backed path between two DFX ids across every graph: each hop is a published relationship with its source, or an identity link by shared CRD, CIK or EIN. NO_MATCH means no observed path within the hop budget, not that the two are unconnected. Without a paid plan on a vertical, lists name their first 5 rows and count the rest; each answer states what it withheld.

Input parameters:

- `from_dfx_id` (string, required): A DFX id of the form dfx:<graph>:<id>.
- `max_hops` (integer)
- `to_dfx_id` (string, required): A DFX id of the form dfx:<graph>:<id>.

Output parameters:

- `citation_check` (object)
- `entitlement` (object)
- `generated_at` (string)
- `locked` (object)
- `ok` (boolean)
- `path` (array|null)
- `state` (string)
- `truncated` (boolean)
- `warnings` (array)

### `get_capital_paths` (~191 tokens)

How capital reaches this institution, and where it goes next

Capital flow paths through one institution: plan to fund to manager to company, sponsor to borrower to facility to lender, and more. Each hop names its graph, id, role and basis, with the amount where disclosed and a rule-graded confidence. Without a paid plan on a vertical, lists name their first 5 rows and count the rest; each answer states what it withheld.

Input parameters:

- `dfx_id` (string, required): A DFX id of the form dfx:<graph>:<id> (fo, isi, vc, pe, ria, al, pc, ref), or a bare real estate id.
- `include_former` (boolean): Also return paths through a lender edge no longer held, marked FORMER.
- `kind` (string): One path kind as the summary names it (for example ALLOCATOR_TO_PE_FUND_TO_MANAGER).
- `limit` (integer)

Output parameters:

- `citation_check` (object)
- `count` (integer)
- `entitlement` (object)
- `generated_at` (string)
- `locked` (object)
- `ok` (boolean)
- `pagination` (object)
- `results` (array)
- `state` (string)
- `total` (integer|null)
- `truncated` (boolean)
- `warnings` (array)

### `changes_since` (~413 tokens)

What DFX has learned since your last call

What DFX learned since a time: with a domain, that graph's events by first sight (dfx_id narrows them to one entity), each labelled NEW_EVENT, NEWLY_OBSERVED_HISTORICAL or SCHEDULED_FUTURE; without one, real estate changes since a cursor.

Input parameters:

- `dfx_id` (string): With a domain: only the events about this entity (a borrower, lender, sponsor or fund on that domain's graph), as dfx:<graph>:<id>.
- `domain` (string): An intelligence domain instead of real estate; with it, `since` is an ISO timestamp.
- `event_type` (string): One served event family.
- `include_historical` (boolean): With `domain`: also return rows DFX first saw in the window that occurred before it (novelty NEWLY_OBSERVED_HISTORICAL) and rows seeded when the domain's tape was created. Default false. Real estate…
- `include_scheduled` (boolean): With `domain`: also return rows whose occurrence date is after today (novelty SCHEDULED_FUTURE), such as an announced closing date. Default false.
- `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): Real estate only (no domain): one property or parcel. With a domain, dfx_id scopes the feed to one entity.
- `since` (string): With a domain: an ISO timestamp. Without one: the opaque cursor a previous answer returned; unset, the answer is a starting position and no events, by design.
- `state` (string): Real estate only (no domain): a two letter state code.

Output parameters:

- `citation_check` (object)
- `count` (integer)
- `entitlement` (object)
- `generated_at` (string)
- `locked` (object)
- `ok` (boolean)
- `pagination` (object)
- `results` (array)
- `state` (string)
- `total` (integer|null)
- `truncated` (boolean)
- `warnings` (array)

### `verify` (~346 tokens)

Check a claim against DFX's evidence

A claim in, SUPPORTED, PARTIALLY_SUPPORTED, CONTRADICTED or UNKNOWN out, with the cited evidence rows. Names resolve only to records carrying that name; absence of evidence is UNKNOWN, never a contradiction.

Input parameters:

- `as_of` (string): ISO date the claim is about, for lending and position claims that do not state one.
- `claim` (string)
- `object` (string)
- `object_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…
- `predicate` (string)
- `subject` (string)
- `subject_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…
- `year` (integer)

Output parameters:

- `citation_check` (object)
- `entitlement` (object)
- `evidence` (array)
- `generated_at` (string)
- `locked` (object)
- `ok` (boolean)
- `state` (string)
- `truncated` (boolean)
- `verdict` (string)
- `warnings` (array)

### `get_credit_provider` (~195 tokens)

One credit provider or BDC in full

A credit manager or a BDC: classes, advised BDCs from each 10-K, quarterly portfolio (fair value, principal, borrowers, marks, PIK), largest facilities and sponsors financed. Accepts a private credit id or a BDC's CIK. detail=compact returns key facts under 2 KB. Without a paid plan on a vertical, lists name their first 5 rows and count the rest; each answer states what it withheld.

Input parameters:

- `detail` (string): compact: the id, name, type, up to five key facts with their citation and counts of the related rows by type, under 2 KB. research (the default): the full answer.
- `dfx_id` (string, required): A DFX id of the form dfx:<graph>:<id> (fo, isi, vc, pe, ria, al, pc, ref), or a bare real estate id.

Output parameters:

- `citation_check` (object)
- `entitlement` (object)
- `entity` (object)
- `generated_at` (string)
- `known` (boolean)
- `locked` (object)
- `ok` (boolean)
- `quarters` (array)
- `state` (string)
- `truncated` (boolean)
- `warnings` (array)

### `get_borrower_facilities` (~266 tokens)

One borrower's facilities and the lender group on each

Every facility a borrower has on the BDC tape (kind, lien, principal as a lower bound, pricing, maturity) with each BDC holding a piece. group_by=lender: one row per BDC, its tranches summed, cited to its own filing. Without a paid plan on a vertical, lists name their first 5 rows and count the rest; each answer states what it withheld.

Input parameters:

- `as_of` (string): group_by=lender: the schedule date on or before which to read (default latest).
- `detail` (string): compact: the id, name, type, up to five key facts with their citation and counts of the related rows by type, under 2 KB. research (the default): the full answer.
- `dfx_id` (string, required): A DFX id of the form dfx:<graph>:<id> (fo, isi, vc, pe, ria, al, pc, ref), or a bare real estate id.
- `group_by` (string): lender: one row per BDC with its tranches summed at one schedule date, from its own filing.
- `held_only` (boolean): Facilities still on a schedule at the latest quarter end.
- `limit` (integer)

Output parameters:

- `citation_check` (object)
- `count` (integer)
- `entitlement` (object)
- `generated_at` (string)
- `locked` (object)
- `ok` (boolean)
- `pagination` (object)
- `results` (array)
- `state` (string)
- `total` (integer|null)
- `truncated` (boolean)
- `warnings` (array)

### `search_ria_advisor_moves` (~316 tokens)

Advisor firm changes as registration dates

Advisors who left one firm and registered at another, from IAPD registration dates: the person, from and to firms with class, the end and begin dates, the gap and the move type; with a firm, by branch state. Bulk re-registrations are excluded unless asked for. Without a paid plan on a vertical, lists name their first 5 rows and count the rest; each answer states what it withheld.

Input parameters:

- `advisor_dfx_id` (string): An RIA graph advisor id of the form dfx:ria:<uuid>, or the individual CRD number.
- `cursor` (string): The next_cursor value from the previous page of this tool, unchanged.
- `from_dfx_id` (string): A DFX id of the form dfx:<graph>:<id>.
- `include_bulk` (boolean)
- `include_departures` (boolean)
- `limit` (integer)
- `move_type` (string)
- `since` (string): ISO date; registration ended on or after.
- `state` (string): Two-letter US state code (USPS, DC and territories included). Needs from_dfx_id or to_dfx_id: the advisor's branch at the destination firm (moves in) or, with only from_dfx_id, at the origin firm (mo…
- `to_dfx_id` (string): A DFX id of the form dfx:<graph>:<id>.
- `until` (string): ISO date.

Output parameters:

- `citation_check` (object)
- `count` (integer)
- `entitlement` (object)
- `generated_at` (string)
- `locked` (object)
- `ok` (boolean)
- `pagination` (object)
- `results` (array)
- `state` (string)
- `total` (integer|null)
- `truncated` (boolean)
- `warnings` (array)

### `search_allocator_commitments` (~332 tokens)

The commitment tape: who committed to which fund, when, in the plan's own words

Public plans' own commitment disclosures, one row per line: plan, fund as printed, manager, amount, status, dates, vintage, re-up, the plan's own performance figures and the source document with a quote. Without a paid plan on a vertical, lists name their first 5 rows and count the rest; each answer states what it withheld.

Input parameters:

- `allocator_dfx_id` (string): A consultant id on the allocator graph, dfx:al:<uuid>.
- `bucket` (string)
- `consultant_dfx_id` (string): A consultant id on the allocator graph, dfx:al:<uuid>.
- `cursor` (string): The next_cursor value from the previous page of this tool, unchanged.
- `first_time_only` (boolean)
- `fund_dfx_id` (string): A consultant id on the allocator graph, dfx:al:<uuid>.
- `limit` (integer)
- `manager_dfx_id` (string): A consultant id on the allocator graph, dfx:al:<uuid>.
- `query` (string): Allocator, fund or manager name contains.
- `re_ups_only` (boolean)
- `since` (string): ISO date; commitment or approval date on or after (a holding with neither: its vintage year, never the report date).
- `sort` (string)
- `status` (string)
- `until` (string): ISO date; the same decision date on or before. since and until together give one year: 2018-01-01 to 2018-12-31.

Output parameters:

- `citation_check` (object)
- `count` (integer)
- `entitlement` (object)
- `generated_at` (string)
- `locked` (object)
- `ok` (boolean)
- `pagination` (object)
- `results` (array)
- `state` (string)
- `total` (integer|null)
- `truncated` (boolean)
- `warnings` (array)

### `get_research_records` (~176 tokens)

DFX's published research findings

DFX's own published research records and investigations: each finding with its permanent id, version, as-of date, denominator, method link, sources and citation line. With record_id, the evidence manifest: every claim with its basis (reported, DFX calculation, DFX inference) and source. A record with a correction pending has its statements withheld.

Input parameters:

- `kind` (string): original_finding: DFX computed or connected it. announcement_with_dfx_context: a third party announced it and DFX added context.
- `limit` (integer)
- `query` (string): Words that must all appear in a finding's title, finding or categories (case ignored).
- `record_id` (string): One research record id, DFX-RESEARCH-YYYY-NNNN: returns its entry and evidence manifest.

Output parameters:

- `citation_check` (object)
- `count` (integer)
- `entitlement` (object)
- `generated_at` (string)
- `locked` (object)
- `manifest` (object|null)
- `ok` (boolean)
- `research_record` (object)
- `research_records` (array)
- `state` (string)
- `total` (integer)
- `truncated` (boolean)
- `warnings` (array)

### `watch_create` (~365 tokens)

Create a research watch

Save a private credit investigation for this account: a research question and/or borrowers, a sponsor's borrowers or a lender's book, and the changes to watch (lenders, maturity, spread, PIK, marks). `since` starts it at a past date. Returns a watch id and checkpoint. Needs a DFX account key.

Input parameters:

- `baseline` (boolean): Record conclusions about each borrower at the first checkpoint (default true).
- `conditions` (array): Which changes to watch; default all measured ones.
- `include_failing` (boolean): Also watch types measured above 10% false (exits, first appearances, PIK added, recoveries), verified ones only.
- `include_historical` (boolean): Also show filings older than the checkpoint that were ingested since.
- `include_unmeasured` (boolean): Also watch footnote and N-PORT types (non-accrual, default) that the quality sample could not check.
- `maturity_within_months` (integer): Keep only borrowers with debt maturing inside this window.
- `min_materiality` (number): Drop changes scored below this.
- `name` (string): A label for the objective.
- `research` (object): Save an investigation: the research question this watch keeps answering. Its claims are saved with the checkpoint; scope may then be omitted (the question's subject).
- `scope` (object): What to watch: kind borrowers (their ids), sponsor (its current borrowers) or lender (a BDC's book at its latest quarter), and ids of the form dfx:pc:<uuid>.
- `since` (string): ISO date up to 400 days back: start the watch as if saved then, so the first read returns what was filed since.

Output parameters:

- `checkpoint` (string)
- `generated_at` (string)
- `materiality_rubric` (object)
- `ok` (boolean)
- `scope` (object)
- `state` (string)
- `store_kind` (string)
- `watch_id` (string)

### `watch_list` (~30 tokens)

List research watches

This account's watches with status, latest checkpoint, reads used and cost. Needs a DFX account key.

Output parameters:

- `generated_at` (string)
- `ok` (boolean)
- `quota` (object|null)
- `results` (array)
- `state` (string)
- `store_kind` (string)

### `watch_changes` (~123 tokens)

Changes since a checkpoint

Material changes since a checkpoint: each with its filing, filing date, a check against the lender's own rows, NEW_EVENT or NEWLY_OBSERVED_HISTORICAL, a materiality score with its rubric, and duplicates folded. Returns the next checkpoint; a repeated call returns the same delivery.

Input parameters:

- `checkpoint` (string): The checkpoint id the previous answer returned; omit for the latest.
- `include_historical` (boolean): Also show filings older than the checkpoint that were ingested since.
- `watch_id` (string, required): A watch id from watch creation.

Output parameters:

- `checkpoint` (string)
- `excluded` (object)
- `generated_at` (string)
- `has_more` (boolean)
- `ok` (boolean)
- `results` (array)
- `state` (string)
- `store_kind` (string)

### `watch_reevaluate` (~80 tokens)

Re-test earlier conclusions

Re-tests the conclusions recorded at a checkpoint (maturity, mark, lenders, performing) against what changed since, and diffs a saved investigation's claims against the question asked now.

Input parameters:

- `checkpoint` (string): Whose conclusions to re-test; omit for the first checkpoint.
- `watch_id` (string, required): A watch id from watch creation.

Output parameters:

- `generated_at` (string)
- `ok` (boolean)
- `results` (array)
- `state` (string)
- `store_kind` (string)
- `tally` (object)

### `watch_cancel` (~42 tokens)

Cancel a research watch

Cancels a watch: no further deliveries, the quota slot is freed, earlier deliveries stay readable.

Input parameters:

- `watch_id` (string, required): A watch id from watch creation.

Output parameters:

- `generated_at` (string)
- `ok` (boolean)
- `state` (string)
- `status` (string)
- `store_kind` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/capital-w-holdings-us-property-parcel-real-estate-debt/mcp-core#diagnostics

## Score history

- 2026-11-04: 65
- 2026-11-03: 65
- 2026-11-02: 64
- 2026-11-01: 64
- 2026-10-31: 63
- 2026-10-30: 63
- 2026-10-29: 62
- 2026-10-28: 62
- 2026-10-27: 62
- 2026-10-26: 61
- 2026-10-25: 61
- 2026-10-24: 60
- 2026-10-23: 60
- 2026-10-22: 59

## Common questions

### What is the DFX Intelligence MCP server?

DFX Intelligence is an MCP server listed in the public MCP registry as io.github.Capital-W-Holdings/us-property-parcel-real-estate…. Private credit: lenders, sponsor financing, credit facilities, BDC holdings, LP allocations. Cited. This page covers its hosted endpoint (https://exchange-production-9123.up.railway.app/mcp/core?c=reg).

### Is the DFX Intelligence MCP server safe to use?

DFX Intelligence scores 65 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 Intelligence MCP server expose?

DFX Intelligence exposes 20 tools: research, what_can_dfx_answer, resolve_name, search_entities, get_entity, and 15 more. Their descriptions and schemas cost roughly 4,778 tokens of context every time the server is loaded.

### Does the DFX Intelligence MCP server require authentication?

No. We connected to DFX Intelligence without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the DFX Intelligence MCP server still maintained?

DFX Intelligence is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://exchange-production-9123.up.railway.app/mcp/core?c=reg
- Repository: https://github.com/Capital-W-Holdings/us-property-parcel-real-estate-debt
- Website: https://dfxintel.com/agents
- Changelog RSS feed: https://verifymcp.io/servers/capital-w-holdings-us-property-parcel-real-estate-debt/mcp-core.xml
- Changelog JSON feed: https://verifymcp.io/servers/capital-w-holdings-us-property-parcel-real-estate-debt/mcp-core.json
- HTML version of this page: https://verifymcp.io/servers/capital-w-holdings-us-property-parcel-real-estate-debt/mcp-core
