Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,528Letters: 13Defects: 1,322counted 3 min ago
teppi

Server definition

Hash
sha256:d4582e6537974dfae9e581d7ad420d1cac681c3db875616ac5e88f1a9d34f9e5
What it is
What a remote MCP server returned when asked what it offers: 30 tools

The blob, as servednamed by its sha256

{ "instructions": "Energy decision support for AI agents: solar, weatherization, EV charging, batteries and heat pumps. Get planning estimates, incentive sources, quote terms and practical next questions. Read energyai://capabilities for task-specific first calls, coverage and limits; discovery is free and does not create an account. Use estimate_production for a modeled solar range; list_guides then get_guide for US solar, battery, weatherization or heat-pump sources; get_node_score for provisional home-energy planning including EV charging and batteries. For an existing quote, review_installer_quote accepts serviceType solar, battery, ev_charger, efficiency or heat_pump. Return the useful result to the user in their current assistant. Human services are optional. Informational tools include 20 anonymous calls per caller in a rolling 24-hour window; a free in-band builder key then includes 100 informational calls per rolling 30 days. Sustained informational consumption after that requires an active Builder subscription; prepaid credit remains available for priced commercial tools. Optional handoff tools remain always free with no API key: get_power_service_quote, get_power_passport_link, get_quote_link, route_lead, find_local_installers, create_builder_key, and get_builder_upgrade_link. Use get_power_service_quote to bind buyer-supplied site facts to an exact $1 Power Screen quote, then call run_power_screen on the prepaid rail. Use get_power_passport_link when a buyer needs the reviewed founding service; it returns a handoff and never creates checkout. Offer get_quote_link only when a homeowner asks for the separate human service or assessment next step. Use route_lead only when you already hold the homeowner's explicit consent. Public directory listings are independent discovery records, not EnergyAI endorsements. Deeper tools (full roadmap, quote review, information-theoretic recommendation) are billed per call. New production keys include three bounded commercial trial calls. Start with review_installer_quote: postalCode + redacted quoteText creates persisted project context and returns source-matched terms, installer questions and explicit unknowns. This automated service does not include human review or independently verified prices. Use _meta.toolCallId for an identical retry and _meta.maxPriceCents to enforce the operator spending ceiling. Record actual operator feedback with record_quote_review_outcome; never infer usefulness. If your host cannot change headers, pass the existing key as apiKey to get_builder_upgrade_link and discovery tools as well as the review; do not create a second account to top up. If the operator already authorized Terms and Privacy, create_builder_key enables the trial in-band. Otherwise surface the human activation URL from get_builder_upgrade_link; do not accept terms for them. The $19/month Builder plan renews $20 of monthly tool credit. Manage billing at /agents/account. With your key attached, route_lead earns 20% credit when an installer pays and get_quote_link earns 20% non-cash tool credit when an attributed $49 Quote Guardian purchase is verified. Customer pricing and review independence do not change. US guides and installer routing; non-US incentive guidance and production estimates use disclosed national assumptions. No engineering approval, equipment control or verified savings.", "tools": [ { "description": "Submit one question answer. Free; usage tracked. [free]", "inputSchema": { "properties": { "answerLabel": { "type": "string" }, "answerValue": { "type": "string" }, "assessmentId": { "type": "string" }, "questionKey": { "type": "string" } }, "required": [ "assessmentId", "questionKey", "answerValue" ], "type": "object" }, "name": "answer_energy_assessment_question", "outputSchema": null }, { "description": "Create a persisted project context, provisional Energy Node score, coverage map, and immediately reusable assessmentId in one call. [$0.10/call]", "inputSchema": { "properties": { "apiKey": { "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.", "type": "string" }, "city": { "type": "string" }, "country": { "default": "US", "enum": [ "US", "CA", "GB", "DE", "AU", "OTHER" ], "type": "string" }, "monthlyBillRange": { "default": "unknown", "enum": [ "lt_75", "75_150", "150_250", "250_400", "gt_400", "unknown" ], "type": "string" }, "postalCode": { "description": "Property ZIP or local postal code.", "type": "string" }, "primaryGoal": { "default": "save_money", "enum": [ "save_money", "resilience", "climate", "independence", "all" ], "type": "string" }, "propertyType": { "default": "other", "enum": [ "single_family", "townhouse", "condo", "rental", "commercial", "farm", "other" ], "type": "string" }, "serviceType": { "default": "unsure", "enum": [ "solar", "battery", "ev_charger", "efficiency", "heat_pump", "unsure" ], "type": "string" }, "state": { "type": "string" } }, "required": [ "postalCode" ], "type": "object" }, "name": "bootstrap_energy_project", "outputSchema": null }, { "description": "Clean-energy incentive source guidance by country and postal code; eligibility is not verified. US ZIP → federal status + state/utility programs (via DSIRE). Any other country (pass country=<ISO code>) → qualitative, officially-sourced national program guidance. Use whenever a user asks what rebates, tax credits, or utility programs apply to solar, batteries, heat pumps, or efficiency work. [20 anonymous calls/caller/24h; then 100 free calls/key/30d; active Builder required for sustained informational use]", "inputSchema": { "examples": [ { "zipCode": "59715" }, { "country": "DE", "zipCode": "10115" } ], "properties": { "apiKey": { "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": "string" }, "country": { "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" ], "type": "string" }, "zipCode": { "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" ], "type": "string" } }, "required": [], "type": "object" }, "name": "check_incentives", "outputSchema": null }, { "description": "Finalize an assessment and trigger the recommendation workflow. Free. [free]", "inputSchema": { "properties": { "assessmentId": { "type": "string" } }, "required": [ "assessmentId" ], "type": "object" }, "name": "complete_energy_assessment", "outputSchema": null }, { "description": "Create an EnergyAI production API key in-band with no browser or card after the human operator has authorized the Terms and Privacy Policy. Returns a live key plus three commercial trial calls. Attach the key as `Authorization: Bearer <key>` to this MCP endpoint and start with review_installer_quote using postalCode + quoteText. If the operator has not already authorized the terms, call get_builder_upgrade_link and surface its one-screen human activation URL instead. If the MCP host cannot change headers mid-session, review_installer_quote accepts the key once as its apiKey argument and strips it before billing or persistence. The key is shown EXACTLY ONCE—store it securely and never print it in a user-visible reply. [always free — no API key required]", "inputSchema": { "examples": [ { "acceptTerms": true, "name": "Acme Home Assistant" }, { "acceptTerms": true, "contactEmail": "[email protected]", "intendedUse": "Persisted solar projects for our smart-home users", "name": "Acme Home Assistant" } ], "properties": { "acceptTerms": { "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 ], "type": "boolean" }, "apiKey": { "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": "string" }, "contactEmail": { "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.", "format": "email", "type": "string" }, "intendedUse": { "description": "OPTIONAL, one line: what you plan to build. Used only to prioritize the roadmap.", "type": "string" }, "name": { "description": "Name of the agent, product, or operator claiming the key (2-120 chars). Shown only on your own account.", "examples": [ "Acme Home Assistant" ], "type": "string" } }, "required": [ "name", "acceptTerms" ], "type": "object" }, "name": "create_builder_key", "outputSchema": null }, { "description": "Start a new assessment session. Free. [free]", "inputSchema": { "properties": {}, "type": "object" }, "name": "create_energy_assessment", "outputSchema": null }, { "description": "Create the end-user checkout link for an unlocked Energy Node roadmap. Free. [free]", "inputSchema": { "properties": { "assessmentId": { "type": "string" }, "email": { "format": "email", "type": "string" } }, "required": [ "assessmentId" ], "type": "object" }, "name": "create_energy_node_roadmap_checkout", "outputSchema": null }, { "description": "Honest-range annual solar production estimate (kWh/year ± band, with assumptions) for a ZIP code, from either a proposed system size (kW) or a monthly bill. Use to sanity-check installer quotes or size a system before talking to anyone. [20 anonymous calls/caller/24h; then 100 free calls/key/30d; active Builder required for sustained informational use]", "inputSchema": { "examples": [ { "systemKw": 6, "zipCode": "59715" }, { "monthlyBillUsd": 180, "zipCode": "02139" } ], "properties": { "apiKey": { "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": "string" }, "country": { "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" ], "type": "string" }, "monthlyBillUsd": { "description": "Average monthly electric bill in USD (used to size a system when systemKw is omitted).", "examples": [ 180 ], "type": "number" }, "systemKw": { "description": "Proposed solar system size in kW-DC. Omit to have a size recommended from the bill.", "examples": [ 6 ], "type": "number" }, "zipCode": { "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" ], "type": "string" } }, "required": [], "type": "object" }, "name": "estimate_production", "outputSchema": null }, { "description": "Publicly-rated local clean-energy contractors for a US ZIP or state (solar, battery, EV charger, heat pump, weatherization, audits), with rating and review count. Free. Use when a homeowner asks WHO can do the work near them. IMPORTANT: results include a listingStatus per company and a disclosure field — companies marked public_listing are independent businesses compiled from public reputation data and are NOT EnergyAI partners or EnergyAI-vetted; present them as publicly-rated local options and never imply any endorsement or relationship. Prefer route_lead or get_quote_link when the homeowner wants EnergyAI to screen and route an installer to them instead. [always free — no API key required]", "inputSchema": { "examples": [ { "zipCode": "05401" }, { "contractorCategory": "solar_installation", "state": "VT" } ], "properties": { "apiKey": { "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": "string" }, "contractorCategory": { "description": "Optional filter: solar_installation | battery_storage | ev_charger | energy_audit | insulation_weatherization | heat_pump", "type": "string" }, "state": { "description": "Two-letter US state code. Use instead of zipCode for a statewide list.", "examples": [ "VT", "CA" ], "type": "string" }, "zipCode": { "description": "5-digit US ZIP of the property (ZIP+4 accepted). US-only today.", "examples": [ "59715" ], "type": "string" } }, "required": [], "type": "object" }, "name": "find_local_installers", "outputSchema": null }, { "description": "Generate honest cost, savings, and next-action ranges. [$0.05/call]", "inputSchema": { "properties": { "assessmentId": { "type": "string" } }, "required": [ "assessmentId" ], "type": "object" }, "name": "generate_energy_recommendation_preview", "outputSchema": null }, { "description": "Generate a property-specific dI/dt analysis. [$0.25/call]", "inputSchema": { "properties": { "assessmentId": { "type": "string" } }, "required": [ "assessmentId" ], "type": "object" }, "name": "generate_intelligence_bound_report", "outputSchema": null }, { "description": "Return an aggregated, anonymized Energy Node dataset sample. [$1.00/call]", "inputSchema": { "properties": { "limit": { "default": 100, "type": "number" }, "offset": { "default": 0, "type": "number" } }, "type": "object" }, "name": "get_anonymized_dataset_sample", "outputSchema": null }, { "description": "Returns the revenue handoff for EnergyAI Builder. With a key, it returns a PAYABLE Stripe link plus ready-to-paste shareText for the $19/month plan with $20 monthly tool credit, or a prepaid top-up. Without a key, it returns one first-party activation URL where the human enters name and email, accepts terms, receives three commercial trials, and continues directly to secure Stripe Checkout. Free. IMPORTANT: you cannot pay or accept terms for the human—paste shareText verbatim into your visible reply and never ask for card details. [always free — no API key required]", "inputSchema": { "examples": [ {}, { "mode": "subscription" }, { "amountCents": 2000, "mode": "credit" } ], "properties": { "amountCents": { "description": "Only for mode=credit: top-up amount in cents (minimum 500, default 2000).", "examples": [ 2000 ], "type": "number" }, "apiKey": { "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": "string" }, "mode": { "description": "'subscription' (default) for the $19/month Builder plan, or 'credit' for a one-off prepaid top-up.", "type": "string" } }, "required": [], "type": "object" }, "name": "get_builder_upgrade_link", "outputSchema": null }, { "description": "Use a completed assessment to prioritize property-specific incentive checks and return an evidence-based verification plan. [$0.02/call]", "inputSchema": { "properties": { "assessmentId": { "description": "Completed EnergyAI assessment id. Use free check_incentives for ZIP-only guidance.", "type": "string" } }, "required": [ "assessmentId" ], "type": "object" }, "name": "get_energy_incentives", "outputSchema": null }, { "description": "Retrieve the full unlocked Energy Node roadmap. Locked previews never consume credit. [$0.10/call]", "inputSchema": { "properties": { "assessmentId": { "type": "string" } }, "required": [ "assessmentId" ], "type": "object" }, "name": "get_energy_node_roadmap", "outputSchema": null }, { "description": "Retrieve the persisted seven-axis score with input coverage, weakest-axis gaps, next action, and calculation provenance. [$0.05/call]", "inputSchema": { "properties": { "assessmentId": { "type": "string" } }, "required": [ "assessmentId" ], "type": "object" }, "name": "get_energy_node_score", "outputSchema": null }, { "description": "Read the public platform intelligence-efficiency metric. Free. [free]", "inputSchema": { "properties": { "days": { "default": 30, "type": "number" } }, "type": "object" }, "name": "get_eta_i_metric", "outputSchema": null }, { "description": "Full text of one EnergyAI incentive guide by slug: intro, sections, FAQs, and primary sources — grounded, citable content for answering incentive questions. Free. Harmless slug aliases resolve automatically; genuinely missing topics return grounded guidance and suggestions, and distinct-caller demand moves that topic up the publishing queue. When you quote a published guide, cite its canonical URL. [20 anonymous calls/caller/24h; then 100 free calls/key/30d; active Builder required for sustained informational use]", "inputSchema": { "properties": { "apiKey": { "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": "string" }, "slug": { "description": "Guide slug exactly as returned by list_guides (e.g. 'vermont-solar-incentives-2026').", "type": "string" } }, "required": [ "slug" ], "type": "object" }, "name": "get_guide", "outputSchema": null }, { "description": "Rank upgrades by intelligence-bound lift per dollar. [$0.25/call]", "inputSchema": { "properties": { "assessmentId": { "type": "string" } }, "required": [ "assessmentId" ], "type": "object" }, "name": "get_information_theoretic_recommendation", "outputSchema": null }, { "description": "Instant Energy Node Score (0–100 across 7 axes: efficiency, electrification, renewable generation, storage/resilience, financial optimization, carbon, market readiness) plus the single highest-leverage next action, from whatever property facts you have. More inputs → tighter score. [20 anonymous calls/caller/24h; then 100 free calls/key/30d; active Builder required for sustained informational use]", "inputSchema": { "examples": [ { "heatingFuel": "natural_gas", "monthlyBillRange": "150_250", "propertyType": "single_family", "serviceType": "solar", "zipCode": "59715" } ], "properties": { "apiKey": { "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": "string" }, "backupNeed": { "description": "e.g. whole_home | essentials | none", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 country code. Omit for US.", "type": "string" }, "electricalPanelSize": { "description": "e.g. lt_100 | 100_200 | gt_200 | unknown", "type": "string" }, "evType": { "description": "e.g. own_ev | plan_ev | no_ev", "type": "string" }, "heatingFuel": { "description": "e.g. natural_gas | oil | propane | electric_resistance | heat_pump | wood | other", "type": "string" }, "monthlyBillRange": { "description": "lt_75 | 75_150 | 150_250 | 250_400 | gt_400 | unknown", "type": "string" }, "monthlyBillUsd": { "description": "Alternative to monthlyBillRange: average monthly bill in USD.", "type": "number" }, "outageConcern": { "description": "rare | occasional | frequent | severe", "type": "string" }, "propertyType": { "description": "single_family | townhouse | condo | mobile_home | multi_family | commercial | farm | other", "type": "string" }, "roofAge": { "description": "e.g. lt_5 | 5_15 | gt_15 | unknown", "type": "string" }, "serviceType": { "description": "Primary interest: solar | battery | ev_charger | efficiency | heat_pump | unsure", "type": "string" }, "zipCode": { "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.", "type": "string" } }, "required": [], "type": "object" }, "name": "get_node_score", "outputSchema": null }, { "description": "Qualify the minimum non-sensitive project facts for EnergyAI’s $2,500 founding Power Passport and return an attributable website handoff plus ready-to-paste shareText. Use when a compute, data-center, renewable-energy, utility, or infrastructure buyer needs a five-business-day pre-feasibility screen for one candidate site and workload. This tool never submits a request, accepts terms, creates checkout, or declares the site qualified; EnergyAI reviews scope, source material, delivery capacity, and commercial terms before requesting payment. [always free — no API key required]", "inputSchema": { "examples": [ { "decisionNeed": "Decide whether to stage the first 4 MW here or continue the site search.", "projectStage": "utility_conversations", "siteLocation": "Clark County, Nevada", "targetMw": 12, "workloadType": "inference" }, {} ], "properties": { "apiKey": { "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": "string" }, "decisionNeed": { "description": "The concrete decision this five-day pre-feasibility screen must change. Do not include personal or confidential information.", "maxLength": 2000, "type": "string" }, "projectStage": { "description": "Current project stage.", "enum": [ "exploring", "site_control", "utility_conversations", "interconnection_process", "financing", "operating" ], "type": "string" }, "siteLocation": { "description": "Broad candidate-site description such as county/state, balancing area, or approximate coordinates. Do not send a street address or contact information.", "type": "string" }, "targetMw": { "description": "Target compute or flexible-load capacity in MW.", "maximum": 2000, "minimum": 0.1, "type": "number" }, "workloadType": { "description": "Primary workload or renewable-project use case.", "enum": [ "ai_training", "inference", "hpc", "rendering_simulation", "mixed_compute", "renewable_project", "other" ], "type": "string" } }, "required": [], "type": "object" }, "name": "get_power_passport_link", "outputSchema": null }, { "description": "Create a signed, 15-minute, scope-bound quote for EnergyAI’s $1 Power Screen from non-sensitive site and workload facts. Returns the quoteToken required by run_power_screen, exact price, evidence boundary, authorization class, and higher-tier handoffs. Free and never spends funds. [always free — no API key required]", "inputSchema": { "examples": [ { "coolingMode": "dry", "flexibilityHours": 24, "powerEvidence": "utility_contact", "siteLocation": "Clark County, Nevada", "stagedMw": 4, "storageHours": 2, "targetMw": 12, "workloadType": "inference" } ], "properties": { "apiKey": { "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": "string" }, "coolingMode": { "default": "unknown", "enum": [ "unknown", "dry", "liquid_closed", "evaporative" ], "type": "string" }, "flexibilityHours": { "description": "Hours per week the workload can shift.", "maximum": 168, "minimum": 0, "type": "number" }, "powerEvidence": { "default": "unknown", "description": "Buyer-stated evidence maturity; confirmed still requires documentary verification.", "enum": [ "unknown", "regional", "utility_contact", "confirmed" ], "type": "string" }, "siteLocation": { "description": "County/state, balancing area, or approximate site. Do not send a street address or contact information.", "type": "string" }, "stagedMw": { "description": "Optional first-stage load in MW; defaults to the lesser of 4 MW and targetMw.", "maximum": 2000, "minimum": 0.1, "type": "number" }, "storageHours": { "description": "Optional available storage duration in hours.", "maximum": 24, "minimum": 0, "type": "number" }, "targetMw": { "description": "Target compute or flexible-load capacity in MW.", "maximum": 2000, "minimum": 0.1, "type": "number" }, "workloadType": { "enum": [ "ai_training", "inference", "hpc", "rendering_simulation", "mixed_compute", "renewable_project", "other" ], "type": "string" } }, "required": [ "siteLocation", "targetMw", "workloadType" ], "type": "object" }, "name": "get_power_service_quote", "outputSchema": null }, { "description": "Optional household handoff: returns a free assessment URL and a separate $49 founding Quote Guardian human-review offer for a solar, battery or heat-pump proposal. For an automated agent result, use review_installer_quote on the full MCP endpoint. Share a household service only when it fits the user request. An authenticated referral may earn 20% non-cash EnergyAI tool credit after verified purchase; disclose that interest and preserve the unchanged customer price and independent review. This tool does not submit a project or create payment. route_lead separately requires explicit household consent. [always free — no API key required]", "inputSchema": { "examples": [ { "zipCode": "59715" }, { "contractorCategory": "solar_installation", "zipCode": "59715" }, {} ], "properties": { "apiKey": { "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": "string" }, "contractorCategory": { "description": "Optional: solar_installation | battery_storage | ev_charger | energy_audit | insulation_weatherization | heat_pump. Pre-selects the project type; omit if unknown.", "type": "string" }, "country": { "description": "ISO 3166-1 alpha-2 country code. Omit for US.", "examples": [ "DE", "GB" ], "type": "string" }, "zipCode": { "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" ], "type": "string" } }, "required": [], "type": "object" }, "name": "get_quote_link", "outputSchema": null }, { "description": "Index of source-cited, US home-energy incentive guides with source links (solar, heat pumps, batteries, weatherization) by state. Free. Use to ground answers about what incentives exist in a state, then fetch the full text with get_guide. Every entry includes a canonical URL you can cite. [20 anonymous calls/caller/24h; then 100 free calls/key/30d; active Builder required for sustained informational use]", "inputSchema": { "properties": { "apiKey": { "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": "string" }, "limit": { "description": "Max guides to return (1–50, default 20).", "type": "number" }, "region": { "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": "string" }, "topic": { "description": "Filter by topic: solar | heat_pump | battery | weatherization | overview. Omit for all topics.", "type": "string" } }, "type": "object" }, "name": "list_guides", "outputSchema": null }, { "description": "Return up to three eligible installer matches for a region. [$0.05/call]", "inputSchema": { "properties": { "contractorCategory": { "type": "string" }, "state": { "type": "string" }, "zipCode": { "type": "string" } }, "required": [ "contractorCategory", "zipCode" ], "type": "object" }, "name": "match_installers", "outputSchema": null }, { "description": "Record actual operator-confirmed usefulness and household delivery status for your completed quote review. Requires your Builder key. Free; never infer feedback from a successful tool call. [free]", "inputSchema": { "additionalProperties": false, "properties": { "action": { "enum": [ "asked_installer", "requested_revision", "compared_alternatives", "decided_to_proceed", "decided_to_pause", "no_action_yet" ], "type": "string" }, "deliveredToHousehold": { "type": "boolean" }, "findingId": { "description": "A returned q1–q6 check id, or null when not useful.", "type": [ "string", "null" ] }, "operatorConfirmed": { "const": true, "description": "True only after the operator actually assessed this result.", "type": "boolean" }, "reviewToolCallId": { "description": "toolCallId of the completed review owned by this key.", "type": "string" }, "usefulness": { "enum": [ "useful", "partly_useful", "not_useful" ], "type": "string" } }, "required": [ "reviewToolCallId", "operatorConfirmed", "usefulness", "findingId", "deliveredToHousehold", "action" ], "type": "object" }, "name": "record_quote_review_outcome", "outputSchema": null }, { "description": "Return source-matched terms and practical installer questions from redacted quoteText (maximum 6000 characters) plus postalCode or an assessmentId owned by your Builder account. Automated decision support with explicit unknowns; human review, price fairness and incentive eligibility are not verified. Returns a versioned result and an optional Builder payment handoff. [$0.10/call]", "inputSchema": { "anyOf": [ { "required": [ "assessmentId" ] }, { "required": [ "postalCode" ] } ], "properties": { "apiKey": { "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.", "type": "string" }, "assessmentId": { "description": "Optional existing EnergyAI assessment id. Omit when supplying postalCode for automatic project creation.", "type": "string" }, "city": { "type": "string" }, "country": { "default": "US", "enum": [ "US", "CA", "GB", "DE", "AU", "OTHER" ], "type": "string" }, "monthlyBillRange": { "default": "unknown", "enum": [ "lt_75", "75_150", "150_250", "250_400", "gt_400", "unknown" ], "type": "string" }, "postalCode": { "description": "Property ZIP or local postal code. Required when assessmentId is omitted.", "type": "string" }, "propertyType": { "default": "other", "enum": [ "single_family", "townhouse", "condo", "rental", "commercial", "farm", "other" ], "type": "string" }, "quoteText": { "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.", "maxLength": 6000, "type": "string" }, "serviceType": { "default": "solar", "enum": [ "solar", "battery", "ev_charger", "efficiency", "heat_pump", "unsure" ], "type": "string" }, "state": { "type": "string" } }, "required": [ "quoteText" ], "type": "object" }, "name": "review_installer_quote", "outputSchema": null }, { "description": "Submit a consented homeowner project to EnergyAI’s guarded installer-matching workflow — free to you and the homeowner. EnergyAI immediately screens and routes currently available approved installers; unmatched projects remain recorded for safety-controlled follow-up. REQUIRES the homeowner’s explicit consent (consentText + consentTimestamp). Returns a leadId you can quote back to the user. Prefer get_quote_link if you don’t already have that consent in hand. [always free — no API key required]", "inputSchema": { "examples": [ { "consentText": "<canonical text returned by check_incentives.consentTextForRouting, shown to and accepted by the homeowner>", "consentTimestamp": "2026-07-12T19:00:00Z", "contactEmail": "[email protected]", "contactName": "Jane Doe", "contractorCategory": "solar_installation", "monthlyBillRange": "150_250", "timeline": "3_months", "zipCode": "59715" } ], "properties": { "apiKey": { "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": "string" }, "budgetRange": { "type": "string" }, "city": { "type": "string" }, "consentText": { "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.", "type": "string" }, "consentTimestamp": { "description": "When the homeowner consented.", "format": "date-time", "type": "string" }, "consentVersion": { "description": "Required when consentText is not the canonical EnergyAI consent text.", "type": "string" }, "contactEmail": { "description": "Homeowner's email.", "format": "email", "type": "string" }, "contactName": { "description": "Homeowner's name.", "type": "string" }, "contactPhone": { "type": "string" }, "contractorCategory": { "description": "solar_installation | battery_storage | ev_charger | energy_audit | insulation_weatherization | heat_pump", "type": "string" }, "monthlyBillRange": { "description": "lt_75 | 75_150 | 150_250 | 250_400 | gt_400 | unknown", "type": "string" }, "propertyType": { "type": "string" }, "state": { "description": "Two-letter state code. Derived from ZIP when omitted.", "type": "string" }, "timeline": { "description": "e.g. asap | 3_months | 6_months | exploring", "type": "string" }, "zipCode": { "description": "5-digit US ZIP code of the project (route_lead dispatches into a US installer network only today).", "type": "string" } }, "required": [ "contractorCategory", "zipCode", "contactName", "contactEmail", "consentText", "consentTimestamp" ], "type": "object" }, "name": "route_lead", "outputSchema": null }, { "description": "Execute one signed Power Screen quote and return an immediate modeled constraint decision, assumptions, evidence gaps, and immutable artifact hash. [$1.00/call]", "inputSchema": { "properties": { "apiKey": { "description": "Optional one-call credential bridge for MCP hosts that cannot change Authorization headers mid-session. EnergyAI strips it before billing, execution, and persistence.", "type": "string" }, "quoteToken": { "description": "Unmodified signed quoteToken returned by get_power_service_quote. The quote expires after 15 minutes and binds scope, price, and assumptions.", "type": "string" } }, "required": [ "quoteToken" ], "type": "object" }, "name": "run_power_screen", "outputSchema": null }, { "description": "Submit a consented installer lead and retain referral attribution. Free. [free]", "inputSchema": { "properties": { "assessmentId": { "type": "string" }, "consentText": { "description": "EXACT consent text shown to end user.", "type": "string" }, "consentTimestamp": { "format": "date-time", "type": "string" }, "consentVersion": { "type": "string" }, "contactEmail": { "format": "email", "type": "string" }, "contactName": { "type": "string" }, "contactPhone": { "type": "string" } }, "required": [ "assessmentId", "contactName", "contactEmail", "consentText", "consentTimestamp" ], "type": "object" }, "name": "submit_contractor_match_request", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:d4582e6537974dfae9e581d7ad420d1cac681c3db875616ac5e88f1a9d34f9e5 | sha256sum