Koskamo

Refpro MCP

Refpro MCP provides AI agents with lender-grade real estate underwriting capabilities. It allows agents to perform deterministic deal screening for fix-and-flip, BRRRR, and new construction projects, retrieve structured methodology FAQs, and fetch sanitized sample report sections. The server is public, read-only, and rate-limited.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Refpro MCP logo, by RefproCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by Refpro
MCP endpoint (Streamable HTTP)
https://mcp.refpro.ai/mcp
Vendor documentation

What its tools do

4 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

4 of 4 have a description · 0 of 4 declare behavior hints · 0 of 4 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Perform deterministic lender-grade deal screening for fix-and-flip, BRRRR, and new construction
  • Retrieve structured Q&A about underwriting methodology and supported deal types
  • Fetch sanitized public sample sections like executive summaries and financials

Source and maintenance

Community listingRegistry 1.1.0

Protocol and capabilities

Server
refpro-mcp 1.1.0
MCP protocol negotiated in check
2025-11-25
Tools
4 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

4 advertised

deal_quick_check
Advertised by the server during the last successful anonymous check.

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.

deal_quick_check input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "deal_type",
    "purchase_price",
    "arv_or_value",
    "rehab_budget",
    "zip_code"
  ],
  "properties": {
    "units": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0
    },
    "zip_code": {
      "type": "string",
      "pattern": "^\\d{5}$"
    },
    "deal_type": {
      "enum": [
        "FF",
        "BRRRR",
        "NC"
      ],
      "type": "string"
    },
    "noi_annual": {
      "type": "number",
      "maximum": 10000000000,
      "minimum": 0
    },
    "arv_or_value": {
      "type": "number",
      "maximum": 10000000000,
      "minimum": 0
    },
    "rehab_budget": {
      "type": "number",
      "maximum": 10000000000,
      "minimum": 0
    },
    "units_to_hold": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 0
    },
    "purchase_price": {
      "type": "number",
      "maximum": 10000000000,
      "minimum": 0
    },
    "annual_debt_service": {
      "type": "number",
      "maximum": 10000000000,
      "minimum": 0
    }
  }
}
methodology_faq
Advertised by the server during the last successful anonymous check.

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.

methodology_faq input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1
    }
  }
}
sample_report_fetch
Advertised by the server during the last successful anonymous check.

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.

sample_report_fetch input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "deal_type",
    "section"
  ],
  "properties": {
    "section": {
      "enum": [
        "summary",
        "financials",
        "risk_notes",
        "full"
      ],
      "type": "string"
    },
    "deal_type": {
      "enum": [
        "FF",
        "BRRRR",
        "NC"
      ],
      "type": "string"
    }
  }
}
deal_sheet_preview
Advertised by the server during the last successful anonymous check.

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.

deal_sheet_preview input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "deal_type"
  ],
  "properties": {
    "format": {
      "enum": [
        "markdown",
        "fields"
      ],
      "type": "string",
      "default": "markdown"
    },
    "deal_type": {
      "enum": [
        "FF",
        "BRRRR",
        "NC"
      ],
      "type": "string"
    }
  }
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
444 ms
95th percentile latency
444 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 444 ms · metadata changed · 4 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http refpro-mcp https://mcp.refpro.ai/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add refpro-mcp --url https://mcp.refpro.ai/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable refpro-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "refpro-mcp": {
      "url": "https://mcp.refpro.ai/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "refpro-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.refpro.ai/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start refpro-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "refpro-mcp": {
      "type": "http",
      "url": "https://mcp.refpro.ai/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http refpro-mcp https://mcp.refpro.ai/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.refpro.ai/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "refpro-mcp": {
      "serverUrl": "https://mcp.refpro.ai/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Refpro MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.