Koskamo

Pad Count MCP

An official MCP server for Pad Count that allows AI assistants to size mobile home park loans, value parks based on lot rent, retrieve agency loan program rules, and fetch new manufactured home prices. It is free, read-only, and requires no authentication key.

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.

Pad Count MCP logo, by Janover Capital LLCVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Janover Capital LLC
MCP endpoint (Streamable HTTP)
https://mobilehomepark.loan/mcp
Vendor documentation

What you can do with it

  • Size a loan on a mobile home park under Fannie Mae, Freddie Mac, or HUD programs
  • Value a park based on lot rent, occupancy, and expenses
  • Retrieve published agency rules for mobile home community loans
  • Get average prices for new manufactured homes by shipment month

Source and maintenance

Vendor evidenceRegistry 1.2026.1101.0

Protocol and capabilities

Server
mobilehomepark-loan 1.0.0
MCP protocol
2025-06-18
Tools
4 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Pad Count (mobilehomepark.loan) answers which loans fit a mobile home park (manufactured housing community) and how much each lends: a loan sizer for Fannie Mae MHC, Freddie Mac MHC, HUD 223(f) MHC and the user's own bank terms, a lot-rent valuation worksheet, the published program rules with their sources, and Census new-home prices. Program rules come from the Fannie Mae and Freddie Mac MHC term sheets and Guides, HUD Mortgagee Letter 2024-11 and SBA SOP 50 10 8.1 (compiled 2026-10-24); rates are the daily U.S. Treasury par yield for the term plus a spread the user sets (2.00% is an example, not a quote). SBA 7(a) and 504 do not finance mobile home parks. Results are estimates from the user's numbers, not a rate quote, approval, commitment to lend or appraisal. No source publishes park cap rates or bank and CMBS terms, so the tools ask the user for them; never supply them yourself. There are no park listings or directory. Cite the source links that come back. The site is published by Janover Capital LLC, a commercial mortgage brokerage, and is not affiliated with HUD, FHA, SBA, Fannie Mae or Freddie Mac. Method: https://mobilehomepark.loan/method/

Tools

4 advertised

size_park_loan — Which loans fit a mobile home park, and how much
Advertised by the server during the last successful anonymous check.
Advertised read-only

Runs the Pad Count loan sizer on one mobile home park: for Fannie Mae MHC, Freddie Mac MHC, HUD 223(f) MHC and the user's own bank or CMBS terms it returns a verdict (fits, check first, doesn't fit), the loan amount (the smaller of value x max LTV and NOI / (coverage x loan constant)), which limit binds, the rate used (Treasury for the term plus a spread) and every published rule the park fails. SBA 7(a) and 504 come back as not eligible, with the SOP quote.

size_park_loan input schema
{
  "type": "object",
  "required": [
    "pads",
    "occupied_pads",
    "noi",
    "value"
  ],
  "properties": {
    "noi": {
      "type": "number",
      "minimum": 0,
      "description": "Net operating income in dollars per year, after management and reserves, e.g. 268000. value_park_on_lot_rent can build it."
    },
    "pads": {
      "type": "integer",
      "maximum": 100000,
      "minimum": 0,
      "description": "Total pads (sites) in the park, e.g. 80."
    },
    "value": {
      "type": "number",
      "minimum": 0,
      "description": "Purchase price, or value if refinancing, in dollars, e.g. 3460000."
    },
    "purpose": {
      "enum": [
        "purchase",
        "refinance"
      ],
      "type": "string",
      "default": "purchase",
      "description": "Purchase or refinance. Default purchase."
    },
    "borrower": {
      "enum": [
        "private",
        "resident_owned",
        "nonprofit",
        "government",
        "cdfi",
        "tribe"
      ],
      "type": "string",
      "default": "private",
      "description": "Borrower type: private, resident_owned (ROC or co-op), nonprofit, government (state or local), cdfi or tribe. Default private."
    },
    "spread_pct": {
      "type": "number",
      "default": 2,
      "maximum": 15,
      "minimum": 0,
      "description": "Spread over Treasury in percent. Default 2.00, which is an example, not a quote."
    },
    "term_years": {
      "enum": [
        5,
        7,
        10
      ],
      "type": "integer",
      "default": 10,
      "description": "Loan term in years: 5, 7 or 10. Picks the Treasury yield and Freddie Mac's LTV tier. Default 10."
    },
    "loan_wanted": {
      "type": "number",
      "minimum": 0,
      "description": "Optional loan amount wanted, in dollars; each program says whether it covers it."
    },
    "homes_on_site": {
      "type": "integer",
      "maximum": 100000,
      "minimum": 0,
      "description": "Every home in the park, empty or not. Defaults to occupied_pads."
    },
    "occupied_pads": {
      "type": "integer",
      "maximum": 100000,
      "minimum": 0,
      "description": "Occupied pads, e.g. 68. Capped at total pads."
    },
    "quality_level": {
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5
      ],
      "type": "integer",
      "default": 0,
      "description": "Fannie Mae quality level from the lender's inspection, 1 to 5; 0 = not known (default)."
    },
    "current_balance": {
      "type": "number",
      "minimum": 0,
      "description": "Refinance only: current loan balance in dollars (HUD 223(f) here allows no cash out). Default 0."
    },
    "own_lender_dscr": {
      "type": "number",
      "default": 1.3,
      "maximum": 5,
      "minimum": 1,
      "description": "Your lender's minimum debt service coverage, e.g. 1.30. Default 1.30 (an example)."
    },
    "park_owned_homes": {
      "type": "integer",
      "maximum": 100000,
      "minimum": 0,
      "description": "Homes owned by the borrower, an affiliate or an outside investor. Default 0."
    },
    "owns_another_park": {
      "type": "boolean",
      "description": "Whether the key principal owns at least one other park (Freddie Mac requires it). Omit if not known."
    },
    "own_lender_ltv_pct": {
      "type": "number",
      "default": 70,
      "maximum": 100,
      "minimum": 0,
      "description": "Your bank or CMBS lender's max LTV in percent. Default 70 (an example; banks publish no single term)."
    },
    "years_park_experience": {
      "type": "integer",
      "maximum": 100,
      "minimum": 0,
      "description": "Years the key principal has owned or run parks (Freddie Mac needs 2+). Omit if not known."
    },
    "own_lender_amortization_years": {
      "type": "integer",
      "default": 25,
      "maximum": 40,
      "minimum": 5,
      "description": "Your lender's amortization in years. Default 25 (an example)."
    }
  },
  "additionalProperties": false
}
size_park_loan annotations
{
  "title": "Which loans fit a mobile home park, and how much",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
value_park_on_lot_rent — Value a mobile home park on its lot rent
Advertised by the server during the last successful anonymous check.
Advertised read-only

Runs the Pad Count lot-rent valuation worksheet: from pads, occupancy, lot rent, park-owned homes, other income and expenses it returns collected income, operating expenses, NOI, NOI from lots alone, value at the low, middle and high of a cap rate range the user supplies, value per pad, and the lender flags (85% occupancy, park-owned home share against the 25%/35% agency caps, pad minimums, Fannie Mae 5% economic vacancy floor, park-paid utilities).

value_park_on_lot_rent input schema
{
  "type": "object",
  "required": [
    "pads",
    "occupied_pads",
    "lot_rent_monthly",
    "cap_rate_low_pct",
    "cap_rate_high_pct"
  ],
  "properties": {
    "pads": {
      "type": "integer",
      "maximum": 2000,
      "minimum": 1,
      "description": "Total pads, 1 to 2000, e.g. 80."
    },
    "payroll": {
      "type": "number",
      "minimum": 0,
      "description": "Payroll and on-site manager per year. Default 0."
    },
    "insurance": {
      "type": "number",
      "minimum": 0,
      "description": "Insurance per year in dollars. Default 0."
    },
    "water_sewer": {
      "enum": [
        "billed_back",
        "park_pays",
        "resident_direct"
      ],
      "type": "string",
      "default": "billed_back",
      "description": "billed_back (submetered, billed to residents), park_pays (included in lot rent) or resident_direct. Default billed_back."
    },
    "bad_debt_pct": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Bad debt and concessions, percent of gross income. Default 0."
    },
    "occupied_pads": {
      "type": "integer",
      "maximum": 2000,
      "minimum": 0,
      "description": "Pads with a home paying rent, including rented park-owned homes, e.g. 68."
    },
    "management_pct": {
      "type": "number",
      "maximum": 50,
      "minimum": 0,
      "description": "Management as a percent of collected income. Default 0; a buyer counts it even when the owner self-manages."
    },
    "property_taxes": {
      "type": "number",
      "minimum": 0,
      "description": "Property taxes per year in dollars. Default 0."
    },
    "cap_rate_low_pct": {
      "type": "number",
      "maximum": 30,
      "minimum": 1,
      "description": "Low end of the cap rate range in percent, e.g. 7. No public source publishes park cap rates; use what brokers who sell parks in the area quote."
    },
    "lot_rent_monthly": {
      "type": "number",
      "minimum": 0,
      "description": "Lot rent per pad per month in dollars, e.g. 450."
    },
    "park_owned_homes": {
      "type": "integer",
      "maximum": 2000,
      "minimum": 0,
      "description": "Every home the park, the owner or an affiliate owns, rented or not. Default 0."
    },
    "reserves_per_pad": {
      "type": "number",
      "default": 50,
      "minimum": 0,
      "description": "Reserves per pad per year. Default 50, Freddie Mac's minimum."
    },
    "admin_legal_other": {
      "type": "number",
      "minimum": 0,
      "description": "Admin, legal and other expenses per year. Default 0."
    },
    "cap_rate_high_pct": {
      "type": "number",
      "maximum": 30,
      "minimum": 1,
      "description": "High end of the cap rate range in percent, e.g. 8.5."
    },
    "home_rent_monthly": {
      "type": "number",
      "minimum": 0,
      "description": "Home rent a renter pays on top of lot rent, dollars per month. Default 0."
    },
    "utilities_park_pays": {
      "type": "number",
      "minimum": 0,
      "description": "Water, sewer, trash and common-area electric the park pays, per year. Default 0."
    },
    "other_income_monthly": {
      "type": "number",
      "minimum": 0,
      "description": "Late fees, laundry, storage, per month in dollars. Default 0."
    },
    "park_owned_home_costs": {
      "type": "number",
      "minimum": 0,
      "description": "Repairs, turnover and any tax on the park-owned homes, per year. Default 0."
    },
    "repairs_roads_grounds": {
      "type": "number",
      "minimum": 0,
      "description": "Repairs, roads and grounds per year. Default 0."
    },
    "park_owned_homes_rented": {
      "type": "integer",
      "maximum": 2000,
      "minimum": 0,
      "description": "Of those, how many are rented now. Default 0."
    },
    "utility_bill_backs_monthly": {
      "type": "number",
      "minimum": 0,
      "description": "Utility bill-backs collected per month in dollars (counted only when water_sewer is billed_back). Default 0."
    },
    "reserves_per_park_owned_home": {
      "type": "number",
      "default": 250,
      "minimum": 0,
      "description": "Reserves per park-owned home per year. Default 250, the figure Freddie Mac's Guide uses."
    }
  },
  "additionalProperties": false
}
value_park_on_lot_rent annotations
{
  "title": "Value a mobile home park on its lot rent",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_mhc_loan_program_rules — Mobile home park loan program rules
Advertised by the server during the last successful anonymous check.
Advertised read-only

The published rules for financing a mobile home park (manufactured housing community) under Fannie Mae MHC, Freddie Mac Optigo MHC, HUD Section 223(f) MHC and SBA 7(a)/504: max LTV, min DSCR, amortization, minimum size, occupancy, park-owned home caps, borrower eligibility, reserves and mortgage insurance, each with its primary source and date. SBA comes back as not eligible, with the SOP quote.

get_mhc_loan_program_rules input schema
{
  "type": "object",
  "properties": {
    "program": {
      "enum": [
        "fannie",
        "freddie",
        "hud",
        "sba",
        "all"
      ],
      "type": "string",
      "default": "all",
      "description": "fannie, freddie, hud, sba, or all (default)."
    }
  },
  "additionalProperties": false
}
get_mhc_loan_program_rules annotations
{
  "title": "Mobile home park loan program rules",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_new_manufactured_home_prices — Average price of a new manufactured home
Advertised by the server during the last successful anonymous check.
Advertised read-only

The U.S. Census Bureau Manufactured Housing Survey average sales price of a new manufactured home, by month of shipment: single-section, double-section and all homes for the latest month published and the months before it. A yardstick for what filling a vacant pad with a new park-owned home costs.

get_new_manufactured_home_prices input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_new_manufactured_home_prices annotations
{
  "title": "Average price of a new manufactured home",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

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
406 ms
95th percentile latency
406 ms

Maintenance history

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

  • · probe · passed · 406 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 pad-count-mcp https://mobilehomepark.loan/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 pad-count-mcp --url https://mobilehomepark.loan/mcp

Cursor

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

Cline

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

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start pad-count-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "pad-count-mcp": {
      "type": "http",
      "url": "https://mobilehomepark.loan/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 pad-count-mcp https://mobilehomepark.loan/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "pad-count-mcp": {
      "url": "https://mobilehomepark.loan/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": {
    "pad-count-mcp": {
      "serverUrl": "https://mobilehomepark.loan/mcp"
    }
  }
}

Let your agent find its tools

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

Do you run Pad Count MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing