Explain bedroom CO2 readings, check certified HRV/ERV airflow, and find US installers and rebates.
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.
Checks a quoted HRV or ERV against bedroom airflow needs using exact-model HVI-certified data. Returns a screening verdict, reasons, assumptions and questions for the installer. Ambiguous model names return candidates for clarification rather than a guessed model. Does not provide a permit-ready design or guarantee installation performance.
Every bedroom, with how many people sleep in each
Five-digit ZIP code (used for the state if state is missing)
The brand and model exactly as the quote prints it, e.g. "Broan-NuTone B160E75RS"
Two-letter US state, e.g. "CO"
An id from a previous result’s candidates, once the person has said which exact model it is
Whether the quote calls it an HRV or an ERV, to catch a mismatch
Conditioned floor area in square feet, for the daytime code rate
Checks a quoted HRV or ERV against bedroom airflow needs using exact-model HVI-certified data. Returns a screening verdict, reasons, assumptions and questions for the installer. Ambiguous model names return candidates for clarification rather than a guessed model. Does not provide a permit-ready design or guarantee installation performance.
| Argument | Type | Description |
|---|---|---|
| zip | string | Five-digit ZIP code (used for the state if state is missing) |
| model | string | The brand and model exactly as the quote prints it, e.g. "Broan-NuTone B160E75RS" |
| state | string | Two-letter US state, e.g. "CO" |
| unitId | string | An id from a previous result’s candidates, once the person has said which exact model it is |
| bedrooms* | array | Every bedroom, with how many people sleep in each |
| quotedType | string | Whether the quote calls it an HRV or an ERV, to catch a mismatch |
| floorAreaSqft | number | Conditioned floor area in square feet, for the daytime code rate |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"bedrooms"
],
"properties": {
"zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "Five-digit ZIP code (used for the state if state is missing)"
},
"model": {
"type": "string",
"maxLength": 120,
"description": "The brand and model exactly as the quote prints it, e.g. \"Broan-NuTone B160E75RS\""
},
"state": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Two-letter US state, e.g. \"CO\""
},
"unitId": {
"type": "string",
"maxLength": 80,
"description": "An id from a previous result’s candidates, once the person has said which exact model it is"
},
"bedrooms": {
"type": "array",
"items": {
"type": "object",
"required": [
"sleepers"
],
"properties": {
"name": {
"type": "string",
"maxLength": 40,
"description": "What the household calls the room, e.g. \"Main bedroom\""
},
"sleepers": {
"type": "integer",
"maximum": 6,
"minimum": 0,
"description": "People who sleep there (a large dog counts about like a person)"
}
}
},
"maxItems": 8,
"minItems": 1,
"description": "Every bedroom, with how many people sleep in each"
},
"quotedType": {
"enum": [
"HRV",
"ERV"
],
"type": "string",
"description": "Whether the quote calls it an HRV or an ERV, to catch a mismatch"
},
"floorAreaSqft": {
"type": "number",
"maximum": 20000,
"minimum": 200,
"description": "Conditioned floor area in square feet, for the daytime code rate"
}
}
}Explains a bedroom CO₂ reading against the precautionary 800 ppm average-while-asleep goal: band, distance from the goal, whether the measurement is comparable, signs of a monitor reading low, and free fixes with trade-offs. The goal is not a health limit. Door-open nights appear only as one-night tests, not fixes.
| Argument | Type | Description |
|---|---|---|
| ppm* | number | The reading in parts per million |
| room | string | Where it was measured (default bedroom) |
| measured* | string | night_average: the average while asleep (a monitor’s recorded night). overnight_high: the highest number overnight (what most monitors show and people remember). spot: one reading at one moment. If unsure, use overnight_high for a morning number and spot for a daytime one. |
| sleepers | integer | People who slept in the room that night, if known |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"ppm",
"measured"
],
"properties": {
"ppm": {
"type": "number",
"description": "The reading in parts per million"
},
"room": {
"enum": [
"bedroom",
"other"
],
"type": "string",
"description": "Where it was measured (default bedroom)"
},
"measured": {
"enum": [
"night_average",
"overnight_high",
"spot"
],
"type": "string",
"description": "night_average: the average while asleep (a monitor’s recorded night). overnight_high: the highest number overnight (what most monitors show and people remember). spot: one reading at one moment. If unsure, use overnight_high for a morning number and spot for a daytime one."
},
"sleepers": {
"type": "integer",
"maximum": 6,
"minimum": 0,
"description": "People who slept in the room that night, if known"
}
}
}Lists HRV and ERV installer companies for a US ZIP code in HouseExhale’s neutral order, with its ordering rule and coverage limits. Returns member companies where the installer program is open, otherwise researched companies from public pages covering the Colorado Front Range and New England. Contains no sponsored cards or paid recommendations. Does not contact anyone.
| Argument | Type | Description |
|---|---|---|
| job | array | Only if it applies: tight (just air sealed, insulated or newly built), no-ducts (no forced-air ducts), condo (condo or apartment), service (asking a past installer back) |
| zip* | string | The home’s five-digit ZIP code |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"zip"
],
"properties": {
"job": {
"type": "array",
"items": {
"enum": [
"tight",
"no-ducts",
"condo",
"service"
],
"type": "string"
},
"maxItems": 4,
"description": "Only if it applies: tight (just air sealed, insulated or newly built), no-ducts (no forced-air ducts), condo (condo or apartment), service (asking a past installer back)"
},
"zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "The home’s five-digit ZIP code"
}
}
}What HouseExhale’s research found for a state (by ZIP code or state): utility and state programs that pay toward an HRV or ERV by name, other ventilation rebates, air sealing and insulation help, the state’s federal home energy rebates, state tax credits, and the status of the federal tax credits. Each with its link and date. Never promises eligibility.
| Argument | Type | Description |
|---|---|---|
| zip | string | Five-digit ZIP code |
| state | string | Two-letter US state, if no ZIP code |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "Five-digit ZIP code"
},
"state": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Two-letter US state, if no ZIP code"
}
}
}Lists up to three reviewed HRV/ERV families whose HVI-certified airflow covers what the household’s bedrooms need at night, with margin: units to ask installers about, never a single pick or a recommendation, and never paid placement. Also returns the night airflow target and how it was worked out.
| Argument | Type | Description |
|---|---|---|
| zip | string | Five-digit ZIP code (used for the state if state is missing) |
| state | string | Two-letter US state, e.g. "CO" |
| bedrooms* | array | Every bedroom, with how many people sleep in each |
| floorAreaSqft | number | Conditioned floor area in square feet, for the daytime code rate |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"bedrooms"
],
"properties": {
"zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "Five-digit ZIP code (used for the state if state is missing)"
},
"state": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Two-letter US state, e.g. \"CO\""
},
"bedrooms": {
"type": "array",
"items": {
"type": "object",
"required": [
"sleepers"
],
"properties": {
"name": {
"type": "string",
"maxLength": 40,
"description": "What the household calls the room, e.g. \"Main bedroom\""
},
"sleepers": {
"type": "integer",
"maximum": 6,
"minimum": 0,
"description": "People who sleep there (a large dog counts about like a person)"
}
}
},
"maxItems": 8,
"minItems": 1,
"description": "Every bedroom, with how many people sleep in each"
},
"floorAreaSqft": {
"type": "number",
"maximum": 20000,
"minimum": 200,
"description": "Conditioned floor area in square feet, for the daytime code rate"
}
}
}