energyai

Solar, weatherization, EV charging, battery and heat-pump decision tools for AI agents.

사용해야 할까요

품질 및 안전성

A
설명 품질
96%
스키마 완전성
85%
이름 품질
92%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (6)

  • LOWTool 'answer_energy_assessment_question' name length outside 3-30 rangeanswer_energy_assessment_question에서
  • LOWTool 'generate_energy_recommendation_preview' name length outside 3-30 rangegenerate_energy_recommendation_preview에서
  • LOWTool 'create_energy_node_roadmap_checkout' name length outside 3-30 rangecreate_energy_node_roadmap_checkout에서
  • LOWTool 'generate_intelligence_bound_report' name length outside 3-30 rangegenerate_intelligence_bound_report에서
  • LOWTool 'get_information_theoretic_recommendation' name length outside 3-30 rangeget_information_theoretic_recommendation에서
  • LOWTool 'submit_contractor_match_request' name length outside 3-30 rangesubmit_contractor_match_request에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~6,820토큰 (도구 정의)
~2.0 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 5.33%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "energyai": {
      "url": "https://api.energyaisolution.com/mcp"
    }
  }
}

원격 엔드포인트

https://api.energyaisolution.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (30)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢check_incentives(zipCode, country, apiKey)

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",
  "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"
    }
  ]
}
🟢estimate_production(zipCode, country, systemKw, monthlyBillUsd, apiKey)

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",
  "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
    }
  ]
}
🟢get_node_score(zipCode, country, propertyType, serviceType, monthlyBillRange, ...)

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",
  "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"
    }
  ]
}
🟡get_quote_link(zipCode, country, contractorCategory, apiKey)

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",
  "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"
    },
    {}
  ]
}
🟢get_power_passport_link(siteLocation, targetMw, workloadType, projectStage, decisionNeed, ...)

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",
  "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."
    },
    {}
  ]
}
🟡get_power_service_quote(siteLocation, targetMw, workloadType, flexibilityHours, stagedMw, ...)

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",
  "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"
    }
  ]
}
🟡route_lead(contractorCategory, zipCode, city, state, contactName, ...)

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",
  "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": "[email protected]",
      "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"
    }
  ]
}
🟢list_guides(region, topic, limit, apiKey)

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": {
    "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."
    }
  }
}
🟢get_guide(slug, apiKey)

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",
  "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"
  ]
}
🟡create_builder_key(name, contactEmail, intendedUse, acceptTerms, apiKey)

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",
  "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": "[email protected]",
      "intendedUse": "Persisted solar projects for our smart-home users",
      "acceptTerms": true
    }
  ]
}
🟢get_builder_upgrade_link(mode, amountCents, apiKey)

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",
  "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
    }
  ]
}
🟢find_local_installers(zipCode, state, contractorCategory, apiKey)

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",
  "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"
    }
  ]
}
⚪run_power_screen(apiKey, quoteToken)

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",
  "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"
  ]
}
🟡bootstrap_energy_project(apiKey, postalCode, serviceType, country, propertyType, ...)

Create a persisted project context, provisional Energy Node score, coverage map, and immediately reusable assessmentId in one call. [$0.10/call]

입력 스키마

{
  "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"
  ]
}
🟡create_energy_assessment

Start a new assessment session. Free. [free]

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟡answer_energy_assessment_question(assessmentId, questionKey, answerValue, answerLabel)

Submit one question answer. Free; usage tracked. [free]

입력 스키마

{
  "type": "object",
  "properties": {
    "assessmentId": {
      "type": "string"
    },
    "questionKey": {
      "type": "string"
    },
    "answerValue": {
      "type": "string"
    },
    "answerLabel": {
      "type": "string"
    }
  },
  "required": [
    "assessmentId",
    "questionKey",
    "answerValue"
  ]
}
⚪complete_energy_assessment(assessmentId)

Finalize an assessment and trigger the recommendation workflow. Free. [free]

입력 스키마

{
  "type": "object",
  "properties": {
    "assessmentId": {
      "type": "string"
    }
  },
  "required": [
    "assessmentId"
  ]
}
⚪generate_energy_recommendation_preview(assessmentId)

Generate honest cost, savings, and next-action ranges. [$0.05/call]

입력 스키마

{
  "type": "object",
  "properties": {
    "assessmentId": {
      "type": "string"
    }
  },
  "required": [
    "assessmentId"
  ]
}
🟢get_energy_node_score(assessmentId)

Retrieve the persisted seven-axis score with input coverage, weakest-axis gaps, next action, and calculation provenance. [$0.05/call]

입력 스키마

{
  "type": "object",
  "properties": {
    "assessmentId": {
      "type": "string"
    }
  },
  "required": [
    "assessmentId"
  ]
}
🟡create_energy_node_roadmap_checkout(assessmentId, email)

Create the end-user checkout link for an unlocked Energy Node roadmap. Free. [free]

입력 스키마

{
  "type": "object",
  "properties": {
    "assessmentId": {
      "type": "string"
    },
    "email": {
      "type": "string",
      "format": "email"
    }
  },
  "required": [
    "assessmentId"
  ]
}
🟢get_energy_node_roadmap(assessmentId)

Retrieve the full unlocked Energy Node roadmap. Locked previews never consume credit. [$0.10/call]

입력 스키마

{
  "type": "object",
  "properties": {
    "assessmentId": {
      "type": "string"
    }
  },
  "required": [
    "assessmentId"
  ]
}
⚪generate_intelligence_bound_report(assessmentId)

Generate a property-specific dI/dt analysis. [$0.25/call]

입력 스키마

{
  "type": "object",
  "properties": {
    "assessmentId": {
      "type": "string"
    }
  },
  "required": [
    "assessmentId"
  ]
}
🟢get_information_theoretic_recommendation(assessmentId)

Rank upgrades by intelligence-bound lift per dollar. [$0.25/call]

입력 스키마

{
  "type": "object",
  "properties": {
    "assessmentId": {
      "type": "string"
    }
  },
  "required": [
    "assessmentId"
  ]
}
🟢get_eta_i_metric(days)

Read the public platform intelligence-efficiency metric. Free. [free]

입력 스키마

{
  "type": "object",
  "properties": {
    "days": {
      "type": "number",
      "default": 30
    }
  }
}
🟢get_anonymized_dataset_sample(limit, offset)

Return an aggregated, anonymized Energy Node dataset sample. [$1.00/call]

입력 스키마

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "default": 100
    },
    "offset": {
      "type": "number",
      "default": 0
    }
  }
}
⚪match_installers(contractorCategory, zipCode, state)

Return up to three eligible installer matches for a region. [$0.05/call]

입력 스키마

{
  "type": "object",
  "properties": {
    "contractorCategory": {
      "type": "string"
    },
    "zipCode": {
      "type": "string"
    },
    "state": {
      "type": "string"
    }
  },
  "required": [
    "contractorCategory",
    "zipCode"
  ]
}
🟢get_energy_incentives(assessmentId)

Use a completed assessment to prioritize property-specific incentive checks and return an evidence-based verification plan. [$0.02/call]

입력 스키마

{
  "type": "object",
  "properties": {
    "assessmentId": {
      "type": "string",
      "description": "Completed EnergyAI assessment id. Use free check_incentives for ZIP-only guidance."
    }
  },
  "required": [
    "assessmentId"
  ]
}
⚪review_installer_quote(apiKey, assessmentId, postalCode, quoteText, serviceType, ...)

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",
  "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"
      ]
    }
  ]
}
⚪record_quote_review_outcome(reviewToolCallId, operatorConfirmed, usefulness, findingId, deliveredToHousehold, ...)

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",
  "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
}
🟡submit_contractor_match_request(assessmentId, contactName, contactEmail, contactPhone, consentText, ...)

Submit a consented installer lead and retain referral attribution. Free. [free]

입력 스키마

{
  "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"
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 30개
검증됨버전이 기록되지 않음도구 30개