{"name":"com.energyaisolution/energyai","slug":"energyaisolution-energyai","title":null,"description":"Solar, weatherization, EV charging, battery and heat-pump decision tools for AI agents.","url":"https://mcp.market/server/energyaisolution-energyai","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":18,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-07-29T22:00:43.000Z","license":"MIT"},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-20T20:16:01.503Z","last_ok_at":"2026-09-20T20:16:01.503Z","latency_ms":359},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/jdhart81/energyai-mcp","website":"https://energyaisolution.com/agents","version":"1.3.0","remotes":[{"type":"streamable-http","url":"https://api.energyaisolution.com/mcp","headers":[{"description":"Optional Bearer key. Start with 20 anonymous informational calls/24h; free key: 100/30d. Operator-authorized activation includes three eligible commercial trials on the full endpoint. Builder: $19/month with $20 tool credit. Live pricing and supported jobs: /agents.","isSecret":true,"name":"Authorization"}]}],"packages":[],"tools":[{"name":"answer_energy_assessment_question","description":"Submit one question answer. Free; usage tracked. [free]","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"assessmentId":{"type":"string"},"questionKey":{"type":"string"},"answerValue":{"type":"string"},"answerLabel":{"type":"string"}},"required":["assessmentId","questionKey","answerValue"]}},{"name":"bootstrap_energy_project","description":"Create a persisted project context, provisional Energy Node score, coverage map, and immediately reusable assessmentId in one call. [$0.10/call]","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"apiKey":{"type":"string","description":"Optional one-call credential bridge for MCP hosts that cannot change Authorization headers mid-session. Pass the key returned by create_builder_key; EnergyAI removes it from the request body before billing, execution, and persistence. Omit when the Bearer header is already attached."},"postalCode":{"type":"string","description":"Property ZIP or local postal code."},"serviceType":{"type":"string","enum":["solar","battery","ev_charger","efficiency","heat_pump","unsure"],"default":"unsure"},"country":{"type":"string","enum":["US","CA","GB","DE","AU","OTHER"],"default":"US"},"propertyType":{"type":"string","enum":["single_family","townhouse","condo","rental","commercial","farm","other"],"default":"other"},"primaryGoal":{"type":"string","enum":["save_money","resilience","climate","independence","all"],"default":"save_money"},"monthlyBillRange":{"type":"string","enum":["lt_75","75_150","150_250","250_400","gt_400","unknown"],"default":"unknown"},"state":{"type":"string"},"city":{"type":"string"}},"required":["postalCode"]}},{"name":"check_incentives","description":"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]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"zipCode":{"type":"string","description":"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.","examples":["59715"]},"country":{"type":"string","description":"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).","examples":["DE","GB","CA"]},"apiKey":{"type":"string","description":"Optional existing EnergyAI key for hosts that cannot change Authorization headers. Use it to retain account identity for discovery and get_builder_upgrade_link after a trial. Removed before tool execution and persistence. Omit when the Bearer header is attached; never show the key to the user."}},"required":[],"examples":[{"zipCode":"59715"},{"zipCode":"10115","country":"DE"}]}},{"name":"complete_energy_assessment","description":"Finalize an assessment and trigger the recommendation workflow. Free. [free]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"assessmentId":{"type":"string"}},"required":["assessmentId"]}},{"name":"create_builder_key","description":"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]","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the agent, product, or operator claiming the key (2-120 chars). Shown only on your own account.","examples":["Acme Home Assistant"]},"contactEmail":{"type":"string","format":"email","description":"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":{"type":"string","description":"OPTIONAL, one line: what you plan to build. Used only to prioritize the roadmap."},"acceptTerms":{"type":"boolean","description":"Must be true, and only after the human operator has authorized acceptance of the EnergyAI Terms and Privacy Policy. If authorization is not already documented, call get_builder_upgrade_link and surface its one-screen activation URL instead.","examples":[true]},"apiKey":{"type":"string","description":"Optional existing EnergyAI key for hosts that cannot change Authorization headers. Use it to retain account identity for discovery and get_builder_upgrade_link after a trial. Removed before tool execution and persistence. Omit when the Bearer header is attached; never show the key to the user."}},"required":["name","acceptTerms"],"examples":[{"name":"Acme Home Assistant","acceptTerms":true},{"name":"Acme Home Assistant","contactEmail":"dev@acme.example","intendedUse":"Persisted solar projects for our smart-home users","acceptTerms":true}]}},{"name":"create_energy_assessment","description":"Start a new assessment session. Free. [free]","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"create_energy_node_roadmap_checkout","description":"Create the end-user checkout link for an unlocked Energy Node roadmap. Free. [free]","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"assessmentId":{"type":"string"},"email":{"type":"string","format":"email"}},"required":["assessmentId"]}},{"name":"estimate_production","description":"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]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"zipCode":{"type":"string","description":"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.","examples":["59715"]},"country":{"type":"string","description":"ISO 3166-1 alpha-2 country code. Omit for US. Non-US estimates use a default solar resource and say so honestly.","examples":["AU","DE"]},"systemKw":{"type":"number","description":"Proposed solar system size in kW-DC. Omit to have a size recommended from the bill.","examples":[6]},"monthlyBillUsd":{"type":"number","description":"Average monthly electric bill in USD (used to size a system when systemKw is omitted).","examples":[180]},"apiKey":{"type":"string","description":"Optional existing EnergyAI key for hosts that cannot change Authorization headers. Use it to retain account identity for discovery and get_builder_upgrade_link after a trial. Removed before tool execution and persistence. Omit when the Bearer header is attached; never show the key to the user."}},"required":[],"examples":[{"zipCode":"59715","systemKw":6},{"zipCode":"02139","monthlyBillUsd":180}]}},{"name":"find_local_installers","description":"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]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"zipCode":{"type":"string","description":"5-digit US ZIP of the property (ZIP+4 accepted). US-only today.","examples":["59715"]},"state":{"type":"string","description":"Two-letter US state code. Use instead of zipCode for a statewide list.","examples":["VT","CA"]},"contractorCategory":{"type":"string","description":"Optional filter: solar_installation | battery_storage | ev_charger | energy_audit | insulation_weatherization | heat_pump"},"apiKey":{"type":"string","description":"Optional existing EnergyAI key for hosts that cannot change Authorization headers. Use it to retain account identity for discovery and get_builder_upgrade_link after a trial. Removed before tool execution and persistence. Omit when the Bearer header is attached; never show the key to the user."}},"required":[],"examples":[{"zipCode":"05401"},{"state":"VT","contractorCategory":"solar_installation"}]}},{"name":"generate_energy_recommendation_preview","description":"Generate honest cost, savings, and next-action ranges. [$0.05/call]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"assessmentId":{"type":"string"}},"required":["assessmentId"]}},{"name":"generate_intelligence_bound_report","description":"Generate a property-specific dI/dt analysis. [$0.25/call]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"assessmentId":{"type":"string"}},"required":["assessmentId"]}},{"name":"get_anonymized_dataset_sample","description":"Return an aggregated, anonymized Energy Node dataset sample. [$1.00/call]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"type":"number","default":100},"offset":{"type":"number","default":0}}}},{"name":"get_builder_upgrade_link","description":"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]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","description":"'subscription' (default) for the $19/month Builder plan, or 'credit' for a one-off prepaid top-up."},"amountCents":{"type":"number","description":"Only for mode=credit: top-up amount in cents (minimum 500, default 2000).","examples":[2000]},"apiKey":{"type":"string","description":"Optional existing EnergyAI key for hosts that cannot change Authorization headers. Use it to retain account identity for discovery and get_builder_upgrade_link after a trial. Removed before tool execution and persistence. Omit when the Bearer header is attached; never show the key to the user."}},"required":[],"examples":[{},{"mode":"subscription"},{"mode":"credit","amountCents":2000}]}},{"name":"get_energy_incentives","description":"Use a completed assessment to prioritize property-specific incentive checks and return an evidence-based verification plan. [$0.02/call]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"assessmentId":{"type":"string","description":"Completed EnergyAI assessment id. Use free check_incentives for ZIP-only guidance."}},"required":["assessmentId"]}},{"name":"get_energy_node_roadmap","description":"Retrieve the full unlocked Energy Node roadmap. Locked previews never consume credit. [$0.10/call]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"assessmentId":{"type":"string"}},"required":["assessmentId"]}},{"name":"get_energy_node_score","description":"Retrieve the persisted seven-axis score with input coverage, weakest-axis gaps, next action, and calculation provenance. [$0.05/call]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"assessmentId":{"type":"string"}},"required":["assessmentId"]}},{"name":"get_eta_i_metric","description":"Read the public platform intelligence-efficiency metric. Free. [free]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"days":{"type":"number","default":30}}}},{"name":"get_guide","description":"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]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"slug":{"type":"string","description":"Guide slug exactly as returned by list_guides (e.g. 'vermont-solar-incentives-2026')."},"apiKey":{"type":"string","description":"Optional existing EnergyAI key for hosts that cannot change Authorization headers. Use it to retain account identity for discovery and get_builder_upgrade_link after a trial. Removed before tool execution and persistence. Omit when the Bearer header is attached; never show the key to the user."}},"required":["slug"]}},{"name":"get_information_theoretic_recommendation","description":"Rank upgrades by intelligence-bound lift per dollar. [$0.25/call]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"assessmentId":{"type":"string"}},"required":["assessmentId"]}},{"name":"get_node_score","description":"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]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"zipCode":{"type":"string","description":"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."},"country":{"type":"string","description":"ISO 3166-1 alpha-2 country code. Omit for US."},"propertyType":{"type":"string","description":"single_family | townhouse | condo | mobile_home | multi_family | commercial | farm | other"},"serviceType":{"type":"string","description":"Primary interest: solar | battery | ev_charger | efficiency | heat_pump | unsure"},"monthlyBillRange":{"type":"string","description":"lt_75 | 75_150 | 150_250 | 250_400 | gt_400 | unknown"},"monthlyBillUsd":{"type":"number","description":"Alternative to monthlyBillRange: average monthly bill in USD."},"heatingFuel":{"type":"string","description":"e.g. natural_gas | oil | propane | electric_resistance | heat_pump | wood | other"},"roofAge":{"type":"string","description":"e.g. lt_5 | 5_15 | gt_15 | unknown"},"evType":{"type":"string","description":"e.g. own_ev | plan_ev | no_ev"},"backupNeed":{"type":"string","description":"e.g. whole_home | essentials | none"},"outageConcern":{"type":"string","description":"rare | occasional | frequent | severe"},"electricalPanelSize":{"type":"string","description":"e.g. lt_100 | 100_200 | gt_200 | unknown"},"apiKey":{"type":"string","description":"Optional existing EnergyAI key for hosts that cannot change Authorization headers. Use it to retain account identity for discovery and get_builder_upgrade_link after a trial. Removed before tool execution and persistence. Omit when the Bearer header is attached; never show the key to the user."}},"required":[],"examples":[{"zipCode":"59715","propertyType":"single_family","serviceType":"solar","monthlyBillRange":"150_250","heatingFuel":"natural_gas"}]}},{"name":"get_power_passport_link","description":"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]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"siteLocation":{"type":"string","description":"Broad candidate-site description such as county/state, balancing area, or approximate coordinates. Do not send a street address or contact information."},"targetMw":{"type":"number","minimum":0.1,"maximum":2000,"description":"Target compute or flexible-load capacity in MW."},"workloadType":{"type":"string","enum":["ai_training","inference","hpc","rendering_simulation","mixed_compute","renewable_project","other"],"description":"Primary workload or renewable-project use case."},"projectStage":{"type":"string","enum":["exploring","site_control","utility_conversations","interconnection_process","financing","operating"],"description":"Current project stage."},"decisionNeed":{"type":"string","maxLength":2000,"description":"The concrete decision this five-day pre-feasibility screen must change. Do not include personal or confidential information."},"apiKey":{"type":"string","description":"Optional existing EnergyAI key for hosts that cannot change Authorization headers. Use it to retain account identity for discovery and get_builder_upgrade_link after a trial. Removed before tool execution and persistence. Omit when the Bearer header is attached; never show the key to the user."}},"required":[],"examples":[{"siteLocation":"Clark County, Nevada","targetMw":12,"workloadType":"inference","projectStage":"utility_conversations","decisionNeed":"Decide whether to stage the first 4 MW here or continue the site search."},{}]}},{"name":"get_power_service_quote","description":"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]","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"siteLocation":{"type":"string","description":"County/state, balancing area, or approximate site. Do not send a street address or contact information."},"targetMw":{"type":"number","minimum":0.1,"maximum":2000,"description":"Target compute or flexible-load capacity in MW."},"workloadType":{"type":"string","enum":["ai_training","inference","hpc","rendering_simulation","mixed_compute","renewable_project","other"]},"flexibilityHours":{"type":"number","minimum":0,"maximum":168,"description":"Hours per week the workload can shift."},"stagedMw":{"type":"number","minimum":0.1,"maximum":2000,"description":"Optional first-stage load in MW; defaults to the lesser of 4 MW and targetMw."},"storageHours":{"type":"number","minimum":0,"maximum":24,"description":"Optional available storage duration in hours."},"coolingMode":{"type":"string","enum":["unknown","dry","liquid_closed","evaporative"],"default":"unknown"},"powerEvidence":{"type":"string","enum":["unknown","regional","utility_contact","confirmed"],"default":"unknown","description":"Buyer-stated evidence maturity; confirmed still requires documentary verification."},"apiKey":{"type":"string","description":"Optional existing EnergyAI key for hosts that cannot change Authorization headers. Use it to retain account identity for discovery and get_builder_upgrade_link after a trial. Removed before tool execution and persistence. Omit when the Bearer header is attached; never show the key to the user."}},"required":["siteLocation","targetMw","workloadType"],"examples":[{"siteLocation":"Clark County, Nevada","targetMw":12,"workloadType":"inference","flexibilityHours":24,"stagedMw":4,"storageHours":2,"coolingMode":"dry","powerEvidence":"utility_contact"}]}},{"name":"get_quote_link","description":"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]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"zipCode":{"type":"string","description":"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.","examples":["59715","59715-1234"]},"country":{"type":"string","description":"ISO 3166-1 alpha-2 country code. Omit for US.","examples":["DE","GB"]},"contractorCategory":{"type":"string","description":"Optional: solar_installation | battery_storage | ev_charger | energy_audit | insulation_weatherization | heat_pump. Pre-selects the project type; omit if unknown."},"apiKey":{"type":"string","description":"Optional existing EnergyAI key for hosts that cannot change Authorization headers. Use it to retain account identity for discovery and get_builder_upgrade_link after a trial. Removed before tool execution and persistence. Omit when the Bearer header is attached; never show the key to the user."}},"required":[],"examples":[{"zipCode":"59715"},{"zipCode":"59715","contractorCategory":"solar_installation"},{}]}},{"name":"list_guides","description":"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]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"region":{"type":"string","description":"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":{"type":"string","description":"Filter by topic: solar | heat_pump | battery | weatherization | overview. Omit for all topics."},"limit":{"type":"number","description":"Max guides to return (1–50, default 20)."},"apiKey":{"type":"string","description":"Optional existing EnergyAI key for hosts that cannot change Authorization headers. Use it to retain account identity for discovery and get_builder_upgrade_link after a trial. Removed before tool execution and persistence. Omit when the Bearer header is attached; never show the key to the user."}}}},{"name":"match_installers","description":"Return up to three eligible installer matches for a region. [$0.05/call]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"contractorCategory":{"type":"string"},"zipCode":{"type":"string"},"state":{"type":"string"}},"required":["contractorCategory","zipCode"]}},{"name":"record_quote_review_outcome","description":"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]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"reviewToolCallId":{"type":"string","description":"toolCallId of the completed review owned by this key."},"operatorConfirmed":{"type":"boolean","const":true,"description":"True only after the operator actually assessed this result."},"usefulness":{"type":"string","enum":["useful","partly_useful","not_useful"]},"findingId":{"type":["string","null"],"description":"A returned q1–q6 check id, or null when not useful."},"deliveredToHousehold":{"type":"boolean"},"action":{"type":"string","enum":["asked_installer","requested_revision","compared_alternatives","decided_to_proceed","decided_to_pause","no_action_yet"]}},"required":["reviewToolCallId","operatorConfirmed","usefulness","findingId","deliveredToHousehold","action"],"additionalProperties":false}},{"name":"review_installer_quote","description":"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]","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"apiKey":{"type":"string","description":"Optional one-call credential bridge for MCP hosts that cannot change Authorization headers mid-session. Pass the key returned by create_builder_key; EnergyAI strips it before billing, execution, and persistence."},"assessmentId":{"type":"string","description":"Optional existing EnergyAI assessment id. Omit when supplying postalCode for automatic project creation."},"postalCode":{"type":"string","description":"Property ZIP or local postal code. Required when assessmentId is omitted."},"quoteText":{"type":"string","maxLength":6000,"description":"Redacted installer quote text. Exclude names, contact details, street addresses and account/proposal identifiers. Returns source-matched questions; no independent verification or human review."},"serviceType":{"type":"string","enum":["solar","battery","ev_charger","efficiency","heat_pump","unsure"],"default":"solar"},"country":{"type":"string","enum":["US","CA","GB","DE","AU","OTHER"],"default":"US"},"propertyType":{"type":"string","enum":["single_family","townhouse","condo","rental","commercial","farm","other"],"default":"other"},"monthlyBillRange":{"type":"string","enum":["lt_75","75_150","150_250","250_400","gt_400","unknown"],"default":"unknown"},"state":{"type":"string"},"city":{"type":"string"}},"required":["quoteText"],"anyOf":[{"required":["assessmentId"]},{"required":["postalCode"]}]}},{"name":"route_lead","description":"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]","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"contractorCategory":{"type":"string","description":"solar_installation | battery_storage | ev_charger | energy_audit | insulation_weatherization | heat_pump"},"zipCode":{"type":"string","description":"5-digit US ZIP code of the project (route_lead dispatches into a US installer network only today)."},"city":{"type":"string"},"state":{"type":"string","description":"Two-letter state code. Derived from ZIP when omitted."},"contactName":{"type":"string","description":"Homeowner's name."},"contactEmail":{"type":"string","format":"email","description":"Homeowner's email."},"contactPhone":{"type":"string"},"propertyType":{"type":"string"},"monthlyBillRange":{"type":"string","description":"lt_75 | 75_150 | 150_250 | 250_400 | gt_400 | unknown"},"budgetRange":{"type":"string"},"timeline":{"type":"string","description":"e.g. asap | 3_months | 6_months | exploring"},"consentText":{"type":"string","description":"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":{"type":"string","format":"date-time","description":"When the homeowner consented."},"consentVersion":{"type":"string","description":"Required when consentText is not the canonical EnergyAI consent text."},"apiKey":{"type":"string","description":"Optional existing EnergyAI key for hosts that cannot change Authorization headers. Use it to retain account identity for discovery and get_builder_upgrade_link after a trial. Removed before tool execution and persistence. Omit when the Bearer header is attached; never show the key to the user."}},"required":["contractorCategory","zipCode","contactName","contactEmail","consentText","consentTimestamp"],"examples":[{"contractorCategory":"solar_installation","zipCode":"59715","contactName":"Jane Doe","contactEmail":"jane@example.com","monthlyBillRange":"150_250","timeline":"3_months","consentText":"<canonical text returned by check_incentives.consentTextForRouting, shown to and accepted by the homeowner>","consentTimestamp":"2026-07-12T19:00:00Z"}]}},{"name":"run_power_screen","description":"Execute one signed Power Screen quote and return an immediate modeled constraint decision, assumptions, evidence gaps, and immutable artifact hash. [$1.00/call]","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"apiKey":{"type":"string","description":"Optional one-call credential bridge for MCP hosts that cannot change Authorization headers mid-session. EnergyAI strips it before billing, execution, and persistence."},"quoteToken":{"type":"string","description":"Unmodified signed quoteToken returned by get_power_service_quote. The quote expires after 15 minutes and binds scope, price, and assumptions."}},"required":["quoteToken"]}},{"name":"submit_contractor_match_request","description":"Submit a consented installer lead and retain referral attribution. Free. [free]","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"assessmentId":{"type":"string"},"contactName":{"type":"string"},"contactEmail":{"type":"string","format":"email"},"contactPhone":{"type":"string"},"consentText":{"type":"string","description":"EXACT consent text shown to end user."},"consentTimestamp":{"type":"string","format":"date-time"},"consentVersion":{"type":"string"}},"required":["assessmentId","contactName","contactEmail","consentText","consentTimestamp"]}}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-19T19:16:30.455Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:16:30.477Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 209ms"]},"poisoning":{"score":15,"max":15,"notes":["30 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":12,"max":15,"notes":["last push 52 days ago"]},"identity":{"score":7,"max":10,"notes":["namespace and repository owner differ","GitHub account older than a year","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://api.energyaisolution.com/mcp","reachable":true,"authRequired":false,"latencyMs":209,"serverInfo":{"name":"energyai-mcp","version":"1.3.0"}}],"packages":[],"repo":{"found":true,"owner":"jdhart81","repo":"energyai-mcp","archived":false,"pushedAt":"2026-07-29T22:00:43Z","stars":0,"forks":0,"openIssues":2,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/179389866?v=4","ownerCreatedAt":"2024-08-25T13:59:56Z","license":"MIT"},"icon":{"url":"https://energyaisolution.com/apple-icon.png?6c7948779bdce72a","source":"site","width":180,"height":180},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-07-29T22:00:43.000Z","score":18}}}},"grade_history":[],"reviews":[]}