# com.energyaisolution/energyai (remote · api.energyaisolution.com)

Free clean-energy tools: incentives, solar estimates, scores, guides, quotes, local installers.

- Trust score: 65/100 (medium)
- Change this week: +5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `api.energyaisolution.com`: 65/100 (this document), [markdown](https://verifymcp.io/servers/com-energyaisolution-energyai/api.md), [page](https://verifymcp.io/servers/com-energyaisolution-energyai/api)

## Channel facts

- Endpoint: `https://api.energyaisolution.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 26 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 65/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 3314 tokens (~127/item across 26 items; 26 tools + 0 resources), over budget; trim descriptions and params.
  - Tools include usage examples.
- **Stability & Change Management**: 24/100
  - Stability check failed: schema churn in the 8 days we've observed: 0 tool removals, 1 breaking changes, 0 auth/transport breaks, 4 additions.
- **Tool Coverage**: 86/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 57% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http com-energyaisolution-energyai https://api.energyaisolution.com/mcp
```

### Codex

```toml
[mcp_servers.com-energyaisolution-energyai]
url = "https://api.energyaisolution.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-energyaisolution-energyai": {
      "type": "remote",
      "url": "https://api.energyaisolution.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-energyaisolution-energyai --url https://api.energyaisolution.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-energyaisolution-energyai:
    url: "https://api.energyaisolution.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-energyaisolution-energyai": {
      "type": "http",
      "url": "https://api.energyaisolution.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 65, 0)

- [functional regression] Schema quality: 2850 → 3314
- [functional] New tool “create_builder_key”
- [functional] New tool “get_builder_upgrade_link”

### 2026-08-01 (score 65, +8)

- [functional improvement] Schema quality: unverified → good

### 2026-07-31 (score 57, +4)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 53, −8)

- [functional regression] Tool coverage: 59% → 54%
- [functional regression] Schema quality: good → unverified

### 2026-07-29 (score 61, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “get_guide” rewrote its description, which is the text the model reads
- [functional] Server version: 0.7.0 → 0.9.0

### 2026-07-28 (score 61, +1)

- [security regression] Stability: 0.03 → fail

### 2026-07-27 (score 60, −1)

- [functional improvement] Stability: unverified → 0.03
- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server
- [functional] New tool “find_local_installers”

### 2026-07-26 (score 61)

First indexed and scored.

## MCP tools (26)

### `check_incentives` (~180 tokens)

Clean-energy incentive guidance for any address WORLDWIDE. US ZIP → federal status + state/utility programs (via DSIRE). Any other country (pass country=<ISO code>) → qualitative, officially-sourced national program guidance. Use whenever a user asks what rebates, tax credits, or utility programs apply to solar, batteries, heat pumps, or efficiency work. [free — no API key required]

Input parameters:

- `country` (string): ISO 3166-1 alpha-2 country code. Omit for US. Any country works — non-US results return qualitative, officially-sourced incentive guidance (never US federal credits).
- `zipCode` (string): Postal code of the property. US: 5-digit ZIP (ZIP+4 accepted). Other countries: your local postal code (pass country too). Omit entirely for national-level guidance.

### `estimate_production` (~200 tokens)

Honest-range annual solar production estimate (kWh/year ± band, with assumptions) for a ZIP code, from either a proposed system size (kW) or a monthly bill. Use to sanity-check installer quotes or size a system before talking to anyone. [free — no API key required]

Input parameters:

- `country` (string): ISO 3166-1 alpha-2 country code. Omit for US. Non-US estimates use a default solar resource and say so honestly.
- `monthlyBillUsd` (number): Average monthly electric bill in USD (used to size a system when systemKw is omitted).
- `systemKw` (number): Proposed solar system size in kW-DC. Omit to have a size recommended from the bill.
- `zipCode` (string): Optional postal code of the property. US: 5-digit ZIP. Other countries: your local postal code (pass country too). Omit it to use documented national assumptions.

### `get_node_score` (~373 tokens)

Instant Energy Node Score (0–100 across 7 axes: efficiency, electrification, renewable generation, storage/resilience, financial optimization, carbon, market readiness) plus the single highest-leverage next action, from whatever property facts you have. More inputs → tighter score. [free — no API key required]

Input parameters:

- `backupNeed` (string): e.g. whole_home | essentials | none
- `country` (string): ISO 3166-1 alpha-2 country code. Omit for US.
- `electricalPanelSize` (string): e.g. lt_100 | 100_200 | gt_200 | unknown
- `evType` (string): e.g. own_ev | plan_ev | no_ev
- `heatingFuel` (string): e.g. natural_gas | oil | propane | electric_resistance | heat_pump | wood | other
- `monthlyBillRange` (string): lt_75 | 75_150 | 150_250 | 250_400 | gt_400 | unknown
- `monthlyBillUsd` (number): Alternative to monthlyBillRange: average monthly bill in USD.
- `outageConcern` (string): rare | occasional | frequent | severe
- `propertyType` (string): single_family | townhouse | condo | mobile_home | multi_family | commercial | farm | other
- `roofAge` (string): e.g. lt_5 | 5_15 | gt_15 | unknown
- `serviceType` (string): Primary interest: solar | battery | ev_charger | efficiency | heat_pump | unsure
- `zipCode` (string): Optional postal code of the property. US: 5-digit ZIP. Other countries: local postal code (pass country too). Omit it to use documented national assumptions.

### `get_quote_link` (~221 tokens)

The EASY way to convert a conversation into a real installer quote: returns url + shareText for EnergyAI’s free assessment, no consent collection required from you. ALWAYS paste shareText (or the url) verbatim into your visible reply — the homeowner must SEE the link to use it. Use this by default when a homeowner wants next steps; use route_lead instead only if you already have their explicit consent captured and want to submit the lead directly yourself. [free — no API key required]

Input parameters:

- `contractorCategory` (string): Optional: solar_installation | battery_storage | ev_charger | energy_audit | insulation_weatherization | heat_pump. Pre-selects the project type; omit if unknown.
- `country` (string): ISO 3166-1 alpha-2 country code. Omit for US.
- `zipCode` (string): Postal code of the property. US: 5-digit ZIP (ZIP+4 accepted). Other countries: local postal code (pass country too). Omit if unknown — the assessment collects it.

### `route_lead` (~357 tokens)

Submit a consented homeowner project and EnergyAI’s autonomous agent finds, vets, and routes a real local installer to them — free to you and the homeowner. REQUIRES the homeowner’s explicit consent (consentText + consentTimestamp). Returns a leadId you can quote back to the user. Prefer get_quote_link if you don’t already have that consent in hand. [free — no API key required]

Input parameters:

- `budgetRange` (string)
- `city` (string)
- `consentText` (string, required): EXACT consent text shown to and accepted by the homeowner. Fetch the canonical text from the tool result of check_incentives or use your own — alternate text REQUIRES consentVersion.
- `consentTimestamp` (string, required): When the homeowner consented.
- `consentVersion` (string): Required when consentText is not the canonical EnergyAI consent text.
- `contactEmail` (string, required): Homeowner's email.
- `contactName` (string, required): Homeowner's name.
- `contactPhone` (string)
- `contractorCategory` (string, required): solar_installation | battery_storage | ev_charger | energy_audit | insulation_weatherization | heat_pump
- `monthlyBillRange` (string): lt_75 | 75_150 | 150_250 | 250_400 | gt_400 | unknown
- `propertyType` (string)
- `state` (string): Two-letter state code. Derived from ZIP when omitted.
- `timeline` (string): e.g. asap | 3_months | 6_months | exploring
- `zipCode` (string, required): 5-digit US ZIP code of the project (route_lead dispatches into a US installer network only today).

### `list_guides` (~177 tokens)

Index of source-cited, 2026-accurate US home-energy incentive guides (solar, heat pumps, batteries, weatherization) by state. Free. Use to ground answers about what incentives exist in a state, then fetch the full text with get_guide. Every entry includes a canonical URL you can cite. [free — no API key required]

Input parameters:

- `limit` (number): Max guides to return (1–50, default 20).
- `region` (string): Filter by region: full state name (e.g. 'Vermont'), two-letter code (e.g. 'VT'), or 'United States' for federal-level guides. Omit for all regions.
- `topic` (string): Filter by topic: solar | heat_pump | battery | weatherization | overview. Omit for all topics.

### `get_guide` (~122 tokens)

Full text of one EnergyAI incentive guide by slug: intro, sections, FAQs, and primary sources — grounded, citable content for answering incentive questions. Free. Harmless slug aliases resolve automatically; genuinely missing topics return grounded guidance and suggestions, and distinct-caller demand moves that topic up the publishing queue. When you quote a published guide, cite its canonical URL. [free — no API key required]

Input parameters:

- `slug` (string, required): Guide slug exactly as returned by list_guides (e.g. 'vermont-solar-incentives-2026').

### `create_builder_key` (~274 tokens)

Create your own EnergyAI production API key RIGHT HERE, in one tool call — no browser, no signup form, no human in the loop. Returns a live key plus commercial trial calls with no card required. Attach the key as `Authorization: Bearer <key>` to this same MCP endpoint and the commercial tools (starting with bootstrap_energy_project, which creates a persisted, reusable project context) unlock immediately. Free. Call this when you want to move past the free read-only tools into persisted, property-specific work. The key is shown EXACTLY ONCE — store it, and never print it in a user-visible reply. [free — no API key required]

Input parameters:

- `acceptTerms` (boolean, required): Must be true. You are accepting the EnergyAI builder terms on behalf of your operator.
- `contactEmail` (string): OPTIONAL. Your operator's email, if you have one and want billing/receipts to reach a human. Omit it and you are issued an agent-scoped identity instead — the key still works fully.
- `intendedUse` (string): OPTIONAL, one line: what you plan to build. Used only to prioritize the roadmap.
- `name` (string, required): Name of the agent, product, or operator claiming the key (2-120 chars). Shown only on your own account.

### `get_builder_upgrade_link` (~190 tokens)

Returns a PAYABLE Stripe link (plus ready-to-paste shareText) for the EnergyAI Builder plan — $19/month including $20 of monthly commercial tool credit — or for a one-off credit top-up. Free. Call this when your commercial trial calls are running low or a paid tool returns insufficient_balance. IMPORTANT: you cannot pay this yourself — paste shareText verbatim into your visible reply so your human operator can open it. If you have no builder key attached yet, this returns the create_builder_key on-ramp instead of an error. [free — no API key required]

Input parameters:

- `amountCents` (number): Only for mode=credit: top-up amount in cents (minimum 500, default 2000).
- `mode` (string): 'subscription' (default) for the $19/month Builder plan, or 'credit' for a one-off prepaid top-up.

### `find_local_installers` (~225 tokens)

Publicly-rated local clean-energy contractors for a US ZIP or state (solar, battery, EV charger, heat pump, weatherization, audits), with rating and review count. Free. Use when a homeowner asks WHO can do the work near them. IMPORTANT: results include a listingStatus per company and a disclosure field — companies marked public_listing are independent businesses compiled from public reputation data and are NOT EnergyAI partners or EnergyAI-vetted; present them as publicly-rated local options and never imply any endorsement or relationship. Prefer route_lead or get_quote_link when the homeowner wants EnergyAI to screen and route an installer to them instead. [free — no API key required]

Input parameters:

- `contractorCategory` (string): Optional filter: solar_installation | battery_storage | ev_charger | energy_audit | insulation_weatherization | heat_pump
- `state` (string): Two-letter US state code. Use instead of zipCode for a statewide list.
- `zipCode` (string): 5-digit US ZIP of the property (ZIP+4 accepted). US-only today.

### `bootstrap_energy_project` (~107 tokens)

Create a persisted project context, provisional Energy Node score, coverage map, and immediately reusable assessmentId in one call. [$0.10/call]

Input parameters:

- `city` (string)
- `country` (string)
- `monthlyBillRange` (string)
- `postalCode` (string, required): Property ZIP or local postal code.
- `primaryGoal` (string)
- `propertyType` (string)
- `serviceType` (string)
- `state` (string)

### `create_energy_assessment` (~21 tokens)

Start a new assessment session. Free. [free]

### `answer_energy_assessment_question` (~56 tokens)

Submit one question answer. Free; usage tracked. [free]

Input parameters:

- `answerLabel` (string)
- `answerValue` (string, required)
- `assessmentId` (string, required)
- `questionKey` (string, required)

### `complete_energy_assessment` (~33 tokens)

Finalize an assessment and trigger the recommendation workflow. Free. [free]

Input parameters:

- `assessmentId` (string, required)

### `generate_energy_recommendation_preview` (~38 tokens)

Generate honest cost, savings, and next-action ranges. [$0.05/call]

Input parameters:

- `assessmentId` (string, required)

### `get_energy_node_score` (~46 tokens)

Retrieve the persisted seven-axis score with input coverage, weakest-axis gaps, next action, and calculation provenance. [$0.05/call]

Input parameters:

- `assessmentId` (string, required)

### `create_energy_node_roadmap_checkout` (~46 tokens)

Create the end-user checkout link for an unlocked Energy Node roadmap. Free. [free]

Input parameters:

- `assessmentId` (string, required)
- `email` (string)

### `get_energy_node_roadmap` (~41 tokens)

Retrieve the full unlocked Energy Node roadmap. Locked previews never consume credit. [$0.10/call]

Input parameters:

- `assessmentId` (string, required)

### `generate_intelligence_bound_report` (~36 tokens)

Generate a property-specific dI/dt analysis. [$0.25/call]

Input parameters:

- `assessmentId` (string, required)

### `get_information_theoretic_recommendation` (~38 tokens)

Rank upgrades by intelligence-bound lift per dollar. [$0.25/call]

Input parameters:

- `assessmentId` (string, required)

### `get_eta_i_metric` (~31 tokens)

Read the public platform intelligence-efficiency metric. Free. [free]

Input parameters:

- `days` (number)

### `get_anonymized_dataset_sample` (~44 tokens)

Return an aggregated, anonymized Energy Node dataset sample. [$1.00/call]

Input parameters:

- `limit` (number)
- `offset` (number)

### `match_installers` (~50 tokens)

Return up to three eligible installer matches for a region. [$0.05/call]

Input parameters:

- `contractorCategory` (string, required)
- `state` (string)
- `zipCode` (string, required)

### `get_energy_incentives` (~60 tokens)

Use a completed assessment to prioritize property-specific incentive checks and return an evidence-based verification plan. [$0.02/call]

Input parameters:

- `assessmentId` (string, required): Completed EnergyAI assessment id. Use free check_incentives for ZIP-only guidance.

### `review_installer_quote` (~52 tokens)

Review an installer quote for price, sizing, and warranty risks. [$0.10/call]

Input parameters:

- `assessmentId` (string, required)
- `quoteText` (string, required): The installer quote text to review.

### `submit_contractor_match_request` (~90 tokens)

Submit a consented installer lead and retain referral attribution. Free. [free]

Input parameters:

- `assessmentId` (string, required)
- `consentText` (string, required): EXACT consent text shown to end user.
- `consentTimestamp` (string, required)
- `consentVersion` (string)
- `contactEmail` (string, required)
- `contactName` (string, required)
- `contactPhone` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-energyaisolution-energyai/api#diagnostics

## Score history

- 2026-08-03: 65
- 2026-08-02: 65
- 2026-08-01: 65
- 2026-07-31: 57
- 2026-07-30: 53
- 2026-07-29: 61
- 2026-07-28: 61
- 2026-07-27: 60
- 2026-07-26: 61

## Links

- Remote endpoint: https://api.energyaisolution.com/mcp
- Repository: https://github.com/jdhart81/energyai-mcp
- Website: https://api.energyaisolution.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-energyaisolution-energyai/api/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-energyaisolution-energyai/api/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-energyaisolution-energyai/api
