com. energyaisolution/ energyai
by energyaisolution.com · remote · no sign-in to list tools · v1.3.0 · published by com.energyaisolution
Solar, weatherization, EV charging, battery and heat-pump decision tools for AI agents.
30 tools: 1 do something that can't be undone, 14 change things and 15 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things14Claude Code: ask: see these tools
- Only reads15Claude Code: allow: see these tools
15 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http energyai https://api.energyaisolution.com/mcpFindings
Matches of fixed checks, with the text they matched.
- Highcheck_incentives
The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
- Highget_node_score
The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
- Highget_quote_link
The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
Show 9 more findingsShow fewer
- Highroute_lead
The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
- Highlist_guides
The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
- Highget_guide
The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
The input schema at properties.apiKey.description contains "never show the key to the user", an instruction to keep something from the user.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
- Inforun_power_screen
The input schema at properties.apiKey.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.apiKey.description: "Optional one-call credential bridge for MCP hosts that cannot change..."
The input schema at properties.apiKey.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.apiKey.description: "Optional one-call credential bridge for MCP hosts that cannot change..."
The input schema at properties.apiKey.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.apiKey.description: "Optional one-call credential bridge for MCP hosts that cannot change..."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
30 tools
Can't be undone 1Claude Code: ask
complete_energy_assessmentFinalize an assessment and trigger the recommendation workflow.No findings
Why it is in this group
- The description's first verb is "finalize": a word for a change that another call does not undo.
Description, as the server wrote it Finalize an assessment and trigger the recommendation workflow. Free. [free]
Changes things 14Claude Code: ask
answer_energy_assessment_questionSubmit one question answer.No findings
Why it is in this group
- The description's first verb is "submit": a word for a change.
Description, as the server wrote it Submit one question answer. Free; usage tracked. [free]
bootstrap_energy_projectCreate a persisted project context, provisional Energy Node score, coverage map, and immediately reusable assessmentId in one call.1 finding
Why it is in this group
- The description's first verb is "create": a word for a change.
Findings
- Info
The input schema at properties.apiKey.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.apiKey.description: "Optional one-call credential bridge for MCP hosts that cannot change..."
Description, as the server wrote it Create a persisted project context, provisional Energy Node score, coverage map, and immediately reusable assessmentId in one call. [$0.10/call]
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.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
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.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
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]
create_energy_assessmentStart a new assessment session.No findings
Why it is in this group
- The name "create_energy_assessment" says "create": a word for a change.
Description, as the server wrote it Start a new assessment session. Free. [free]
create_energy_node_roadmap_checkoutCreate the end-user checkout link for an unlocked Energy Node roadmap.No findings
Why it is in this group
- The name "create_energy_node_roadmap_checkout" says "create": a word for a change.
Description, as the server wrote it Create the end-user checkout link for an unlocked Energy Node roadmap. Free. [free]
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.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
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]
generate_energy_recommendation_previewGenerate honest cost, savings, and next-action ranges.No findings
Why it is in this group
- The name "generate_energy_recommendation_preview" says "generate": a word for a change.
Description, as the server wrote it Generate honest cost, savings, and next-action ranges. [$0.05/call]
generate_intelligence_bound_reportGenerate a property-specific dI/dt analysis.No findings
Why it is in this group
- The name "generate_intelligence_bound_report" says "generate": a word for a change.
Description, as the server wrote it Generate a property-specific dI/dt analysis. [$0.25/call]
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.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
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]
record_quote_review_outcomeRecord actual operator-confirmed usefulness and household delivery status for your completed quote review.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Record actual operator-confirmed usefulness and household delivery status for your completed quote review. Requires your Builder key. Free; never infer feedback from a successful tool call. [free]
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.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
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]
run_power_screenExecute one signed Power Screen quote and return an immediate modeled constraint decision, assumptions, evidence gaps, and immutable artifact hash.1 finding
Why it is in this group
- The name "run_power_screen" says "run": a word for a change.
Findings
- Info
The input schema at properties.apiKey.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.apiKey.description: "Optional one-call credential bridge for MCP hosts that cannot change..."
Description, as the server wrote it Execute one signed Power Screen quote and return an immediate modeled constraint decision, assumptions, evidence gaps, and immutable artifact hash. [$1.00/call]
submit_contractor_match_requestSubmit a consented installer lead and retain referral attribution.No findings
Why it is in this group
- The name "submit_contractor_match_request" says "submit": a word for a change.
Description, as the server wrote it Submit a consented installer lead and retain referral attribution. Free. [free]
Only reads 15Claude 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.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
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_anonymized_dataset_sampleReturn an aggregated, anonymized Energy Node dataset sample.No findings
Why it is in this group
- The name "get_anonymized_dataset_sample" says "get": a word for reading.
Description, as the server wrote it Return an aggregated, anonymized Energy Node dataset sample. [$1.00/call]
get_builder_upgrade_linkReturns the revenue handoff for EnergyAI Builder.1 finding
Why it is in this group
- The name "get_builder_upgrade_link" 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.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
Description, as the server wrote it Returns the revenue handoff for EnergyAI Builder. With a key, it returns a PAYABLE Stripe link plus ready-to-paste shareText for the $19/month plan with $20 monthly tool credit, or a prepaid top-up. Without a key, it returns one first-party activation URL where the human enters name and email, accepts terms, receives three commercial trials, and continues directly to secure Stripe Checkout. Free. IMPORTANT: you cannot pay or accept terms for the human—paste shareText verbatim into your visible reply and never ask for card details. [always free — no API key required]
get_energy_incentivesUse a completed assessment to prioritize property-specific incentive checks and return an evidence-based verification plan.No findings
Why it is in this group
- The name "get_energy_incentives" says "get": a word for reading.
Description, as the server wrote it Use a completed assessment to prioritize property-specific incentive checks and return an evidence-based verification plan. [$0.02/call]
get_energy_node_roadmapRetrieve the full unlocked Energy Node roadmap.No findings
Why it is in this group
- The name "get_energy_node_roadmap" says "get": a word for reading.
Description, as the server wrote it Retrieve the full unlocked Energy Node roadmap. Locked previews never consume credit. [$0.10/call]
get_energy_node_scoreRetrieve the persisted seven-axis score with input coverage, weakest-axis gaps, next action, and calculation provenance.No findings
Why it is in this group
- The name "get_energy_node_score" says "get": a word for reading.
Description, as the server wrote it Retrieve the persisted seven-axis score with input coverage, weakest-axis gaps, next action, and calculation provenance. [$0.05/call]
get_eta_i_metricRead the public platform intelligence-efficiency metric.No findings
Why it is in this group
- The name "get_eta_i_metric" says "get": a word for reading.
Description, as the server wrote it Read the public platform intelligence-efficiency metric. Free. [free]
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.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
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_information_theoretic_recommendationRank upgrades by intelligence-bound lift per dollar.No findings
Why it is in this group
- The name "get_information_theoretic_recommendation" says "get": a word for reading.
Description, as the server wrote it Rank upgrades by intelligence-bound lift per dollar. [$0.25/call]
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.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
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]
get_power_passport_linkQualify the minimum non-sensitive project facts for EnergyAI’s $2,500 founding Power Passport and return an attributable website handoff plus ready-to-paste shareText.1 finding
Why it is in this group
- The name "get_power_passport_link" 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.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
Description, as the server wrote it Qualify the minimum non-sensitive project facts for EnergyAI’s $2,500 founding Power Passport and return an attributable website handoff plus ready-to-paste shareText. Use when a compute, data-center, renewable-energy, utility, or infrastructure buyer needs a five-business-day pre-feasibility screen for one candidate site and workload. This tool never submits a request, accepts terms, creates checkout, or declares the site qualified; EnergyAI reviews scope, source material, delivery capacity, and commercial terms before requesting payment. [always free — no API key required]
get_quote_linkOptional household handoff: returns a free assessment URL and a separate $49 founding Quote Guardian human-review offer for a solar, battery or heat-pump proposal.1 finding
Why it is in this group
- The name "get_quote_link" 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.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
Description, as the server wrote it Optional household handoff: returns a free assessment URL and a separate $49 founding Quote Guardian human-review offer for a solar, battery or heat-pump proposal. For an automated agent result, use review_installer_quote on the full MCP endpoint. Share a household service only when it fits the user request. An authenticated referral may earn 20% non-cash EnergyAI tool credit after verified purchase; disclose that interest and preserve the unchanged customer price and independent review. This tool does not submit a project or create payment. route_lead separately requires explicit household consent. [always free — no API key required]
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.
What this check looks forMatched text
inputSchema.properties.apiKey.description: "...mit when the Bearer header is attached; never show the key to the user."
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]
match_installersReturn up to three eligible installer matches for a region.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Return up to three eligible installer matches for a region. [$0.05/call]
review_installer_quoteReturn source-matched terms and practical installer questions from redacted quoteText (maximum 6000 characters) plus postalCode or an assessmentId owned by your Builder account.1 finding
Why it is in this group
- The description's first verb is "return": a word for reading.
Findings
- Info
The input schema at properties.apiKey.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.apiKey.description: "Optional one-call credential bridge for MCP hosts that cannot change..."
Description, as the server wrote it Return source-matched terms and practical installer questions from redacted quoteText (maximum 6000 characters) plus postalCode or an assessmentId owned by your Builder account. Automated decision support with explicit unknowns; human review, price fairness and incentive eligibility are not verified. Returns a versioned result and an optional Builder payment handoff. [$0.10/call]
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 energyai https://api.energyaisolution.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__energyai__get_node_score",
"mcp__energyai__get_quote_link",
"mcp__energyai__get_power_passport_link",
"mcp__energyai__list_guides",
"mcp__energyai__get_guide",
"mcp__energyai__get_builder_upgrade_link",
"mcp__energyai__find_local_installers",
"mcp__energyai__get_energy_node_score",
"mcp__energyai__get_energy_node_roadmap",
"mcp__energyai__get_information_theoretic_recommendation",
"mcp__energyai__get_eta_i_metric",
"mcp__energyai__get_anonymized_dataset_sample",
"mcp__energyai__match_installers",
"mcp__energyai__get_energy_incentives",
"mcp__energyai__review_installer_quote"
],
"ask": [
"mcp__energyai__check_incentives",
"mcp__energyai__estimate_production",
"mcp__energyai__get_power_service_quote",
"mcp__energyai__route_lead",
"mcp__energyai__create_builder_key",
"mcp__energyai__run_power_screen",
"mcp__energyai__bootstrap_energy_project",
"mcp__energyai__create_energy_assessment",
"mcp__energyai__answer_energy_assessment_question",
"mcp__energyai__complete_energy_assessment",
"mcp__energyai__generate_energy_recommendation_preview",
"mcp__energyai__create_energy_node_roadmap_checkout",
"mcp__energyai__generate_intelligence_bound_report",
"mcp__energyai__record_quote_review_outcome",
"mcp__energyai__submit_contractor_match_request"
],
"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 energyai. Review it before you use it.