이 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.
도구
입력 스키마
{'type': 'object', 'required': ['assessmentId', 'questionKey', 'answerValue'], 'properties': {'answerLabel': {'type': 'string'}, 'answerValue': {'type': 'string'}, 'questionKey': {'type': 'string'}, 'assessmentId': {'type': 'string'}}}
입력 스키마
{'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'}}}
입력 스키마
{'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.'}}}
입력 스키마
{'type': 'object', 'required': ['assessmentId'], 'properties': {'assessmentId': {'type': 'string'}}}
입력 스키마
{'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."}}}
입력 스키마
{'type': 'object', 'properties': {}}
입력 스키마
{'type': 'object', 'required': ['assessmentId'], 'properties': {'email': {'type': 'string', 'format': 'email'}, 'assessmentId': {'type': 'string'}}}
입력 스키마
{'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).'}}}
입력 스키마
{'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'}}}
입력 스키마
{'type': 'object', 'required': ['assessmentId'], 'properties': {'assessmentId': {'type': 'string'}}}
입력 스키마
{'type': 'object', 'required': ['assessmentId'], 'properties': {'assessmentId': {'type': 'string'}}}
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'number', 'default': 100}, 'offset': {'type': 'number', 'default': 0}}}
입력 스키마
{'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).'}}}
입력 스키마
{'type': 'object', 'required': ['assessmentId'], 'properties': {'assessmentId': {'type': 'string', 'description': 'Completed EnergyAI assessment id. Use free check_incentives for ZIP-only guidance.'}}}
입력 스키마
{'type': 'object', 'required': ['assessmentId'], 'properties': {'assessmentId': {'type': 'string'}}}
입력 스키마
{'type': 'object', 'required': ['assessmentId'], 'properties': {'assessmentId': {'type': 'string'}}}
입력 스키마
{'type': 'object', 'properties': {'days': {'type': 'number', 'default': 30}}}
입력 스키마
{'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.'}}}
입력 스키마
{'type': 'object', 'required': ['assessmentId'], 'properties': {'assessmentId': {'type': 'string'}}}
입력 스키마
{'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'}}}
입력 스키마
{'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.'}}}
입력 스키마
{'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.'}}}
입력 스키마
{'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.'}}}
입력 스키마
{'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."}}}
입력 스키마
{'type': 'object', 'required': ['contractorCategory', 'zipCode'], 'properties': {'state': {'type': 'string'}, 'zipCode': {'type': 'string'}, 'contractorCategory': {'type': 'string'}}}
입력 스키마
{'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}
입력 스키마
{'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'}}}
입력 스키마
{'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'}}}
입력 스키마
{'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.'}}}
입력 스키마
{'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'}}}
최근 도구 변경
유사한 MCP 서버
bimhouse
Creates and edits house BIM models, checks Japanese building-code constraints, estimates materials and construction costs, matche…
engineering
Performs built-environment engineering calculations and compliance assessments covering energy, carbon, BIM, cybersecurity, struc…
solar-home-incentives
Provides home-energy incentive guidance, solar production estimates, design and incentive guides, contractor discovery, quote rev…
ground-motion
Reports NASA InSAR-measured ground sinking or uplift for US addresses, including coverage, history, portfolio checks, account cre…
Cadastro Ambiental Rural: Download de Shapefile
Obtains official Rural Environmental Registry property data as a shapefile download.
TrueFixR + AtlasCast
Provides address- and county-level weather, storm history, severe-weather forecasts, property exposure, and multi-peril risk repo…
site
Collects consented project details and submits an enquiry to human providers for tree surveys.
site
Collects consented property details and submits an enquiry to human providers for underpinning work.