MCP 服务器

energyai

com.energyaisolution/energyai
房地产 科学与工程 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Assesses household and property clean-energy options, including solar production, batteries, heat pumps, EV charging, incentives, installer matching, quote review, and energy-roadmap scoring.

answer_energy_assessment_question
Submit one question answer. Free; usage tracked. [free]
输入模式
{'type': 'object', 'required': ['assessmentId', 'questionKey', 'answerValue'], 'properties': {'answerLabel': {'type': 'string'}, 'answerValue': {'type': 'string'}, 'questionKey': {'type': 'string'}, 'assessmentId': {'type': 'string'}}}
bootstrap_energy_project
Create a persisted project context, provisional Energy Node score, coverage map, and immediately reusable assessmentId in one call. [$0.10/call]
输入模式
{'type': 'object', 'required': ['postalCode'], 'properties': {'city': {'type': 'string'}, 'state': {'type': 'string'}, '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.'}, 'country': {'enum': ['US', 'CA', 'GB', 'DE', 'AU', 'OTHER'], 'type': 'string', 'default': 'US'}, 'postalCode': {'type': 'string', 'description': 'Property ZIP or local postal code.'}, 'primaryGoal': {'enum': ['save_money', 'resilience', 'climate', 'independence', 'all'], 'type': 'string', 'default': 'save_money'}, 'serviceType': {'enum': ['solar', 'battery', 'ev_charger', 'efficiency', 'heat_pump', 'unsure'], 'type': 'string', 'default': 'unsure'}, 'propertyType': {'enum': ['single_family', 'townhouse', 'condo', 'rental', 'commercial', 'farm', 'other'], 'type': 'string', 'default': 'other'}, 'monthlyBillRange': {'enum': ['lt_75', '75_150', '150_250', '250_400', 'gt_400', 'unknown'], 'type': 'string', 'default': 'unknown'}}}
check_incentives
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]
输入模式
{'type': 'object', 'examples': [{'zipCode': '59715'}, {'country': 'DE', 'zipCode': '10115'}], 'required': [], 'properties': {'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.'}, 'country': {'type': 'string', 'examples': ['DE', 'GB', 'CA'], '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).'}, 'zipCode': {'type': 'string', 'examples': ['59715'], '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.'}}}
complete_energy_assessment
Finalize an assessment and trigger the recommendation workflow. Free. [free]
输入模式
{'type': 'object', 'required': ['assessmentId'], 'properties': {'assessmentId': {'type': 'string'}}}
create_builder_key
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]
输入模式
{'type': 'object', 'examples': [{'name': 'Acme Home Assistant', 'acceptTerms': True}, {'name': 'Acme Home Assistant', 'acceptTerms': True, 'intendedUse': 'Persisted solar projects for our smart-home users', 'contactEmail': 'dev@acme.example'}], 'required': ['name', 'acceptTerms'], 'properties': {'name': {'type': 'string', 'examples': ['Acme Home Assistant'], 'description': 'Name of the agent, product, or operator claiming the key (2-120 chars). Shown only on your own account.'}, '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.'}, 'acceptTerms': {'type': 'boolean', 'examples': [True], '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.'}, 'intendedUse': {'type': 'string', 'description': 'OPTIONAL, one line: what you plan to build. Used only to prioritize the roadmap.'}, '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."}}}
create_energy_assessment
Start a new assessment session. Free. [free]
输入模式
{'type': 'object', 'properties': {}}
create_energy_node_roadmap_checkout
Create the end-user checkout link for an unlocked Energy Node roadmap. Free. [free]
输入模式
{'type': 'object', 'required': ['assessmentId'], 'properties': {'email': {'type': 'string', 'format': 'email'}, 'assessmentId': {'type': 'string'}}}
estimate_production
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]
输入模式
{'type': 'object', 'examples': [{'zipCode': '59715', 'systemKw': 6}, {'zipCode': '02139', 'monthlyBillUsd': 180}], 'required': [], 'properties': {'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.'}, 'country': {'type': 'string', 'examples': ['AU', 'DE'], 'description': 'ISO 3166-1 alpha-2 country code. Omit for US. Non-US estimates use a default solar resource and say so honestly.'}, 'zipCode': {'type': 'string', 'examples': ['59715'], '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.'}, 'systemKw': {'type': 'number', 'examples': [6], 'description': 'Proposed solar system size in kW-DC. Omit to have a size recommended from the bill.'}, 'monthlyBillUsd': {'type': 'number', 'examples': [180], 'description': 'Average monthly electric bill in USD (used to size a system when systemKw is omitted).'}}}
find_local_installers
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]
输入模式
{'type': 'object', 'examples': [{'zipCode': '05401'}, {'state': 'VT', 'contractorCategory': 'solar_installation'}], 'required': [], 'properties': {'state': {'type': 'string', 'examples': ['VT', 'CA'], 'description': 'Two-letter US state code. Use instead of zipCode for a statewide list.'}, '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.'}, 'zipCode': {'type': 'string', 'examples': ['59715'], 'description': '5-digit US ZIP of the property (ZIP+4 accepted). US-only today.'}, 'contractorCategory': {'type': 'string', 'description': 'Optional filter: solar_installation | battery_storage | ev_charger | energy_audit | insulation_weatherization | heat_pump'}}}
generate_energy_recommendation_preview
Generate honest cost, savings, and next-action ranges. [$0.05/call]
输入模式
{'type': 'object', 'required': ['assessmentId'], 'properties': {'assessmentId': {'type': 'string'}}}
generate_intelligence_bound_report
Generate a property-specific dI/dt analysis. [$0.25/call]
输入模式
{'type': 'object', 'required': ['assessmentId'], 'properties': {'assessmentId': {'type': 'string'}}}
get_anonymized_dataset_sample
Return an aggregated, anonymized Energy Node dataset sample. [$1.00/call]
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'number', 'default': 100}, 'offset': {'type': 'number', 'default': 0}}}
get_builder_upgrade_link
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]
输入模式
{'type': 'object', 'examples': [{}, {'mode': 'subscription'}, {'mode': 'credit', 'amountCents': 2000}], 'required': [], 'properties': {'mode': {'type': 'string', 'description': "'subscription' (default) for the $19/month Builder plan, or 'credit' for a one-off prepaid top-up."}, '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.'}, 'amountCents': {'type': 'number', 'examples': [2000], 'description': 'Only for mode=credit: top-up amount in cents (minimum 500, default 2000).'}}}
get_energy_incentives
Use a completed assessment to prioritize property-specific incentive checks and return an evidence-based verification plan. [$0.02/call]
输入模式
{'type': 'object', 'required': ['assessmentId'], 'properties': {'assessmentId': {'type': 'string', 'description': 'Completed EnergyAI assessment id. Use free check_incentives for ZIP-only guidance.'}}}
get_energy_node_roadmap
Retrieve the full unlocked Energy Node roadmap. Locked previews never consume credit. [$0.10/call]
输入模式
{'type': 'object', 'required': ['assessmentId'], 'properties': {'assessmentId': {'type': 'string'}}}
get_energy_node_score
Retrieve the persisted seven-axis score with input coverage, weakest-axis gaps, next action, and calculation provenance. [$0.05/call]
输入模式
{'type': 'object', 'required': ['assessmentId'], 'properties': {'assessmentId': {'type': 'string'}}}
get_eta_i_metric
Read the public platform intelligence-efficiency metric. Free. [free]
输入模式
{'type': 'object', 'properties': {'days': {'type': 'number', 'default': 30}}}
get_guide
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]
输入模式
{'type': 'object', 'required': ['slug'], '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.'}}}
get_information_theoretic_recommendation
Rank upgrades by intelligence-bound lift per dollar. [$0.25/call]
输入模式
{'type': 'object', 'required': ['assessmentId'], 'properties': {'assessmentId': {'type': 'string'}}}
get_node_score
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]
输入模式
{'type': 'object', 'examples': [{'zipCode': '59715', 'heatingFuel': 'natural_gas', 'serviceType': 'solar', 'propertyType': 'single_family', 'monthlyBillRange': '150_250'}], 'required': [], 'properties': {'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.'}, 'evType': {'type': 'string', 'description': 'e.g. own_ev | plan_ev | no_ev'}, 'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country code. Omit for US.'}, 'roofAge': {'type': 'string', 'description': 'e.g. lt_5 | 5_15 | gt_15 | unknown'}, '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.'}, 'backupNeed': {'type': 'string', 'description': 'e.g. whole_home | essentials | none'}, 'heatingFuel': {'type': 'string', 'description': 'e.g. natural_gas | oil | propane | electric_resistance | heat_pump | wood | other'}, 'serviceType': {'type': 'string', 'description': 'Primary interest: solar | battery | ev_charger | efficiency | heat_pump | unsure'}, 'propertyType': {'type': 'string', 'description': 'single_family | townhouse | condo | mobile_home | multi_family | commercial | farm | other'}, 'outageConcern': {'type': 'string', 'description': 'rare | occasional | frequent | severe'}, 'monthlyBillUsd': {'type': 'number', 'description': 'Alternative to monthlyBillRange: average monthly bill in USD.'}, 'monthlyBillRange': {'type': 'string', 'description': 'lt_75 | 75_150 | 150_250 | 250_400 | gt_400 | unknown'}, 'electricalPanelSize': {'type': 'string', 'description': 'e.g. lt_100 | 100_200 | gt_200 | unknown'}}}
get_power_passport_link
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]
输入模式
{'type': 'object', 'examples': [{'targetMw': 12, 'decisionNeed': 'Decide whether to stage the first 4 MW here or continue the site search.', 'projectStage': 'utility_conversations', 'siteLocation': 'Clark County, Nevada', 'workloadType': 'inference'}, {}], 'required': [], 'properties': {'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.'}, 'targetMw': {'type': 'number', 'maximum': 2000, 'minimum': 0.1, 'description': 'Target compute or flexible-load capacity in MW.'}, 'decisionNeed': {'type': 'string', 'maxLength': 2000, 'description': 'The concrete decision this five-day pre-feasibility screen must change. Do not include personal or confidential information.'}, 'projectStage': {'enum': ['exploring', 'site_control', 'utility_conversations', 'interconnection_process', 'financing', 'operating'], 'type': 'string', 'description': 'Current project stage.'}, '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.'}, 'workloadType': {'enum': ['ai_training', 'inference', 'hpc', 'rendering_simulation', 'mixed_compute', 'renewable_project', 'other'], 'type': 'string', 'description': 'Primary workload or renewable-project use case.'}}}
get_power_service_quote
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]
输入模式
{'type': 'object', 'examples': [{'stagedMw': 4, 'targetMw': 12, 'coolingMode': 'dry', 'siteLocation': 'Clark County, Nevada', 'storageHours': 2, 'workloadType': 'inference', 'powerEvidence': 'utility_contact', 'flexibilityHours': 24}], 'required': ['siteLocation', 'targetMw', 'workloadType'], 'properties': {'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.'}, 'stagedMw': {'type': 'number', 'maximum': 2000, 'minimum': 0.1, 'description': 'Optional first-stage load in MW; defaults to the lesser of 4 MW and targetMw.'}, 'targetMw': {'type': 'number', 'maximum': 2000, 'minimum': 0.1, 'description': 'Target compute or flexible-load capacity in MW.'}, 'coolingMode': {'enum': ['unknown', 'dry', 'liquid_closed', 'evaporative'], 'type': 'string', 'default': 'unknown'}, 'siteLocation': {'type': 'string', 'description': 'County/state, balancing area, or approximate site. Do not send a street address or contact information.'}, 'storageHours': {'type': 'number', 'maximum': 24, 'minimum': 0, 'description': 'Optional available storage duration in hours.'}, 'workloadType': {'enum': ['ai_training', 'inference', 'hpc', 'rendering_simulation', 'mixed_compute', 'renewable_project', 'other'], 'type': 'string'}, 'powerEvidence': {'enum': ['unknown', 'regional', 'utility_contact', 'confirmed'], 'type': 'string', 'default': 'unknown', 'description': 'Buyer-stated evidence maturity; confirmed still requires documentary verification.'}, 'flexibilityHours': {'type': 'number', 'maximum': 168, 'minimum': 0, 'description': 'Hours per week the workload can shift.'}}}
get_quote_link
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]
输入模式
{'type': 'object', 'examples': [{'zipCode': '59715'}, {'zipCode': '59715', 'contractorCategory': 'solar_installation'}, {}], 'required': [], 'properties': {'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.'}, 'country': {'type': 'string', 'examples': ['DE', 'GB'], 'description': 'ISO 3166-1 alpha-2 country code. Omit for US.'}, 'zipCode': {'type': 'string', 'examples': ['59715', '59715-1234'], '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.'}, '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.'}}}
list_guides
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]
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Max guides to return (1–50, default 20).'}, 'topic': {'type': 'string', 'description': 'Filter by topic: solar | heat_pump | battery | weatherization | overview. Omit for all topics.'}, '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.'}, '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."}}}
match_installers
Return up to three eligible installer matches for a region. [$0.05/call]
输入模式
{'type': 'object', 'required': ['contractorCategory', 'zipCode'], 'properties': {'state': {'type': 'string'}, 'zipCode': {'type': 'string'}, 'contractorCategory': {'type': 'string'}}}
record_quote_review_outcome
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]
输入模式
{'type': 'object', 'required': ['reviewToolCallId', 'operatorConfirmed', 'usefulness', 'findingId', 'deliveredToHousehold', 'action'], 'properties': {'action': {'enum': ['asked_installer', 'requested_revision', 'compared_alternatives', 'decided_to_proceed', 'decided_to_pause', 'no_action_yet'], 'type': 'string'}, 'findingId': {'type': ['string', 'null'], 'description': 'A returned q1–q6 check id, or null when not useful.'}, 'usefulness': {'enum': ['useful', 'partly_useful', 'not_useful'], 'type': 'string'}, '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.'}, 'deliveredToHousehold': {'type': 'boolean'}}, 'additionalProperties': False}
review_installer_quote
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]
输入模式
{'type': 'object', 'anyOf': [{'required': ['assessmentId']}, {'required': ['postalCode']}], 'required': ['quoteText'], 'properties': {'city': {'type': 'string'}, 'state': {'type': 'string'}, '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.'}, 'country': {'enum': ['US', 'CA', 'GB', 'DE', 'AU', 'OTHER'], 'type': 'string', 'default': 'US'}, '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.'}, 'postalCode': {'type': 'string', 'description': 'Property ZIP or local postal code. Required when assessmentId is omitted.'}, 'serviceType': {'enum': ['solar', 'battery', 'ev_charger', 'efficiency', 'heat_pump', 'unsure'], 'type': 'string', 'default': 'solar'}, 'assessmentId': {'type': 'string', 'description': 'Optional existing EnergyAI assessment id. Omit when supplying postalCode for automatic project creation.'}, 'propertyType': {'enum': ['single_family', 'townhouse', 'condo', 'rental', 'commercial', 'farm', 'other'], 'type': 'string', 'default': 'other'}, 'monthlyBillRange': {'enum': ['lt_75', '75_150', '150_250', '250_400', 'gt_400', 'unknown'], 'type': 'string', 'default': 'unknown'}}}
route_lead
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]
输入模式
{'type': 'object', 'examples': [{'zipCode': '59715', 'timeline': '3_months', 'consentText': '<canonical text returned by check_incentives.consentTextForRouting, shown to and accepted by the homeowner>', 'contactName': 'Jane Doe', 'contactEmail': 'jane@example.com', 'consentTimestamp': '2026-07-12T19:00:00Z', 'monthlyBillRange': '150_250', 'contractorCategory': 'solar_installation'}], 'required': ['contractorCategory', 'zipCode', 'contactName', 'contactEmail', 'consentText', 'consentTimestamp'], 'properties': {'city': {'type': 'string'}, 'state': {'type': 'string', 'description': 'Two-letter state code. Derived from ZIP when omitted.'}, '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.'}, 'zipCode': {'type': 'string', 'description': '5-digit US ZIP code of the project (route_lead dispatches into a US installer network only today).'}, 'timeline': {'type': 'string', 'description': 'e.g. asap | 3_months | 6_months | exploring'}, 'budgetRange': {'type': 'string'}, '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.'}, 'contactName': {'type': 'string', 'description': "Homeowner's name."}, 'contactEmail': {'type': 'string', 'format': 'email', 'description': "Homeowner's email."}, 'contactPhone': {'type': 'string'}, 'propertyType': {'type': 'string'}, 'consentVersion': {'type': 'string', 'description': 'Required when consentText is not the canonical EnergyAI consent text.'}, 'consentTimestamp': {'type': 'string', 'format': 'date-time', 'description': 'When the homeowner consented.'}, 'monthlyBillRange': {'type': 'string', 'description': 'lt_75 | 75_150 | 150_250 | 250_400 | gt_400 | unknown'}, 'contractorCategory': {'type': 'string', 'description': 'solar_installation | battery_storage | ev_charger | energy_audit | insulation_weatherization | heat_pump'}}}
run_power_screen
Execute one signed Power Screen quote and return an immediate modeled constraint decision, assumptions, evidence gaps, and immutable artifact hash. [$1.00/call]
输入模式
{'type': 'object', 'required': ['quoteToken'], '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.'}}}
submit_contractor_match_request
Submit a consented installer lead and retain referral attribution. Free. [free]
输入模式
{'type': 'object', 'required': ['assessmentId', 'contactName', 'contactEmail', 'consentText', 'consentTimestamp'], 'properties': {'consentText': {'type': 'string', 'description': 'EXACT consent text shown to end user.'}, 'contactName': {'type': 'string'}, 'assessmentId': {'type': 'string'}, 'contactEmail': {'type': 'string', 'format': 'email'}, 'contactPhone': {'type': 'string'}, 'consentVersion': {'type': 'string'}, 'consentTimestamp': {'type': 'string', 'format': 'date-time'}}}
已添加
submit_contractor_match_request
2026年9月17日 12:34
已添加
record_quote_review_outcome
2026年9月17日 12:34
已添加
review_installer_quote
2026年9月17日 12:34
已添加
get_energy_incentives
2026年9月17日 12:34
已添加
match_installers
2026年9月17日 12:34
已添加
get_anonymized_dataset_sample
2026年9月17日 12:34
已添加
get_eta_i_metric
2026年9月17日 12:34
已添加
get_information_theoretic_recommendation
2026年9月17日 12:34
已添加
generate_intelligence_bound_report
2026年9月17日 12:34
已添加
get_energy_node_roadmap
2026年9月17日 12:34
已添加
create_energy_node_roadmap_checkout
2026年9月17日 12:34
已添加
get_energy_node_score
2026年9月17日 12:34
已添加
generate_energy_recommendation_preview
2026年9月17日 12:34
已添加
complete_energy_assessment
2026年9月17日 12:34
已添加
answer_energy_assessment_question
2026年9月17日 12:34
已添加
create_energy_assessment
2026年9月17日 12:34
已添加
bootstrap_energy_project
2026年9月17日 12:34
已添加
run_power_screen
2026年9月17日 12:34
已添加
find_local_installers
2026年9月17日 12:34
已添加
get_builder_upgrade_link
2026年9月17日 12:34
已添加
create_builder_key
2026年9月17日 12:34
已添加
get_guide
2026年9月17日 12:34
已添加
list_guides
2026年9月17日 12:34
已添加
route_lead
2026年9月17日 12:34
已添加
get_power_service_quote
2026年9月17日 12:34
已添加
get_power_passport_link
2026年9月17日 12:34
已添加
get_quote_link
2026年9月17日 12:34
已添加
get_node_score
2026年9月17日 12:34
已添加
estimate_production
2026年9月17日 12:34
已添加
check_incentives
2026年9月17日 12:34