Server definition
- Hash
- sha256:9c1db952d20afddbf10c12f37e30ddb70adba9e47b33bb38a774a7362b74d925
- What it is
- What a remote MCP server returned when asked what it offers: 12 tools
The blob, as servednamed by its sha256
{
"instructions": "EnergyAI solar & home-energy toolkit — 20 anonymous informational calls per caller/24h, then a free in-band builder key 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. High-intent handoffs remain always free without a 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. Unkeyed get_builder_upgrade_link returns a one-screen human activation URL; keyed get_quote_link can return an attributed Quote Guardian link that earns non-cash tool credit only after verified payment. Public directory listings are independent discovery records, not EnergyAI endorsements. Full commercial toolset lives at https://api.energyaisolution.com/mcp. Read energyai://capabilities for supported jobs, examples and coverage. Commercial review examples require the full endpoint.",
"tools": [
{
"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": "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": "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": "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": "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": "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": "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
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:9c1db952d20afddbf10c12f37e30ddb70adba9e47b33bb38a774a7362b74d925 | sha256sum