Climate hazards, recommended resilience upgrades and incentive-aware ROI for any building.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Your AtlasAdapt API key. Request one at https://mcp.atlasadapt.com/#request-access
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.
Per-address climate hazard profile (flood, hurricane/wind, wildfire, heat, earthquake, power outage …) for the US, UK, Germany, France and Switzerland. Each hazard carries its rating and the public source it came from. A hazard that is absent was never modelled for that country — that is not a finding of low risk. For money (the yearly loss and what upgrades avoid), call estimate_plan.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http climate-resilience https://mcp.atlasadapt.com/mcp \ --header 'Authorization: YOUR_CREDENTIALS'
Headers
Authorization (required): Your AtlasAdapt API key. Request one at https://mcp.atlasadapt.com/#request-accessPer-address climate hazard profile (flood, hurricane/wind, wildfire, heat, earthquake, power outage …) for the US, UK, Germany, France and Switzerland. Each hazard carries its rating and the public source it came from. A hazard that is absent was never modelled for that country — that is not a finding of low risk. For money (the yearly loss and what upgrades avoid), call estimate_plan.
| Argument | Type | Description |
|---|---|---|
| address* | string | |
| country | string |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string"
},
"country": {
"enum": [
"US",
"UK",
"DE",
"FR",
"CH",
"us",
"uk",
"de",
"fr",
"ch"
],
"type": "string"
}
},
"additionalProperties": false
}Price 2 to 5 options (sets of upgrades) for the SAME building on the same basis and return them side by side: cost, incentives counted, net upfront, annual benefit, yearly loss avoided, payback, net over the horizon. Commercial buildings also get our recommended plan as an extra option unless include_recommended is false. One estimate per option, each billed as one request. Never add an incentive whose counts_toward_roi is false (paused, waitlisted, closed) or that is contingent or competitive into any total; show every stated condition beside its incentive; name incentives by their ref (e.g. US12c). Amounts are guidance to be confirmed with the grantor.
| Argument | Type | Description |
|---|---|---|
| address | string | Street address. Per-address hazards in US, UK, DE, FR and CH; omit it to price on country averages (the reply says which). |
| country* | string | ISO country code: US, UK, DE, FR, CH, IT, ES … |
| options* | array | |
| segment* | string | |
| utility | string | Electric utility name, where a programme depends on it. |
| building | object | The building. Commercial: type (office, warehouse, retail, hotel, manufacturing, school, hospital, multifamily, data_centre …), size (small|medium|large), floor_area (sq ft in the US, m² elsewhere), owns (false for a tenant), org_type, storeys, installed_upgrades (ids it already has), flood_insurance (nfip|none|unknown). Residential: residential_type, tenure (own|rent|building). Omitted fields use sourced defaults or public records for the address, and the reply says which. |
| home_value | number | Residential only: the home's insured value. |
| horizon_years | integer | Default 10. |
| household_size | integer | |
| household_income | number | Residential, optional. Omitted = the top income band (no income-tied money is counted on a guess). |
For one building: the upgrades we RECOMMEND (commercial, when `upgrades` is omitted) or the ones you name; each upgrade's cost; the yearly loss per hazard without and with the plan (the owner's share, after deductible and insurer); incentives counted; net upfront cost; annual benefit; payback; net over the horizon. Same engine as the AtlasAdapt product. Never add an incentive whose counts_toward_roi is false (paused, waitlisted, closed) or that is contingent or competitive into any total; show every stated condition beside its incentive; name incentives by their ref (e.g. US12c). Amounts are guidance to be confirmed with the grantor.
| Argument | Type | Description |
|---|---|---|
| address | string | Street address. Per-address hazards in US, UK, DE, FR and CH; omit it to price on country averages (the reply says which). |
| country* | string | ISO country code: US, UK, DE, FR, CH, IT, ES … |
| segment* | string | |
| utility | string | Electric utility name, where a programme depends on it. |
| building | object | The building. Commercial: type (office, warehouse, retail, hotel, manufacturing, school, hospital, multifamily, data_centre …), size (small|medium|large), floor_area (sq ft in the US, m² elsewhere), owns (false for a tenant), org_type, storeys, installed_upgrades (ids it already has), flood_insurance (nfip|none|unknown). Residential: residential_type, tenure (own|rent|building). Omitted fields use sourced defaults or public records for the address, and the reply says which. |
Price many buildings in one job (up to 500 sites, or the key's batch limit). Returns a job id at once; poll get_portfolio_job until status is done. Each site is billed as one request. `defaults` applies to every site and any site may override a field; a site takes the same fields as estimate_plan. Never add an incentive whose counts_toward_roi is false (paused, waitlisted, closed) or that is contingent or competitive into any total; show every stated condition beside its incentive; name incentives by their ref (e.g. US12c). Amounts are guidance to be confirmed with the grantor.
| Argument | Type | Description |
|---|---|---|
| sites* | array | |
| defaults | object |
{
"type": "object",
"required": [
"sites"
],
"properties": {
"sites": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"maxItems": 500,
"minItems": 1
},
"defaults": {
"type": "object",
"additionalProperties": true
}
},
"additionalProperties": false
}Which grants, tax credits, rebates and loans apply to this building and these upgrades, and for how much: `available` (counted), `contingent` (real but not the owner's, or event-triggered — never counted), `non_cash` (financing, unpriced). Each carries its ref, funding state, stated conditions, who can apply and its source. Never add an incentive whose counts_toward_roi is false (paused, waitlisted, closed) or that is contingent or competitive into any total; show every stated condition beside its incentive; name incentives by their ref (e.g. US12c). Amounts are guidance to be confirmed with the grantor.
| Argument | Type | Description |
|---|---|---|
| address | string | Street address. Per-address hazards in US, UK, DE, FR and CH; omit it to price on country averages (the reply says which). |
| country* | string | ISO country code: US, UK, DE, FR, CH, IT, ES … |
| segment* | string | |
| utility | string | Electric utility name, where a programme depends on it. |
| building | object | The building. Commercial: type (office, warehouse, retail, hotel, manufacturing, school, hospital, multifamily, data_centre …), size (small|medium|large), floor_area (sq ft in the US, m² elsewhere), owns (false for a tenant), org_type, storeys, installed_upgrades (ids it already has), flood_insurance (nfip|none|unknown). Residential: residential_type, tenure (own|rent|building). Omitted fields use sourced defaults or public records for the address, and the reply says which. |
Full record for one programme, by the reference a person reads off a screen (US12c, FR33, DE12) or its id: grantor, amount rule, funding state, conditions, sources. Eligibility formulas, research sources and budget detail appear only if this key was granted them. Never add an incentive whose counts_toward_roi is false (paused, waitlisted, closed) or that is contingent or competitive into any total; show every stated condition beside its incentive; name incentives by their ref (e.g. US12c). Amounts are guidance to be confirmed with the grantor.
| Argument | Type | Description |
|---|---|---|
| ref* | string | e.g. US12c |
{
"type": "object",
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string",
"description": "e.g. US12c"
}
},
"additionalProperties": false
}The status of a portfolio job (queued, running, done, failed, expired) and, once done, the per-site results and summary. Polling is free. Results are deleted after the job's expires_at.
| Argument | Type | Description |
|---|---|---|
| job_id* | string |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$"
}
},
"additionalProperties": false
}The hardening and efficiency measures (upgrade ids) we hold priced cost rules for, by country and segment. Use these ids in estimate_plan and find_incentives.
| Argument | Type | Description |
|---|---|---|
| country | string | |
| segment | string |
{
"type": "object",
"properties": {
"country": {
"type": "string"
},
"segment": {
"enum": [
"commercial",
"residential"
],
"type": "string"
}
},
"additionalProperties": false
}What this AtlasAdapt key may call, which countries it covers, and how many requests are left this month. Each tool call costs the REST calls behind it (usually one).
No arguments.
{
"type": "object",
"additionalProperties": false
}Geocode an address: coordinates, state, county (and US county FIPS), city, postcode, FEMA flood zone in the US, and how precise the match is (rooftop vs postcode centroid).
| Argument | Type | Description |
|---|---|---|
| address* | string | |
| country | string | ISO code; default US. |
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string"
},
"country": {
"type": "string",
"description": "ISO code; default US."
}
},
"additionalProperties": false
}For a sole-source manufacturing or warehouse site run by a commercial or nonprofit body: how long one hazard event stops it, how long that stops its customer, and what that is worth. ONE event, not a yearly average: quote it with scenario.probability_pct. The downstream figure is the CUSTOMER's money, not the site owner's; never add it to anything. site_annual_revenue is required and never defaulted. Field definitions are those of POST /v1/estimate/supplychain.
| Argument | Type | Description |
|---|---|---|
| hazard | string | |
| country* | string | |
| org_type | string | |
| upgrades | array | |
| vertical | string | |
| buffer_days | number | |
| building_type* | string | |
| restart_tail_days | number | |
| share_of_output_pct | 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 11, 2026.
| discount_rate_pct | number |
| include_recommended | boolean | Commercial: add our recommended plan as an option. Default true. |
| planned_install_date | string | YYYY-MM-DD. Decides which programmes are open. |
{
"type": "object",
"required": [
"country",
"segment",
"options"
],
"properties": {
"address": {
"type": "string",
"description": "Street address. Per-address hazards in US, UK, DE, FR and CH; omit it to price on country averages (the reply says which)."
},
"country": {
"type": "string",
"description": "ISO country code: US, UK, DE, FR, CH, IT, ES …"
},
"options": {
"type": "array",
"items": {
"type": "object",
"required": [
"upgrades"
],
"properties": {
"label": {
"type": "string"
},
"upgrades": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
}
},
"additionalProperties": false
},
"maxItems": 5,
"minItems": 1
},
"segment": {
"enum": [
"commercial",
"residential"
],
"type": "string"
},
"utility": {
"type": "string",
"description": "Electric utility name, where a programme depends on it."
},
"building": {
"type": "object",
"properties": {
"owns": {
"type": "boolean"
},
"size": {
"enum": [
"small",
"medium",
"large"
],
"type": "string"
},
"type": {
"type": "string"
},
"storeys": {
"type": "integer",
"minimum": 1
},
"org_type": {
"type": "string"
},
"floor_area": {
"type": "number",
"exclusiveMinimum": 0
},
"flood_insurance": {
"enum": [
"nfip",
"none",
"unknown"
],
"type": "string"
},
"installed_upgrades": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "The building. Commercial: type (office, warehouse, retail, hotel, manufacturing, school, hospital, multifamily, data_centre …), size (small|medium|large), floor_area (sq ft in the US, m² elsewhere), owns (false for a tenant), org_type, storeys, installed_upgrades (ids it already has), flood_insurance (nfip|none|unknown). Residential: residential_type, tenure (own|rent|building). Omitted fields use sourced defaults or public records for the address, and the reply says which.",
"additionalProperties": true
},
"home_value": {
"type": "number",
"description": "Residential only: the home's insured value."
},
"horizon_years": {
"type": "integer",
"maximum": 40,
"minimum": 1,
"description": "Default 10."
},
"household_size": {
"type": "integer",
"maximum": 20,
"minimum": 1
},
"household_income": {
"type": "number",
"description": "Residential, optional. Omitted = the top income band (no income-tied money is counted on a guess)."
},
"discount_rate_pct": {
"type": "number",
"maximum": 30,
"minimum": 0
},
"include_recommended": {
"type": "boolean",
"description": "Commercial: add our recommended plan as an option. Default true."
},
"planned_install_date": {
"type": "string",
"description": "YYYY-MM-DD. Decides which programmes are open."
}
},
"additionalProperties": false
}| upgrades | array | Upgrade ids to price. Omit (commercial) to get our recommended plan. |
| recommend | boolean | Commercial: price the recommended plan. Default true when `upgrades` is omitted. |
| home_value | number | Residential only: the home's insured value. |
| horizon_years | integer | Default 10. |
| household_size | integer |
| household_income | number | Residential, optional. Omitted = the top income band (no income-tied money is counted on a guess). |
| discount_rate_pct | number | % real. 0 = undiscounted. |
| planned_install_date | string | YYYY-MM-DD. Decides which programmes are open. |
{
"type": "object",
"required": [
"country",
"segment"
],
"properties": {
"address": {
"type": "string",
"description": "Street address. Per-address hazards in US, UK, DE, FR and CH; omit it to price on country averages (the reply says which)."
},
"country": {
"type": "string",
"description": "ISO country code: US, UK, DE, FR, CH, IT, ES …"
},
"segment": {
"enum": [
"commercial",
"residential"
],
"type": "string"
},
"utility": {
"type": "string",
"description": "Electric utility name, where a programme depends on it."
},
"building": {
"type": "object",
"properties": {
"owns": {
"type": "boolean"
},
"size": {
"enum": [
"small",
"medium",
"large"
],
"type": "string"
},
"type": {
"type": "string"
},
"storeys": {
"type": "integer",
"minimum": 1
},
"org_type": {
"type": "string"
},
"floor_area": {
"type": "number",
"exclusiveMinimum": 0
},
"flood_insurance": {
"enum": [
"nfip",
"none",
"unknown"
],
"type": "string"
},
"installed_upgrades": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "The building. Commercial: type (office, warehouse, retail, hotel, manufacturing, school, hospital, multifamily, data_centre …), size (small|medium|large), floor_area (sq ft in the US, m² elsewhere), owns (false for a tenant), org_type, storeys, installed_upgrades (ids it already has), flood_insurance (nfip|none|unknown). Residential: residential_type, tenure (own|rent|building). Omitted fields use sourced defaults or public records for the address, and the reply says which.",
"additionalProperties": true
},
"upgrades": {
"type": "array",
"items": {
"type": "string"
},
"description": "Upgrade ids to price. Omit (commercial) to get our recommended plan."
},
"recommend": {
"type": "boolean",
"description": "Commercial: price the recommended plan. Default true when `upgrades` is omitted."
},
"home_value": {
"type": "number",
"description": "Residential only: the home's insured value."
},
"horizon_years": {
"type": "integer",
"maximum": 40,
"minimum": 1,
"description": "Default 10."
},
"household_size": {
"type": "integer",
"maximum": 20,
"minimum": 1
},
"household_income": {
"type": "number",
"description": "Residential, optional. Omitted = the top income band (no income-tied money is counted on a guess)."
},
"discount_rate_pct": {
"type": "number",
"maximum": 30,
"minimum": 0,
"description": "% real. 0 = undiscounted."
},
"planned_install_date": {
"type": "string",
"description": "YYYY-MM-DD. Decides which programmes are open."
}
},
"additionalProperties": false
}| upgrades* | array |
| home_value | number | Residential only: the home's insured value. |
| horizon_years | integer | Default 10. |
| household_size | integer |
| household_income | number | Residential, optional. Omitted = the top income band (no income-tied money is counted on a guess). |
| planned_install_date | string | YYYY-MM-DD. Decides which programmes are open. |
{
"type": "object",
"required": [
"country",
"segment",
"upgrades"
],
"properties": {
"address": {
"type": "string",
"description": "Street address. Per-address hazards in US, UK, DE, FR and CH; omit it to price on country averages (the reply says which)."
},
"country": {
"type": "string",
"description": "ISO country code: US, UK, DE, FR, CH, IT, ES …"
},
"segment": {
"enum": [
"commercial",
"residential"
],
"type": "string"
},
"utility": {
"type": "string",
"description": "Electric utility name, where a programme depends on it."
},
"building": {
"type": "object",
"properties": {
"owns": {
"type": "boolean"
},
"size": {
"enum": [
"small",
"medium",
"large"
],
"type": "string"
},
"type": {
"type": "string"
},
"storeys": {
"type": "integer",
"minimum": 1
},
"org_type": {
"type": "string"
},
"floor_area": {
"type": "number",
"exclusiveMinimum": 0
},
"flood_insurance": {
"enum": [
"nfip",
"none",
"unknown"
],
"type": "string"
},
"installed_upgrades": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "The building. Commercial: type (office, warehouse, retail, hotel, manufacturing, school, hospital, multifamily, data_centre …), size (small|medium|large), floor_area (sq ft in the US, m² elsewhere), owns (false for a tenant), org_type, storeys, installed_upgrades (ids it already has), flood_insurance (nfip|none|unknown). Residential: residential_type, tenure (own|rent|building). Omitted fields use sourced defaults or public records for the address, and the reply says which.",
"additionalProperties": true
},
"upgrades": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"home_value": {
"type": "number",
"description": "Residential only: the home's insured value."
},
"horizon_years": {
"type": "integer",
"maximum": 40,
"minimum": 1,
"description": "Default 10."
},
"household_size": {
"type": "integer",
"maximum": 20,
"minimum": 1
},
"household_income": {
"type": "number",
"description": "Residential, optional. Omitted = the top income band (no income-tied money is counted on a guess)."
},
"planned_install_date": {
"type": "string",
"description": "YYYY-MM-DD. Decides which programmes are open."
}
},
"additionalProperties": false
}| site_annual_revenue* | number |
| acknowledge_leverage | string |
| customer_revenue_gated | number |
| substitution_lead_days | number |
{
"type": "object",
"required": [
"country",
"building_type",
"site_annual_revenue"
],
"properties": {
"hazard": {
"type": "string"
},
"country": {
"type": "string"
},
"org_type": {
"type": "string"
},
"upgrades": {
"type": "array",
"items": {
"type": "string"
}
},
"vertical": {
"type": "string"
},
"buffer_days": {
"type": "number"
},
"building_type": {
"enum": [
"manufacturing",
"warehouse"
],
"type": "string"
},
"restart_tail_days": {
"type": "number"
},
"share_of_output_pct": {
"type": "number"
},
"site_annual_revenue": {
"type": "number",
"exclusiveMinimum": 0
},
"acknowledge_leverage": {
"type": "string"
},
"customer_revenue_gated": {
"type": "number"
},
"substitution_lead_days": {
"type": "number"
}
},
"additionalProperties": true
}