Koskamo

Absorption MCP

A free, read-only MCP server providing senior housing development data, including demand and supply metrics by state and county, certificate of need status, HUD 232 loan information, and a development calculator for budgeting and lease-up modeling.

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.

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

What its tools do

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

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

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to seniorhousingconstruction.loan ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Query state and county senior housing demand and supply data
  • Check certificate of need status for nursing homes and assisted living
  • Calculate development budgets and lease-up schedules
  • Rank states by older population growth or licensed bed density

Source and maintenance

Vendor evidenceRegistry 1.2026.1101.1

Protocol and capabilities

Server
seniorhousingconstruction-loan 1.0.0
MCP protocol negotiated in check
2025-06-18
Tools
3 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.

Absorption (seniorhousingconstruction.loan) answers senior housing development questions by state: demand (Census Vintage 2025 county estimates of people aged 75+ and 85+, April 2020 base and July 2025), licensed supply (CMS certified nursing home beds from its latest monthly provider file; CDC/NCHS assisted living beds, 2020 survey, the latest with state detail), certificate of need status (NCSL table updated April 2025 with later changes checked October 2026), HUD Section 232 new construction loans by state (HUD endorsement database), and a development calculator (budget, lease-up, operating deficit, HUD 232 construction loan sizing). Use state_demand_supply for one state or county, rank_states to compare states on one measure, and absorption_calc for a pro forma. Every data result carries its federal source link and as-of date; cite them. Beds per 1,000 older adults measures licensed supply against the age group most likely to need it, nothing more. Results are not a market study, appraisal, loan offer or legal advice; confirm certificate of need rules with the state. The site is published by Janover Capital LLC and is not affiliated with HUD, FHA, CMS or any government agency. Methods: https://seniorhousingconstruction.loan/methodology/

Tools

3 advertised

state_demand_supply — Senior housing demand and supply for a state
Advertised by the server during the last successful anonymous check.
Advertised read-only

One state's (or DC's) senior housing development picture: Census 75+ and 85+ population (April 2020 and July 2025) and growth vs the US, CMS certified nursing home beds and CDC assisted living beds per 1,000 older adults vs the US, certificate of need status for nursing homes and assisted living, HUD Section 232 new construction loans since FY2001, and a county table (largest, fastest-growing or thinnest nursing supply), or one county by name.

state_demand_supply input schema
{
  "type": "object",
  "required": [
    "state"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 50,
      "minimum": 0,
      "description": "Counties to return, 0 to 50 (default 10)."
    },
    "state": {
      "type": "string",
      "pattern": "^[A-Za-z .]{2,30}$",
      "maxLength": 30,
      "minLength": 2,
      "description": "Two-letter state code or full name, e.g. \"FL\" or \"Florida\". DC is included."
    },
    "county": {
      "type": "string",
      "maxLength": 60,
      "minLength": 2,
      "description": "Optional: one county to return, e.g. \"Maricopa\" or \"Maricopa County\". Not available for Connecticut."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 300,
      "minimum": 0,
      "description": "Skip this many counties, for paging."
    },
    "county_sort": {
      "enum": [
        "largest",
        "fastest_growth",
        "fewest_beds"
      ],
      "type": "string",
      "default": "largest",
      "description": "County list order: largest 75+ population; fastest 75+ growth (counties with 2,000+ aged 75+); fewest nursing beds per 1,000 aged 85+ (counties with 1,000+ aged 85+)."
    }
  },
  "additionalProperties": false
}
state_demand_supply annotations
{
  "title": "Senior housing demand and supply for a state",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
rank_states — Rank states for senior housing development
Advertised by the server during the last successful anonymous check.
Advertised read-only

Ranks all 50 states and DC on one senior housing measure: 75+ or 85+ population, 75+ or 85+ growth since April 2020, nursing home beds per 1,000 aged 85+, assisted living beds per 1,000 aged 75+, or HUD 232 new construction loans since FY2001. Each row also carries growth, both bed ratios, certificate of need status and the state page link.

rank_states input schema
{
  "type": "object",
  "required": [
    "metric"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 51,
      "minimum": 1,
      "description": "Rows to return, 1 to 51 (default 10)."
    },
    "order": {
      "enum": [
        "highest",
        "lowest"
      ],
      "type": "string",
      "description": "Highest first or lowest first. Default: lowest for the two bed ratios (thinnest supply first), highest for everything else."
    },
    "metric": {
      "enum": [
        "growth_75_plus",
        "growth_85_plus",
        "population_75_plus",
        "population_85_plus",
        "nursing_beds_per_1k_85_plus",
        "assisted_living_beds_per_1k_75_plus",
        "hud_232_construction_loans"
      ],
      "type": "string",
      "description": "Measure to rank by."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "maximum": 50,
      "minimum": 0,
      "description": "Skip this many rows, for paging."
    }
  },
  "additionalProperties": false
}
rank_states annotations
{
  "title": "Rank states for senior housing development",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
absorption_calc — Senior housing development and lease-up calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Runs the Absorption development calculator on your inputs: total cost (land, hard, soft, construction interest, HUD fees), stabilized NOI, yield on cost and value, HUD 232 new construction loan (lowest of 90% of cost, the loan-to-value limit and 1.45x coverage), month-by-month lease-up to breakeven and stabilization, operating deficit and working capital escrows, and the equity left to fund. Unset inputs use the calculator page's example values.

absorption_calc input schema
{
  "type": "object",
  "properties": {
    "land": {
      "type": "number",
      "default": 2500000,
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Land cost, dollars."
    },
    "units": {
      "type": "integer",
      "default": 100,
      "maximum": 5000,
      "minimum": 20,
      "description": "Units or beds."
    },
    "nonprofit": {
      "type": "boolean",
      "default": false,
      "description": "Nonprofit borrower with an operating track record (higher loan-to-value limit)."
    },
    "cap_rate_pct": {
      "type": "number",
      "default": 8,
      "maximum": 20,
      "minimum": 3,
      "description": "Cap rate on stabilized NOI, % (your assumption)."
    },
    "building_type": {
      "enum": [
        "assisted_living",
        "skilled_nursing"
      ],
      "type": "string",
      "default": "assisted_living",
      "description": "Assisted living or memory care, or skilled nursing (sets the HUD loan-to-value limit)."
    },
    "soft_cost_pct": {
      "type": "number",
      "default": 18,
      "maximum": 60,
      "minimum": 0,
      "description": "Soft costs as % of hard cost."
    },
    "average_drawn_pct": {
      "type": "number",
      "default": 55,
      "maximum": 100,
      "minimum": 10,
      "description": "Average share of the loan drawn during construction, % (for interest carry)."
    },
    "hud_note_rate_pct": {
      "type": "number",
      "default": 6.25,
      "maximum": 15,
      "minimum": 1,
      "description": "HUD 232 note rate, %."
    },
    "hard_cost_per_unit": {
      "type": "number",
      "default": 250000,
      "maximum": 5000000,
      "minimum": 0,
      "description": "Hard cost per unit, dollars (your contractor's number; no public benchmark exists)."
    },
    "move_ins_per_month": {
      "type": "number",
      "default": 4,
      "maximum": 500,
      "minimum": 0.5,
      "description": "Net move-ins per month."
    },
    "construction_months": {
      "type": "integer",
      "default": 20,
      "maximum": 48,
      "minimum": 6,
      "description": "Construction period, months."
    },
    "occupied_at_opening": {
      "type": "number",
      "default": 15,
      "maximum": 5000,
      "minimum": 0,
      "description": "Occupied units at opening."
    },
    "fixed_cost_per_month": {
      "type": "number",
      "default": 260000,
      "maximum": 100000000,
      "minimum": 0,
      "description": "Fixed operating cost per month (staff, utilities, overhead carried from day one), dollars."
    },
    "construction_rate_pct": {
      "type": "number",
      "default": 6.5,
      "maximum": 15,
      "minimum": 1,
      "description": "Construction loan interest rate, %."
    },
    "monthly_revenue_per_unit": {
      "type": "number",
      "default": 7200,
      "maximum": 100000,
      "minimum": 0,
      "description": "Monthly revenue per occupied unit, dollars."
    },
    "stabilized_occupancy_pct": {
      "type": "number",
      "default": 92,
      "maximum": 100,
      "minimum": 50,
      "description": "Stabilized occupancy, %."
    },
    "variable_cost_per_unit_month": {
      "type": "number",
      "default": 2300,
      "maximum": 100000,
      "minimum": 0,
      "description": "Variable cost per occupied unit per month, dollars."
    }
  },
  "additionalProperties": false
}
absorption_calc annotations
{
  "title": "Senior housing development and lease-up calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

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 (9 of 9 answered).

  1. 2026-11-02: 4 of 4 checks answered
  2. 2026-11-03: 4 of 4 checks answered
  3. 2026-11-04: 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
368 ms
95th percentile latency
368 ms

Maintenance history

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

  • · probe · passed · 368 ms · metadata changed · 3 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 absorption-mcp https://seniorhousingconstruction.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 absorption-mcp --url https://seniorhousingconstruction.loan/mcp

Cursor

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

Cline

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

VS Code

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

Let your agent find its tools

Find servers like Absorption 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 Absorption 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