Opportunity Zone address and tract lookup (2018 zones and the 2027 round), state data, program.
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.
Last day to invest a gain in a QOF, with every start date the taxpayer may choose (direct, pass-through K-1, section 1231, RIC/REIT dividend, installment) and whether the window reaches OZ 2.0 (Jan 1, 2027).
YYYY-MM-DD
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http opportunityzones-help https://www.opportunityzones.help/api/oz/mcp
Last day to invest a gain in a QOF, with every start date the taxpayer may choose (direct, pass-through K-1, section 1231, RIC/REIT dividend, installment) and whether the window reaches OZ 2.0 (Jan 1, 2027).
| Argument | Type | Description |
|---|---|---|
| kind | string | |
| sale_date* | string | YYYY-MM-DD |
| dividend_date | string | |
| entity_year_end | string | |
| entity_return_due | string |
{
"type": "object",
"required": [
"sale_date"
],
"properties": {
"kind": {
"enum": [
"direct",
"passthrough",
"1231",
"reit_ric",
"1256",
"installment",
"collectible"
],
"type": "string"
},
"sale_date": {
"type": "string",
"description": "YYYY-MM-DD"
},
"dividend_date": {
"type": "string"
},
"entity_year_end": {
"type": "string"
},
"entity_return_due": {
"type": "string"
}
}
}Amount of deferred gain included on Dec 31, 2026 for a pre-2027 QOF investment, with the 10%/15% basis step-up where the holding period was met, and an estimated tax at the user's rate.
| Argument | Type | Description |
|---|---|---|
| rate_pct | number | |
| invest_date* | string | |
| deferred_gain* | number | |
| fmv_12_31_2026 | number |
{
"type": "object",
"required": [
"deferred_gain",
"invest_date"
],
"properties": {
"rate_pct": {
"type": "number"
},
"invest_date": {
"type": "string"
},
"deferred_gain": {
"type": "number"
},
"fmv_12_31_2026": {
"type": "number"
}
}
}Averages the two semiannual testing dates and, if the fund falls short, computes the Form 8996 Part IV penalty month by month (pass month-end figures in monthly for an exact figure; otherwise testing-date figures are applied to each half-year and the result is flagged as an approximation) at an underpayment rate the caller supplies.
| Argument | Type | Description |
|---|---|---|
| months | number | Months the entity was a QOF this year, 1-12 (default 12) |
| d1_qozp | number | |
| d2_qozp* | number | |
| monthly | array | Optional month-end figures for Form 8996 Part IV: [{total, qozp, rate_pct}] |
| d1_total | number | |
| d2_total* | number | |
| single_date | boolean | true if only the year-end test applies (first year under 6 months); otherwise d1_* are required |
| underpayment_rate_pct | number | IRS underpayment rate for the period, percent |
Models an OZ 2.0 investment (5-year deferral, 10% or rural 30% step-up, 10-year exclusion capped at year 30) against paying tax now and investing the remainder.
| Argument | Type | Description |
|---|---|---|
| gain* | number | |
| rural | boolean | |
| growth_pct* | number | |
| hold_years* | number | |
| invest_date | string | |
| discount_pct | number | |
| rate_now_pct* | number | |
| rate_later_pct | number |
{
"type": "object",
"required": [
"gain",
"rate_now_pct",
"growth_pct",
"hold_years"
],
"properties": {
"gain": {
"type": "number"
},
"rural": {
"type": "boolean"
},
"growth_pct": {
"type": "number"
},
"hold_years": {
"type": "number"
},
"invest_date": {
"type": "string"
},
"discount_pct": {
"type": "number"
},
"rate_now_pct": {
"type": "number"
},
"rate_later_pct": {
"type": "number"
}
}
}How much must be added to a building's basis within 30 months (100%, or 50% in a zone made up entirely of rural areas).
| Argument | Type | Description |
|---|---|---|
| rural | boolean | |
| land_value | number | |
| start_date | string | |
| spent_so_far | number | |
| purchase_price* | number |
{
"type": "object",
"required": [
"purchase_price"
],
"properties": {
"rural": {
"type": "boolean"
},
"land_value": {
"type": "number"
},
"start_date": {
"type": "string"
},
"spent_so_far": {
"type": "number"
},
"purchase_price": {
"type": "number"
}
}
}Checks the 70% tangible property, 50% gross income, 40% intangibles and 5% nonqualified financial property tests and the excluded-business list.
| Argument | Type | Description |
|---|---|---|
| nqfp | number | |
| total_basis | number | |
| sin_business | boolean | |
| tangible_qozbp | number | |
| tangible_total | number | |
| gross_income_zone | number | |
| intangibles_total | number | |
| gross_income_total | number | |
| intangibles_used_in_zone | number |
{
"type": "object",
"required": [],
"properties": {
"nqfp": {
"type": "number"
},
"total_basis": {
"type": "number"
},
"sin_business": {
"type": "boolean"
},
"tangible_qozbp": {
"type": "number"
},
"tangible_total": {
"type": "number"
},
"gross_income_zone": {
"type": "number"
},
"intangibles_total": {
"type": "number"
},
"gross_income_total": {
"type": "number"
},
"intangibles_used_in_zone": {
"type": "number"
}
}
}Link where a developer, sponsor or business owner can request debt financing for a project in an Opportunity Zone. Routed to Janover Capital LLC's desk; free, no obligation. Janover arranges loans; it does not sell fund interests.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}The program calendar: OZ 1.0 inclusion date, OZ 2.0 start, designation periods, filing dates.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}Counts of 2018 zones, rural zones, 2027-eligible tracts and their nomination/certification status for one state or territory, with the official source.
| Argument | Type | Description |
|---|---|---|
| state* | string | Two-letter code, FIPS code or name |
{
"type": "object",
"required": [
"state"
],
"properties": {
"state": {
"type": "string",
"description": "Two-letter code, FIPS code or name"
}
}
}Status for an 11-digit census tract GEOID. A 2010 GEOID is checked against the 2018 designations and a 2020 GEOID against the 2027 round; many GEOIDs exist in both vintages. If you already geocoded a property, pass geoid_2010 and geoid_2020 instead of geoid.
| Argument | Type | Description |
|---|---|---|
| geoid | string | 11-digit tract GEOID (state+county+tract) |
| geoid_2010 | string | The property's 2010 tract GEOID (for 2018 status) |
| geoid_2020 | string | The property's 2020 tract GEOID (for 2027 status) |
{
"type": "object",
"required": [],
"properties": {
"geoid": {
"type": "string",
"description": "11-digit tract GEOID (state+county+tract)"
},
"geoid_2010": {
"type": "string",
"description": "The property's 2010 tract GEOID (for 2018 status)"
},
"geoid_2020": {
"type": "string",
"description": "The property's 2020 tract GEOID (for 2027 status)"
}
}
}Geocodes a US street address (Census Bureau geocoder, falling back to OpenStreetMap; tract assignment by the FCC Census Block API) and returns its 2018 Opportunity Zone status (2010 tract), its status for the 2027 designation round (2020 tract: eligible, nominated or certified, with source), the rural flags, and Census ACS tract statistics.
| Argument | Type | Description |
|---|---|---|
| address* | string | One-line US address, e.g. '2 Woodward Ave, Detroit, MI 48226' |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "One-line US address, e.g. '2 Woodward Ave, Detroit, MI 48226'"
}
}
}Same as lookup_address for a latitude/longitude point.
| Argument | Type | Description |
|---|---|---|
| lat* | number | |
| lon* | number |
{
"type": "object",
"required": [
"lat",
"lon"
],
"properties": {
"lat": {
"type": "number"
},
"lon": {
"type": "number"
}
}
}Spend-by dates for each cash infusion under the 31-month working capital safe harbor, and the 62-month outer limit available to start-up businesses.
| Argument | Type | Description |
|---|---|---|
| startup | boolean | |
| disaster | boolean | |
| infusions* | array |
{
"type": "object",
"required": [
"infusions"
],
"properties": {
"startup": {
"type": "boolean"
},
"disaster": {
"type": "boolean"
},
"infusions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"amount": {
"type": "number"
}
}
}
}
}
}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.
{
"type": "object",
"required": [
"d2_qozp",
"d2_total"
],
"properties": {
"months": {
"type": "number",
"description": "Months the entity was a QOF this year, 1-12 (default 12)"
},
"d1_qozp": {
"type": "number"
},
"d2_qozp": {
"type": "number"
},
"monthly": {
"type": "array",
"items": {
"type": "object"
},
"description": "Optional month-end figures for Form 8996 Part IV: [{total, qozp, rate_pct}]"
},
"d1_total": {
"type": "number"
},
"d2_total": {
"type": "number"
},
"single_date": {
"type": "boolean",
"description": "true if only the year-end test applies (first year under 6 months); otherwise d1_* are required"
},
"underpayment_rate_pct": {
"type": "number",
"description": "IRS underpayment rate for the period, percent"
}
}
}