LIHTC data: HUD income and rent limits, 2027 QCT/DDA checks, LIHTC properties, credit math.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Annual and 10-year housing credits and equity from eligible basis, applicable fraction, credit type (4 or 9), the optional 130% basis boost and a credit price (default: the latest public median). Uses the statutory floor unless applicable_percentage is given. Same math as the lihtc.loans credit estimator.
4 or 9
Eligible basis in dollars
Low-income share of the building, 0 to 1 (or a percent)
130% basis boost (QCT, DDA or state-designated)
Equity per $1 of credit, e.g. 0.85
Override the rate, in percent (e.g. 3.53) when the floor does not apply
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http lihtc-loans https://lihtc.loans/mcp
Annual and 10-year housing credits and equity from eligible basis, applicable fraction, credit type (4 or 9), the optional 130% basis boost and a credit price (default: the latest public median). Uses the statutory floor unless applicable_percentage is given. Same math as the lihtc.loans credit estimator.
| Argument | Type | Description |
|---|---|---|
| boost | boolean | 130% basis boost (QCT, DDA or state-designated) |
| credit_type* | string | 4 or 9 |
| credit_price | number | Equity per $1 of credit, e.g. 0.85 |
| eligible_basis* | number | Eligible basis in dollars |
| applicable_fraction* | number | Low-income share of the building, 0 to 1 (or a percent) |
| applicable_percentage | number | Override the rate, in percent (e.g. 3.53) when the floor does not apply |
{
"type": "object",
"required": [
"eligible_basis",
"applicable_fraction",
"credit_type"
],
"properties": {
"boost": {
"type": "boolean",
"default": false,
"description": "130% basis boost (QCT, DDA or state-designated)"
},
"credit_type": {
"enum": [
"4",
"9"
],
"type": "string",
"description": "4 or 9"
},
"credit_price": {
"type": "number",
"maximum": 1.5,
"minimum": 0.01,
"description": "Equity per $1 of credit, e.g. 0.85"
},
"eligible_basis": {
"type": "number",
"minimum": 1,
"description": "Eligible basis in dollars"
},
"applicable_fraction": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Low-income share of the building, 0 to 1 (or a percent)"
},
"applicable_percentage": {
"type": "number",
"maximum": 15,
"minimum": 0.1,
"description": "Override the rate, in percent (e.g. 3.53) when the floor does not apply"
}
},
"additionalProperties": false
}Maximum LIHTC gross rent and tenant-paid rent for one unit: county, bedroom count and AMI level, less an optional utility allowance, from HUD FY2026 MTSP limits by the IRS Publication 5913 method, with the formula.
| Argument | Type | Description |
|---|---|---|
| fips | string | 5-digit county FIPS (48201) or HUD's 10-digit area code (county + county subdivision, e.g. 2502507000 for Boston) |
| state | string | Two-letter state or territory code (CA, DC, PR) or name |
| county | string | County name, e.g. "Harris County" or "Harris"; in New England, a town ("Boston"). Use fips when a name is ambiguous. |
| bedrooms* | integer | 0 for a studio |
| ami_level* | integer | Percent of area median income |
| utility_allowance | number | Monthly utility allowance for tenant-paid utilities, dollars (default 0) |
{
"type": "object",
"required": [
"bedrooms",
"ami_level"
],
"properties": {
"fips": {
"type": "string",
"description": "5-digit county FIPS (48201) or HUD's 10-digit area code (county + county subdivision, e.g. 2502507000 for Boston)"
},
"state": {
"type": "string",
"description": "Two-letter state or territory code (CA, DC, PR) or name"
},
"county": {
"type": "string",
"description": "County name, e.g. \"Harris County\" or \"Harris\"; in New England, a town (\"Boston\"). Use fips when a name is ambiguous."
},
"bedrooms": {
"type": "integer",
"maximum": 5,
"minimum": 0,
"description": "0 for a studio"
},
"ami_level": {
"enum": [
20,
30,
40,
50,
60,
70,
80
],
"type": "integer",
"description": "Percent of area median income"
},
"utility_allowance": {
"type": "number",
"minimum": 0,
"description": "Monthly utility allowance for tenant-paid utilities, dollars (default 0)"
}
},
"additionalProperties": false
}Is a site in a Qualified Census Tract or Difficult Development Area on HUD's 2027 lists (and any newer year HUD has posted)? Give a US street address (geocoded by the Census Bureau), or lat + lon, or an 11-digit 2020 census tract. Returns the tract, county, ZCTA and metro area and one result per list year.
| Argument | Type | Description |
|---|---|---|
| lat | number | |
| lon | number | |
| tract | string | 11-digit 2020 census tract GEOID |
| address | string | Street address with city and state or ZIP |
{
"type": "object",
"properties": {
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"tract": {
"type": "string",
"description": "11-digit 2020 census tract GEOID"
},
"address": {
"type": "string",
"description": "Street address with city and state or ZIP"
}
},
"additionalProperties": false
}The monthly 70% (9%) and 30% (4%) present value credit rates from the IRS revenue ruling, the statutory 9% and 4% floors and the rate a deal uses. Defaults to the latest month, with the last 12.
| Argument | Type | Description |
|---|---|---|
| month | string | YYYY-MM, e.g. 2026-11 |
{
"type": "object",
"properties": {
"month": {
"type": "string",
"description": "YYYY-MM, e.g. 2026-11"
}
},
"additionalProperties": false
}Median net equity price per $1 of federal housing credit from CohnReznick's Housing Tax Credit Monitor, the series since late 2024, and current national fund pricing ranges.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}The page where a developer or owner can request a financing quote for a 4% or 9% deal (construction, tax-exempt bond, bridge, permanent, Year 15) from Janover Capital LLC, and what the desk handles. Returns a link only; it submits nothing.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}HUD FY2026 MTSP income limits for a county (town in New England): every level from 20% to 80% of area median for 1 to 8 persons, HERA Special limits where HUD lists them, the area median family income, and the maximum gross rent by bedroom count at each level (IRS Pub. 5913 method). Give state + county, or fips.
| Argument | Type | Description |
|---|---|---|
| fips | string | 5-digit county FIPS (48201) or HUD's 10-digit area code (county + county subdivision, e.g. 2502507000 for Boston) |
| state | string | Two-letter state or territory code (CA, DC, PR) or name |
| county | string | County name, e.g. "Harris County" or "Harris"; in New England, a town ("Boston"). Use fips when a name is ambiguous. |
| ami_level | integer | Only this level (percent of AMI) |
| household_size | integer | Only this household size |
{
"type": "object",
"properties": {
"fips": {
"type": "string",
"description": "5-digit county FIPS (48201) or HUD's 10-digit area code (county + county subdivision, e.g. 2502507000 for Boston)"
},
"state": {
"type": "string",
"description": "Two-letter state or territory code (CA, DC, PR) or name"
},
"county": {
"type": "string",
"description": "County name, e.g. \"Harris County\" or \"Harris\"; in New England, a town (\"Boston\"). Use fips when a name is ambiguous."
},
"ami_level": {
"enum": [
20,
30,
40,
50,
60,
70,
80
],
"type": "integer",
"description": "Only this level (percent of AMI)"
},
"household_size": {
"type": "integer",
"maximum": 8,
"minimum": 1,
"description": "Only this household size"
}
},
"additionalProperties": false
}Everything HUD's LIHTC database lists for one property (units, income-restricted units, bedrooms, placed-in-service and allocation years, credit type, bonds, income test, targeting), its compliance and extended-use years, 2027 QCT/DDA status, its county's 2026 50% and 60% limits and rents, and nearby properties. Give the page url or the HUD project id.
| Argument | Type | Description |
|---|---|---|
| id | string | HUD project id, e.g. ALA19940016 |
| url | string | A lihtc.loans property page, /apartments/<state>/<city>/<property>/ |
| state | string | Two-letter state or territory code (CA, DC, PR) or name |
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "HUD project id, e.g. ALA19940016"
},
"url": {
"type": "string",
"description": "A lihtc.loans property page, /apartments/<state>/<city>/<property>/"
},
"state": {
"type": "string",
"description": "Two-letter state or territory code (CA, DC, PR) or name"
}
},
"additionalProperties": false
}One state's allocating agency and LIHTC page, current Qualified Allocation Plan, state credit, 2026 9% credit ceiling and private activity bond cap (with the per-capita or minimum basis and population), and its count of 2027 QCTs and nonmetro DDA counties.
| Argument | Type | Description |
|---|---|---|
| state* | string | Two-letter state or territory code (CA, DC, PR) or name |
{
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"type": "string",
"description": "Two-letter state or territory code (CA, DC, PR) or name"
}
},
"additionalProperties": false
}HUD-listed LIHTC properties still monitored for compliance, in one state, optionally one city and a name or street fragment, largest first. Each result has its lihtc.loans page URL and HUD project id for get_property. Covers cities with 5 or more monitored properties.
| Argument | Type | Description |
|---|---|---|
| city | string | City name as HUD lists it, e.g. "Los Angeles" |
| name | string | Words from the property name or street address |
| limit | integer | |
| state* | string | Two-letter state or territory code (CA, DC, PR) or name |
{
"type": "object",
"required": [
"state"
],
"properties": {
"city": {
"type": "string",
"description": "City name as HUD lists it, e.g. \"Los Angeles\""
},
"name": {
"type": "string",
"description": "Words from the property name or street address"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
},
"state": {
"type": "string",
"description": "Two-letter state or territory code (CA, DC, PR) or name"
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 2, 2026.