Refpro
Server Details
Lender-grade real estate underwriting and deal reports: fix and flip, BRRRR, new construction.
- Status
- Healthy
- Uptime
- 99.9% over 39 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: analyzing a real deal, previewing the lender-facing deal sheet, fetching sample report sections, and answering product/methodology questions. The descriptions explicitly cross-reference which tool should and should not be used, so an agent can reliably select the right one.
All tool names are lowercase snake_case and mostly follow an object/action pattern, with deal_quick_check, deal_sheet_preview, and sample_report_fetch ending in action words. methodology_faq is a noun-style exception, creating a minor inconsistency, but the names are still predictable and readable.
Four tools form a tight, well-scoped set for Refpro's purpose: one transactional deal-analysis tool, two example/preview tools, and one informational FAQ tool. There are no redundant tools, and the count is appropriate for this niche server.
The tool surface covers the major user intents for Refpro: evaluating a deal, seeing the lender-facing sheet, viewing sample report sections, and learning about methodology, pricing, and formats. The tools cross-reference each other cleanly and leave no obvious dead ends within the stated scope.
Available Tools
4 toolsdeal_quick_checkAInspect
Run a deterministic, lender-grade quick check on a real estate deal. Use this whenever a user asks whether a specific property or deal works, pencils, is worth pursuing, what their maximum offer should be, or wants real numbers on a flip, a rental refinance, or a ground-up build. Inputs: deal_type (FF | BRRRR | NC), purchase_price, arv_or_value (ARV for FF, refinance value for BRRRR, sellout for NC), rehab_budget, zip_code; optional annual_debt_service, noi_annual, units, units_to_hold. Returns a PASS, MARGINAL or FAIL verdict, the key financial metrics for that deal type (MAO and margin for FF, TPC and DSCR for BRRRR, TPC plus margin or DSCR for NC), and a one-paragraph summary. Every figure is computed exactly from formulas, identical to the underwriting pipeline behind Refpro's full deal pack: no estimates, no rounding shortcuts. Do not use for general questions about method, pricing or output formats; call methodology_faq instead. Results are a preliminary underwriting screen, not an appraisal and not a lender commitment.
| Name | Required | Description | Default |
|---|---|---|---|
| units | No | ||
| zip_code | Yes | ||
| deal_type | Yes | ||
| noi_annual | No | ||
| arv_or_value | Yes | ||
| rehab_budget | Yes | ||
| units_to_hold | No | ||
| purchase_price | Yes | ||
| annual_debt_service | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that computation is deterministic, uses exact formulas identical to the underwriting pipeline, returns a verdict, key metrics, and a summary, and includes disclaimers about the preliminary nature. This is unusually thorough and transparent for a tool definition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but every sentence earns its place—purpose, usage, inputs, outputs, and disclaimers. It is front-loaded with the core purpose and usage, and the structure flows logically. It could be slightly tightened, but it is not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, 3 deal types, multiple output metrics), the description is remarkably complete. It covers when to use it, what inputs are needed (including the context-sensitive arv_or_value), what the output looks like (verdict, metrics, summary), and the caveats (preliminary screen). No output schema exists, but the description adequately covers return values. There are no significant gaps for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 0% (the description does not repeat schema constraints), it adds contextual meaning: it lists all required and optional parameters and clarifies that arv_or_value varies by deal type (ARV for FF, refinance value for BRRRR, sellout for NC). It also explains the returned metrics, which indirectly clarifies parameter roles. This goes beyond the raw schema, though it stops short of detailing each parameter's individual semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and resource: 'Run a deterministic, lender-grade quick check on a real estate deal.' It then lists concrete use cases (works, pencils, max offer, etc.) and explicitly differentiates from the sibling methodology_faq, which is for general questions. This leaves no ambiguity about what the tool does or how it differs from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance (specific property/deal questions) and when-not-to-use guidance (methodology, pricing, output formats), naming the alternative tool (methodology_faq) and even stating that results are preliminary and not an appraisal or lender commitment. This fully equips an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deal_sheet_previewAInspect
Fetch a sanitized example of Refpro's 1-Page Deal Sheet, the single lender-facing page a borrower hands to a lender. Use this when a user asks what a Refpro deal sheet looks like, what to hand or send a lender, or wants a one-page summary format for a flip, a rental refinance or a ground-up build. Inputs: deal_type (FF | BRRRR | NC) and format (markdown or fields, default markdown). Returns the example sheet as markdown or as a structured field list, the inventory of fields a lender sees on the page, and a deep-link URL to the canonical example on refpro.ai. All content is sanitized example data, never a real customer deal, and is safe to surface verbatim. Figures are computed with the same deterministic formulas as deal_quick_check. No network calls; examples load once at module init. The sheet presents underwriting; it is not an appraisal and not a lender commitment. Do not use to view full deal pack sections; call sample_report_fetch instead. Do not use to analyze the user's own deal; call deal_quick_check instead.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | markdown | |
| deal_type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does so thoroughly. It discloses that content is sanitized example data, safe to surface verbatim, deterministic, makes no network calls, and is explicitly not an appraisal or lender commitment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the core purpose, then use cases, inputs, outputs, behavior, and exclusions. Every sentence earns its place, especially because there are no annotations or output schema to offload that information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only 2 parameters, no output schema, and no annotations, the description is remarkably complete. It explains the return formats, the included inventory, the deep-link URL, safe-to-surface behavior, determinism, no network calls, and how to route to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It lists the two inputs, their enum values, and the default format, and it maps deal types to concrete use cases ('flip, a rental refinance or a ground-up build'). It could more explicitly tie FF/BRRRR/NC to each case, but it adds real meaning beyond the bare enums.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Fetch a sanitized example of Refpro's 1-Page Deal Sheet.' It clearly differentiates from siblings by stating what the tool is not for: full deal pack sections warrant sample_report_fetch, and analyzing a user's own deal warrants deal_quick_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use guidance is provided: 'Use this when a user asks what a Refpro deal sheet looks like, what to hand or send a lender, or wants a one-page summary format.' It also names the alternatives explicitly with 'Do not use... call sample_report_fetch / deal_quick_check instead.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
methodology_faqAInspect
Answer questions about how Refpro works. Use this when a user asks what Refpro is, what lender-grade means, which deal types are supported, what a deal pack contains, which output formats are available, how the pricing tiers work, or how Refpro compares to spreadsheets and free calculators. Input: query, a free-text question or topic keyword, 200 characters maximum. Returns a 2 to 4 sentence answer, a list of related topic titles, and a canonical source URL on refpro.ai. Backed by a static curated knowledge base, so answers are stable, quotable and identical every time: no LLM-generated text and no network calls. Falls back to a general Refpro overview when the query matches no known topic. Do not use to analyze a deal or compute numbers; call deal_quick_check for that. Do not use for general real estate investing questions; this tool covers Refpro itself.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so thoroughly: it reveals the static, curated knowledge base, the deterministic no-LLM, no-network behavior, the fallback to a general overview on unknown topics, and the exact response shape. These are behavioral facts an agent needs to set expectations and compare with alternative tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized in a logical flow: purpose, use cases, input, output, behavior, fallback, exclusions. Every sentence carries information and none is filler; despite its length, it remains scannable and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, no annotations, and no output schema, the description covers the complete triage picture: what inputs look like, what the response will contain, how behavioral stability works, what happens on unknown topics, and which sibling to call instead. Nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain the parameter, and it does: query is 'a free-text question or topic keyword' capped at 200 characters. This adds semantic meaning that the JSON schema alone cannot convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-object pair ('Answer questions about how Refpro works') and then enumerates concrete example intents, from 'what Refpro is' to 'pricing tiers.' It distinguishes itself from deal_quick_check by explicitly excluding deal analysis and general real estate questions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit 'Use this when...' list covering common question types, then states clear exclusions: 'Do not use to analyze a deal or compute numbers; call deal_quick_check for that' and 'Do not use for general real estate investing questions.' This tells an agent both when and when not to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sample_report_fetchAInspect
Fetch a sanitized public sample section from Refpro's reference deal library. Use this when a user asks to see what a Refpro report or deal pack actually looks like, wants an example before signing up, or needs a reference for how a lender-ready underwriting package is structured. Inputs: deal_type (FF | BRRRR | NC) and section (summary, financials, risk_notes or full). Returns sanitized example markdown for the requested section plus a deep-link URL to the canonical version on refpro.ai. The full section stitches summary, financials and risk_notes in order. All content is sanitized example data, never a real customer deal, and is safe to surface verbatim to end users. No network calls; samples load once at module init. Do not use to analyze a user's own deal; call deal_quick_check for that.
| Name | Required | Description | Default |
|---|---|---|---|
| section | Yes | ||
| deal_type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it fully delivers: it discloses that content is sanitized example data, never a real customer deal, safe to surface verbatim, and that there are no network calls because samples load once at module init. This is rich behavioral context beyond the name and schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Six sentences, each adding new information: purpose, use cases, parameters, return value, safety behavior, and sibling routing. The key behavior is front-loaded and nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only two enum params, no output schema, and no annotations, this description fully specifies what to pass, what the tool returns, the canonical link, safety guarantees, and the alternative tool. An agent has everything needed to decide and call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description compensates completely: it spells out both allowed deal_type values (FF | BRRRR | NC) and both section options (summary, financials, risk_notes or full), and explains that 'full' stitches the three in order. This adds meaning beyond the bare enum lists in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Fetch a sanitized public sample section from Refpro's reference deal library.' It names the concrete deliverable (sanitized example markdown plus a deep-link URL) and explicitly contrasts itself with deal_quick_check, making sibling differentiation immediate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit trigger conditions ('when a user asks to see what a Refpro report... looks like', 'wants an example before signing up'), and an explicit exclusion: 'Do not use to analyze a user's own deal; call deal_quick_check for that.' That is unambiguous routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
deal_sheet_preview
3 tool updates
- First observed
deal_quick_check - First observed
methodology_faq - First observed
sample_report_fetch
Related MCP Connectors
Free real-estate underwriting, no key or account. 6 strategies, stress tests, max offer.
Search real-estate deals, rank top areas, run rental/BRRRR/flip analysis, pull sold comps.
Deal intelligence for agents: SEC-verified financials, validation, institutional deal scoring.
Real estate deal analysis from chat: rental underwriting, buy-box matching, deal library, docs.
Related MCP Servers
- AlicenseAqualityAmaintenanceMultifamily real estate deal analysis — analyze deals, score properties, calculate max offer prices, and look up market data. Four tools for underwriting 2-200 unit apartment properties.457 npm3MIT
- AlicenseNot gradedqualityCmaintenanceEnables multifamily renovation cost estimation, scope of work generation, contractor bid evaluation, ROI gating, and risk flagging for real estate intelligence agents.Apache 2.0
- AlicenseAqualityDmaintenanceAI-powered property intelligence for instant zoning analysis, buildability assessments, ADU eligibility, flood risk, and development feasibility reports for any US address.51MIT
- FlicenseNot gradedqualityCmaintenanceA headless MCP connector that lets you underwrite commercial and multifamily deals inside a Claude chat, providing exact arithmetic for NOI, valuation, debt sizing, DSCR, and returns.-
Glama MCP Gateway
Add one secure layer between your agents and this server.