Skip to content

com.energyaisolution/solar-home-incentives

by energyaisolution.com · remote · no sign-in to list tools · v1.3.0 · published by com.energyaisolution

Solar and home energy discovery: estimates, incentive sources, guides and contractor options.

Changes · 512 high findings

12 tools: 5 change things and 7 only read.

Scanned Oct 21, 2026

12 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http solar-home-incentives https://api.energyaisolution.com/mcp/solar

Findings

Matches of fixed checks, with the text they matched.

12 high
  • The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

    Matched text

    inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

    What this check looks for
  • The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

    Matched text

    inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

    What this check looks for
  • The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

    Matched text

    inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

    What this check looks for
  • The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

    Matched text

    inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

    What this check looks for
  • The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

    Matched text

    inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

    What this check looks for
  • The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

    Matched text

    inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

    What this check looks for
Show 6 more findings
  • The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

    Matched text

    inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

    What this check looks for
  • The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

    Matched text

    inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

    What this check looks for
  • The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

    Matched text

    inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

    What this check looks for
  • The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

    Matched text

    inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

    What this check looks for
  • The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

    Matched text

    inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

    What this check looks for
  • The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

    Matched text

    inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

12 tools

Changes things 5Claude Code: ask
  • check_incentivesClean-energy incentive source guidance by country and postal code; eligibility is not verified.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • High

      The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

      Matched text

      inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

      What this check looks for
    Description, as the server wrote it
    Clean-energy incentive source guidance by country and postal code; eligibility is not verified. 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. [20 anonymous calls/caller/24h; then 100 free calls/key/30d; active Builder required for sustained informational use]
  • create_builder_keyCreate an EnergyAI production API key in-band with no browser or card after the human operator has authorized the Terms and Privacy Policy.1 finding

    Why it is in this group

    • The name "create_builder_key" says "create": a word for a change.

    Findings

    • High

      The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

      Matched text

      inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

      What this check looks for
    Description, as the server wrote it
    Create an EnergyAI production API key in-band with no browser or card after the human operator has authorized the Terms and Privacy Policy. Returns a live key plus three commercial trial calls. Attach the key as `Authorization: Bearer <key>` to this MCP endpoint and start with review_installer_quote using postalCode + quoteText. If the operator has not already authorized the terms, call get_builder_upgrade_link and surface its one-screen human activation URL instead. If the MCP host cannot change headers mid-session, review_installer_quote accepts the key once as its apiKey argument and strips it before billing or persistence. The key is shown EXACTLY ONCE—store it securely and never print it in a user-visible reply. [always free — no API key required]
  • estimate_productionHonest-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.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • High

      The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

      Matched text

      inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

      What this check looks for
    Description, as the server wrote it
    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. [20 anonymous calls/caller/24h; then 100 free calls/key/30d; active Builder required for sustained informational use]
  • get_power_service_quoteCreate a signed, 15-minute, scope-bound quote for EnergyAI’s $1 Power Screen from non-sensitive site and workload facts.1 finding

    Why it is in this group

    • The name "get_power_service_quote" says "get": a word for reading.
    • The description's first verb is "create": a word for a change.

    Findings

    • High

      The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

      Matched text

      inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

      What this check looks for
    Description, as the server wrote it
    Create a signed, 15-minute, scope-bound quote for EnergyAI’s $1 Power Screen from non-sensitive site and workload facts. Returns the quoteToken required by run_power_screen, exact price, evidence boundary, authorization class, and higher-tier handoffs. Free and never spends funds. [always free — no API key required]
  • route_leadSubmit a consented homeowner project to EnergyAI’s guarded installer-matching workflow — free to you and the homeowner.1 finding

    Why it is in this group

    • The description's first verb is "submit": a word for a change.

    Findings

    • High

      The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

      Matched text

      inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

      What this check looks for
    Description, as the server wrote it
    Submit a consented homeowner project to EnergyAI’s guarded installer-matching workflow — free to you and the homeowner. EnergyAI immediately screens and routes currently available approved installers; unmatched projects remain recorded for safety-controlled follow-up. 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. [always free — no API key required]
Only reads 7Claude Code: allow
  • find_local_installersPublicly-rated local clean-energy contractors for a US ZIP or state (solar, battery, EV charger, heat pump, weatherization, audits), with rating and review count.1 finding

    Why it is in this group

    • The name "find_local_installers" says "find": a word for reading.

    Findings

    • High

      The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

      Matched text

      inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

      What this check looks for
    Description, as the server wrote it
    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. [always free — no API key required]
  • get_guideFull text of one EnergyAI incentive guide by slug: intro, sections, FAQs, and primary sources — grounded, citable content for answering incentive questions.1 finding

    Why it is in this group

    • The name "get_guide" says "get": a word for reading.

    Findings

    • High

      The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

      Matched text

      inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

      What this check looks for
    Description, as the server wrote it
    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. [20 anonymous calls/caller/24h; then 100 free calls/key/30d; active Builder required for sustained informational use]
  • get_node_scoreInstant Energy Node Score (0–100 across 7 axes: efficiency, electrification, renewable generation, storage/resilience, financial optimization, carbon, market readiness) plus the si…1 finding

    Why it is in this group

    • The name "get_node_score" says "get": a word for reading.

    Findings

    • High

      The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

      Matched text

      inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

      What this check looks for
    Description, as the server wrote it
    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. [20 anonymous calls/caller/24h; then 100 free calls/key/30d; active Builder required for sustained informational use]
  • list_guidesIndex of source-cited, US home-energy incentive guides with source links (solar, heat pumps, batteries, weatherization) by state.1 finding

    Why it is in this group

    • The name "list_guides" says "list": a word for reading.

    Findings

    • High

      The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.

      Matched text

      inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."

      What this check looks for
    Description, as the server wrote it
    Index of source-cited, US home-energy incentive guides with source links (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. [20 anonymous calls/caller/24h; then 100 free calls/key/30d; active Builder required for sustained informational use]

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.3.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http solar-home-incentives https://api.energyaisolution.com/mcp/solar

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__solar-home-incentives__get_node_score",
      "mcp__solar-home-incentives__get_quote_link",
      "mcp__solar-home-incentives__get_power_passport_link",
      "mcp__solar-home-incentives__list_guides",
      "mcp__solar-home-incentives__get_guide",
      "mcp__solar-home-incentives__get_builder_upgrade_link",
      "mcp__solar-home-incentives__find_local_installers"
    ],
    "ask": [
      "mcp__solar-home-incentives__check_incentives",
      "mcp__solar-home-incentives__estimate_production",
      "mcp__solar-home-incentives__get_power_service_quote",
      "mcp__solar-home-incentives__route_lead",
      "mcp__solar-home-incentives__create_builder_key"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as solar-home-incentives. Review it before you use it.