C4C: Mortgage Industry Regulations
Verbatim U.S. mortgage regulatory text with citations and effective dates. Read-only, no sign-in.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"mortgage-regs": {
"url": "https://mcp.claudeforcompliance.com/mcp"
}
}
}Remote-Endpunkte
https://mcp.claudeforcompliance.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (10)
🟢get_obligation(obligation_id, offset, limit, compare_versions)
Return one obligation's verbatim regulator text with full provenance. Answer with this text: quote it exactly, with its section citation, never a paraphrase (a summary may follow the quotes, labeled as your summary). If `currency` is not null, tell the user its headline (e.g. two versions apply, a pending revision, superseded, expired) and which version you quoted. For specific requirements in a long section, find_in_section is faster: it returns only the paragraphs containing your terms. Paging: at most 24,000 chars per call (`limit` asks for fewer). `paging` says where you are (page N of M) and `paging.how` says exactly what to do next: while `next_offset` is a number, call again with the same obligation_id and offset=next_offset; null means the section ends in this response. chars_offset + chars_returned is your position in chars_total. `truncated` means this response is not the whole section: never assert that the rule does not require something until you have read every page. Two versions: an FHA 4000.1 section Update 18 revises has two obligations, the in-force text and its Update 18 revision (`<id>::update-18`); `version` says which this is and `other_version` gives the other's obligation_id -- quote the one that applies and say which. `compare_versions: true` adds `version_changes`: the sentences Update 18 deletes and adds in this section. `canonical_citation` is the section's citation in the regulator's style (e.g. "4000.1 II.A.5.d", "B3-3.3-07", "38 U.S.C. 3709(b)"; null if not derivable): cite it. If `canonical_id` is set, this register is a same-text copy of that one. If `figures` is empty the section states no figure -- say so rather than supplying one from memory.
Eingabe-Schema
{
"type": "object",
"properties": {
"obligation_id": {
"type": "string",
"minLength": 1
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Max chars to return from offset (200-24000; default 24000). With a find_in_section passage offset, a small limit reads just around it.",
"type": "integer",
"minimum": 1,
"maximum": 24000
},
"compare_versions": {
"description": "On an FHA section Update 18 revises: also return `version_changes`, the sentences Update 18 deletes and adds (verbatim units with offsets).",
"type": "boolean"
}
},
"required": [
"obligation_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_reg(register_id)
List the obligations in a register with their sections, sizes, provenance and `currency` (null, or a warning such as two versions apply / pending revision / superseded / expired -- tell the user). Returns a manifest, NOT the regulator text: quote from get_obligation or find_in_section. Use this to decide which sections are worth reading. A dual-version section lists both obligations, each with its `version` ("in-force" or "update-18-optional") and `other_version`.
Eingabe-Schema
{
"type": "object",
"properties": {
"register_id": {
"type": "string",
"minLength": 1
}
},
"required": [
"register_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢lookup_citation(citation)
Resolve a regulatory citation (for example '4000.1 II.A.8.d', 'B3-4.3-04', 'Freddie Mac Guide 5306.1', '38 U.S.C. 3737', 'M26-7 Chapter 4 Topic 9', 'SBA Notice 5000-872764', 'SOP 50 10 8 B.Ch1.A.2', 'HB-1-3555 11.3') to a register. A cite that parses but is not in the corpus is `not_found` (with `parsed`). Refuses when a citation is ambiguous rather than guessing -- if you receive an 'ambiguous' error, ask the user which version they mean. Does not suggest near matches. A handbook section resolves to the handbook's own register; documents that cite or amend it (e.g. Mortgagee Letters) are listed separately in `related` and are not the section's text. Identical copies of one section resolve to one register and are listed in `also_at`.
Eingabe-Schema
{
"type": "object",
"properties": {
"citation": {
"type": "string",
"minLength": 1
}
},
"required": [
"citation"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢search_regs(query, family, limit, currency_kind)
Search US mortgage regulator text. Prefer the regulator's vocabulary ("debt-to-income ratio"); common abbreviations (DTI, LTV, RSU, IRRRL, W-2, VOE, PITI, BK ...) are expanded for you. Each result gives the section title and a verbatim excerpt; match "partial" means the section lacks the words in `missing_terms` -- if a missing word is the point of the question, that section does not answer it. ORDER: results are sorted by `rank_score`, highest first, with no separate tiers: `score` (text match, title-weighted) x term coverage x title fit (a section or document whose title names the whole query ranks higher), with superseded, pending, incorporated or expired text x0.2 and a special program's section (`special_program`: Home Possible, HomeReady, 203(k), HECM...) x0.5 unless the query names the program. `canonical_citation` is the section's citation in the regulator's own style (null when it cannot be derived): cite it rather than a cite from memory. `currency_kind` filters to sections with that currency signal (e.g. "dual-version" for FHA sections Update 18 revises, "pending", "revision-pending", "expired"; "any" = any signal). If the titles don't fit the question, search again with other terms. A special program's section (HomeStyle, 203(k), IRRRL...) applies only to that program. Excerpts are not the full rule: answer by quoting the regulator's text verbatim with its section citation -- find_in_section returns just the paragraphs with your terms (fastest), get_obligation the whole section. A non-null `currency` is a warning (two versions / revision pending / pending / superseded / predates the statute / incorporated into the handbook / expires / source relocated): tell the user. `version` "update-18-optional" marks HUD's Update 18 revision of an FHA section (optional now, mandatory on `mandatory_date`), "in-force" the text that governs by default; `other_version` is the other text's obligation_id. An empty result: search once more in the regulator's own terms (`guidance` names any shorthand to spell out). If that is also empty, THE CORPUS DOES NOT ADDRESS THIS: say so; do not supply the answer from your own knowledge.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1
},
"family": {
"type": "string",
"enum": [
"hud",
"va",
"fnma",
"fhlmc",
"gnma",
"usda",
"sba"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25
},
"currency_kind": {
"description": "Only sections carrying this currency signal, e.g. \"dual-version\", \"pending\", \"revision-pending\"; \"any\" for any signal.",
"type": "string",
"enum": [
"any",
"dual-version",
"revision-pending",
"pending",
"expires",
"expired",
"superseded",
"predates-statute",
"incorporated",
"incorporated-update-18",
"revised",
"revised-this-update",
"source-relocated",
"proposed",
"directive-watch",
"vacated-watch"
]
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢find_in_section(obligation_id, terms, max_passages)
Return ONLY the verbatim paragraphs of one obligation (section) that contain your terms -- the fast way to get specific requirements out of a long section, instead of paging through it with get_obligation. terms: 1-6 short words or phrases in the regulator's vocabulary ("cash-out", "credit score", "LTV"); common abbreviations are expanded. Each passage's `verbatim` is the regulator's exact text: quote it with the section citation (`canonical_citation` is the passage's pinpoint cite where derivable; `heading_path` names every heading above it, e.g. "vi. No Cash-Out Refinances > (A) Rate and Term > ... > (i) Standard" -- check it is the program you mean), never paraphrase. `offset` locates it in the section for get_obligation. If `currency` is not null, tell the user (two versions apply, pending revision, superseded, expired). A dual-version section's `version` says which text this is ("in-force" or "update-18-optional") and `other_version` names the other: say which one you quoted. A match inside a table returns the whole table (header and every row, `table: true`): quote the rows that apply. No match does not mean the rule is silent -- try other terms or read the section.
Eingabe-Schema
{
"type": "object",
"properties": {
"obligation_id": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"terms": {
"minItems": 1,
"maxItems": 6,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"description": "1-6 short terms, e.g. [\"cash-out\", \"credit score\"]. Not document text."
},
"max_passages": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"obligation_id",
"terms"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢verify_quote(text, register_id)
Check whether a passage of text actually appears in the regulator's source document. Works on text from ANY source, not only text this server returned -- use it to check your own draft answer before presenting it. Outcomes: 'exact' (contiguous in source character for character -- quote marks and dashes as the source writes them; a line break counts as a space), 'normalized' (matches only after typography folding -- straight vs curly quotes, dash kinds, ' vs " -- `typography_folded: true`), 'composed' (every word traceable to source but assembled from non-contiguous pieces in source order -- legitimate for section overviews, and the outcome for a quote whose elisions are marked with an ellipsis ('…' or '...'); ALWAYS check `omissions`, the short source phrases that were skipped, since a dropped 'not' changes meaning), 'not_found' (no source support -- do not present this text as a quotation; `unsupported` lists the spans with no support; on a near miss `differences` names the source words the text lacks and the words it adds, e.g. a dropped 'not'). Passages over 5,000 words are refused as 'not_checked'. Pass register_id when you know it; otherwise up to 3 candidate source documents are located by search, named in `checked_against` (document, edition, retrieval date; ids in `checked_snapshot_ids`). A match also carries `matched_version`: 'current', or 'superseded' when the text is a PRIOR version of the rule (with `superseded_register_id`, `superseded_by` = the current register, and dates) -- quote superseded text only as the prior version, never as current. 'update-18-optional' means the text is HUD's Update 18 revision of an FHA 4000.1 section: optional now, mandatory on `mandatory_date`, not the text in force by default (`in_force_obligation_id`) -- present it as the Update 18 version.
Eingabe-Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"minLength": 1
},
"register_id": {
"type": "string"
}
},
"required": [
"text"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_playbooks
List the guided compliance playbooks this server runs in your chat: the Fannie Mae AI lender letter (LL-2026-04) P&P review -- AI inventory, AI governance policy, risk assessment, P&P updates, change log -- and FHA, VA and USDA loan-file QC against the verbatim handbooks. Returns each playbook's id, what it does, when to use it and what the user must provide. The user's P&Ps and loan files stay in their own chat: never send their text to this server. Playbook tools take only ids.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢start_playbook(id)
Start a guided compliance playbook and get its full instructions -- use this when the user asks to run the FNMA AI lender letter / LL-2026-04 review on their P&Ps, or to QC an FHA, VA or USDA loan file. Returns the workflow to follow, its stages, the references to load per stage, and the rule-kit version. Follow the returned instructions exactly. The user's P&Ps and loan files stay in their own chat: never send their text to this server. Playbook tools take only ids.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 64,
"pattern": "^[a-z0-9-]+$",
"description": "Playbook id: one of fnma-ai-lender-letter, fha-underwriting-qc, va-loan-qc, usda-loan-qc."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_playbook_reference(id, name)
Load one stage reference of a playbook (for example the FNMA playbook's DISCOVERY, RECONCILE, SYNTHESIS, PP-UPDATE, CHANGELOG or UPDATING stage) when the workflow reaches that stage. start_playbook lists the valid names. The user's P&Ps and loan files stay in their own chat: never send their text to this server. Playbook tools take only ids.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 64,
"pattern": "^[a-z0-9-]+$",
"description": "Playbook id: one of fnma-ai-lender-letter, fha-underwriting-qc, va-loan-qc, usda-loan-qc."
},
"name": {
"type": "string",
"maxLength": 64,
"pattern": "^[A-Za-z0-9-]+$",
"description": "Reference name, as listed by start_playbook's `references`."
}
},
"required": [
"id",
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_playbook_kit(id, offset)
Get a playbook's rule kit. FNMA AI lender letter: the verbatim LL-2026-04, InfoSec Supplement, ECOA/Reg B/FCRA/AVM rows to cite from, paginated (follow next_offset until null). FHA/VA/USDA QC: the corpus registers each check area grounds in, read with get_reg / get_obligation. The kit block's fingerprint and dates are the currency check. The user's P&Ps and loan files stay in their own chat: never send their text to this server. Playbook tools take only ids.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 64,
"pattern": "^[a-z0-9-]+$",
"description": "Playbook id: one of fnma-ai-lender-letter, fha-underwriting-qc, va-loan-qc, usda-loan-qc."
},
"offset": {
"description": "Row offset for the next page (the previous page's next_offset).",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis