Skip to main content
Glama

solar-home-incentives

Server Details

Free solar & home energy tools: estimates, incentives by ZIP, scores, installer routing.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
jdhart81/energyai-mcp
GitHub Stars
0
Server Listing
EnergyAI MCP

Available Tools

12 tools
check_incentivesAInspect

Clean-energy incentive guidance for any address WORLDWIDE. US ZIP → federal status + state/utility programs (via DSIRE). Any other country (pass country=) → 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]

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoISO 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).
zipCodeNoPostal 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.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility. It discloses rate limits ('20 anonymous calls/caller/24h; then 100 free calls/key/30d') and notes that sustained use requires an active Builder. It also clarifies the nature of results (federal status + state/utility programs for US, qualitative officially-sourced guidance for other countries). It does not detail the exact response format, but the key behavioral constraints are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences plus a compact rate-limit note. Every clause serves a purpose: scope, regional behavior, explicit use case, and operational limits. There is no redundant or filler text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given two optional parameters and no output schema, the description covers the main usage scenarios, explains what type of results to expect for each branch, and includes rate limits and builder requirements. It gives an agent enough context to select the tool correctly and set user expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value by explaining the interplay between parameters: US ZIP returns federal/state/utility programs, while other countries require country code and return qualitative guidance. This conditional logic is not present in the schema and helps the agent decide which parameters to populate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Clean-energy incentive guidance for any address WORLDWIDE' and breaks down the function by geography (US ZIP vs other countries). It explicitly lists the types of questions it answers (rebates, tax credits, utility programs for solar, batteries, heat pumps, efficiency work), distinguishing it from siblings like estimate_production or find_local_installers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit trigger: 'Use whenever a user asks what rebates, tax credits, or utility programs apply...' It also gives conditional guidance for US versus non-US inputs, clarifying when to pass country and when to use just zipCode. No alternatives are named, but the use case is precise and unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_builder_keyAInspect

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]

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the agent, product, or operator claiming the key (2-120 chars). Shown only on your own account.
acceptTermsYesMust 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.
intendedUseNoOPTIONAL, one line: what you plan to build. Used only to prioritize the roadmap.
contactEmailNoOPTIONAL. 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.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It discloses key one-time display ('EXACTLY ONCE'), storage/printing restrictions, bearer token usage, the fallback apiKey argument that strips the key, trial calls, and that the endpoint is 'always free'. This is rich behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, then delivers usage, fallback, integration, and security notes in a dense but efficient single paragraph. Every sentence adds value with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no annotations and no output schema, the description covers the full lifecycle: creation, alternative flow, authentication, follow-up call, and safety handling. It provides enough context for an agent to use the tool correctly and avoid security pitfalls.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description reinforces the acceptTerms authorization condition and agent-scoped identity for omitted contactEmail, but these are already in the schema. It does not add significant new parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create an EnergyAI production API key' with a specific verb and resource. It distinguishes from siblings by explicitly mentioning the alternative get_builder_upgrade_link when terms are not authorized.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit when-to-use and when-not-to-use guidance: call this tool only after the operator has authorized terms; otherwise use get_builder_upgrade_link. It also gives follow-up instructions with review_installer_quote and how to pass the key.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estimate_productionAInspect

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]

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoISO 3166-1 alpha-2 country code. Omit for US. Non-US estimates use a default solar resource and say so honestly.
zipCodeNoOptional 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.
systemKwNoProposed solar system size in kW-DC. Omit to have a size recommended from the bill.
monthlyBillUsdNoAverage monthly electric bill in USD (used to size a system when systemKw is omitted).

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that estimates are honest-range with assumptions, includes rate limits (20 anonymous calls/caller/24h, 100 free calls/key/30d), and notes the Builder requirement for sustained use. This goes beyond basic functionality and covers usage constraints, though it doesn't explicitly state read-only behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences plus a rate-limit note, with the main purpose front-loaded. Every sentence earns its place, including the usage guidance and rate limit disclosure. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description tells the user what to expect (kWh/year ± band) and covers both input modes. It also addresses limitations (non-US assumptions) and usage policies, making it complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by clarifying the either/or relationship between systemKw and monthlyBillUsd, which is not evident from the schema alone. It also implies zipCode is central to the estimate, reinforcing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool produces an annual solar production estimate in kWh/year with a range and assumptions, for a ZIP code, from either system size or bill. This specific verb+resource+scope distinguishes it from sibling tools like check_incentives or get_quote_link, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use it for sanity-checking installer quotes or sizing a system before talking to anyone, providing clear context. It doesn't name alternative tools, but the use cases are definitive and distinguish this tool's role from siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_local_installersAInspect

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]

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNoTwo-letter US state code. Use instead of zipCode for a statewide list.
zipCodeNo5-digit US ZIP of the property (ZIP+4 accepted). US-only today.
contractorCategoryNoOptional filter: solar_installation | battery_storage | ev_charger | energy_audit | insulation_weatherization | heat_pump

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it mentions the free/no-API-key nature, and critically discloses the listingStatus and disclosure field, explaining that 'public_listing' companies are NOT EnergyAI partners/vetted and must not be endorsed. This is valuable behavioral context for an agent. Lacks details like pagination or result limits, but not critical.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a bit long but well-structured: purpose, usage, important disclosure, and alternatives. Every sentence serves a purpose; the IMPORTANT warning is necessary to avoid misrepresentation. Not overly verbose, but could be tightened slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description provides necessary context: purpose, free-ness, usage, and a preview of returned data (rating, review count, listingStatus). It also covers disclosure rules. It doesn't enumerate every potential field or error case, but it is sufficient for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds a small nuance ('for a US ZIP or state') implying you need one location parameter, and it lists categories, but the schema already documents each parameter well. No additional syntax or format details are provided, so it does not exceed the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb+resource: 'find' + 'local clean-energy contractors', and specifies the scope (US ZIP or state) and categories (solar, battery, EV charger, etc.). It also differentiates from siblings by explicitly noting it is 'Free' and for when a homeowner asks 'WHO can do the work near them', contrasting with route_lead and get_quote_link.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage guidance is explicit: 'Use when a homeowner asks WHO can do the work near them.' It also provides clear alternatives: 'Prefer route_lead or get_quote_link when the homeowner wants EnergyAI to screen and route an installer to them instead.' This fully covers when-to-use and when-not-to-use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_guideAInspect

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]

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesGuide slug exactly as returned by list_guides (e.g. 'vermont-solar-incentives-2026').

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full behavioral disclosure. It covers free access, alias resolution, missing-topic handling, demand queues, rate limits, and citation requirements. This is thorough and transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence provides useful information. Rate limits are compactly bracketed, and the structure front-loads the core purpose before adding caveats.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema, the description fully covers purpose, behavior, limitations, and usage context. It is complete and self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes the slug parameter precisely, and the description adds value by explaining alias resolution and how missing topics are handled, which directly clarifies parameter behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the full text of an EnergyAI incentive guide by slug, listing specific content types (intro, sections, FAQs, primary sources). This distinguishes it from sibling list_guides, which presumably only lists guide metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides context for use (answering incentive questions with grounded content) and explains behavior for missing topics and rate limits. It does not explicitly name alternative tools, but the reference to list_guides in the schema implies the expected workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_node_scoreAInspect

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]

ParametersJSON Schema
NameRequiredDescriptionDefault
evTypeNoe.g. own_ev | plan_ev | no_ev
countryNoISO 3166-1 alpha-2 country code. Omit for US.
roofAgeNoe.g. lt_5 | 5_15 | gt_15 | unknown
zipCodeNoOptional postal code of the property. US: 5-digit ZIP. Other countries: local postal code (pass country too). Omit it to use documented national assumptions.
backupNeedNoe.g. whole_home | essentials | none
heatingFuelNoe.g. natural_gas | oil | propane | electric_resistance | heat_pump | wood | other
serviceTypeNoPrimary interest: solar | battery | ev_charger | efficiency | heat_pump | unsure
propertyTypeNosingle_family | townhouse | condo | mobile_home | multi_family | commercial | farm | other
outageConcernNorare | occasional | frequent | severe
monthlyBillUsdNoAlternative to monthlyBillRange: average monthly bill in USD.
monthlyBillRangeNolt_75 | 75_150 | 150_250 | 250_400 | gt_400 | unknown
electricalPanelSizeNoe.g. lt_100 | 100_200 | gt_200 | unknown

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It transparently covers rate limits ('20 anonymous calls/caller/24h; then 100 free calls/key/30d'), access requirements ('active Builder required'), and input sensitivity ('More inputs → tighter score'). It also states the output shape (score plus next action).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences, front-loaded with the core purpose and output details, then input flexibility, then constraints. Every sentence contributes value without repeating schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description covers the essential context: output axes, next action, input flexibility, rate limits, and access requirements. It could be more explicit about response format or error behavior, but the tool's informational nature makes this sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for all 12 optional parameters, so the baseline is 3. The description adds meaningful parameter-level guidance by stating 'from whatever property facts you have' and 'More inputs → tighter score', implying any subset is valid and accuracy scales with input richness—this goes beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly defines the tool's output: an 'Energy Node Score (0–100 across 7 axes)' plus a 'single highest-leverage next action', based on 'whatever property facts you have'. This is specific and distinguishes it from siblings like estimate_production or check_incentives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: call it with whatever property facts are available, and 'More inputs → tighter score'. It also notes rate limits and the requirement for an active Builder for sustained use, but it does not explicitly name alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_power_service_quoteAInspect

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]

ParametersJSON Schema
NameRequiredDescriptionDefault
stagedMwNoOptional first-stage load in MW; defaults to the lesser of 4 MW and targetMw.
targetMwYesTarget compute or flexible-load capacity in MW.
coolingModeNounknown
siteLocationYesCounty/state, balancing area, or approximate site. Do not send a street address or contact information.
storageHoursNoOptional available storage duration in hours.
workloadTypeYes
powerEvidenceNoBuyer-stated evidence maturity; confirmed still requires documentary verification.unknown
flexibilityHoursNoHours per week the workload can shift.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and it does well: it discloses the quote is free ('never spends funds', 'always free — no API key required'), time-bound ('15-minute'), and scope-bound, plus it lists the outputs. It does not mention potential persistence or external calls, but key behavioral facts are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, then output and cost/safety. It is appropriately sized, though there is slight redundancy between 'Free and never spends funds' and '[always free — no API key required]', which keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description usefully enumerates return values (quoteToken, price, evidence boundary, authorization class, higher-tier handoffs) and key constraints (time-bound, free, no API key). Some terms like 'authorization class' and 'higher-tier handoffs' remain vague, but the agent has enough to call and interpret the result correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, so the baseline is 3. The description adds only a high-level constraint ('non-sensitive site and workload facts') and does not enrich individual parameter meanings beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Create'), resource ('signed, 15-minute, scope-bound quote'), and scope ('EnergyAI’s $1 Power Screen'). It also distinguishes the deliverable from siblings by explicitly naming the required downstream token ('quoteToken required by run_power_screen'), making the tool's niche unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly implies when to use the tool: when a quoteToken is needed before running run_power_screen, and it indicates the input domain ('non-sensitive site and workload facts'). It does not explicitly list alternatives or state when not to use it, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_guidesAInspect

Index of source-cited, 2026-accurate US home-energy incentive guides (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]

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax guides to return (1–50, default 20).
topicNoFilter by topic: solar | heat_pump | battery | weatherization | overview. Omit for all topics.
regionNoFilter 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.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of disclosure. It discloses rate limits (20 anonymous calls/caller/24h, 100 free calls/key/30d, active Builder required), free access, data quality (source-cited, 2026-accurate), and that each entry includes a canonical URL for citation. It does not explicitly state 'read-only' but 'Index' implies it, and no mutating behavior is described. This is strong context, but not fully exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with the core purpose, and every sentence adds value (index definition, usage guidance, access/rate limits). It is concise without being terse, and the bracketed rate-limit note is useful but separated. No redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains the return shape enough: it's an 'index' where 'every entry includes a canonical URL'. It covers access limits and the relationship to get_guide. For a simple list tool with only three optional filters, this is fairly complete, though it could detail more fields found in entry objects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and parameters (limit, topic, region) have descriptions. The description adds meaning by listing example topics (solar, heat pumps, batteries, weatherization) and specifying regional scope (by state), which aligns with the schema's enum and region examples. It also notes the return includes canonical URLs, giving value beyond schema field names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is an index of home-energy incentive guides by state, with specific verb 'list' implied and resource 'guides'. It distinguishes itself from sibling tool get_guide by explicitly noting it lists available guides while get_guide fetches full text. Scope (US, state-level) and topics are mentioned, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear when-to-use context: 'Use to ground answers about what incentives exist in a state, then fetch the full text with get_guide.' This mentions an alternative tool by name and gives a use case, but does not explicitly state when not to use it or list exclusion scenarios. Therefore it is clear but lacks full when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

route_leadAInspect

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]

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNo
stateNoTwo-letter state code. Derived from ZIP when omitted.
zipCodeYes5-digit US ZIP code of the project (route_lead dispatches into a US installer network only today).
timelineNoe.g. asap | 3_months | 6_months | exploring
budgetRangeNo
consentTextYesEXACT 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.
contactNameYesHomeowner's name.
contactEmailYesHomeowner's email.
contactPhoneNo
propertyTypeNo
consentVersionNoRequired when consentText is not the canonical EnergyAI consent text.
consentTimestampYesWhen the homeowner consented.
monthlyBillRangeNolt_75 | 75_150 | 150_250 | 250_400 | gt_400 | unknown
contractorCategoryYessolar_installation | battery_storage | ev_charger | energy_audit | insulation_weatherization | heat_pump

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It discloses the guarded workflow, immediate screening/routing of approved installers, retention of unmatched projects for follow-up, return of leadId, and that the service is free and does not require an API key. It leaves minor gaps around validation failures and post-submission behavior, but the key behavioral traits are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: purpose appears first, the consent condition immediately follows, and the alternative and free/API-key note are appended without fluff. Every sentence adds meaningful guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter tool with no annotations and no output schema, the description explains the core action, the consent prerequisite, the alternative, and the returned leadId. Minor gaps remain around error handling and follow-up behavior after submission, but schema provides parameter details, so the description is sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 71% across 14 parameters, so the schema already documents most parameter semantics. The description adds emphasis on consentText + consentTimestamp as the essential gating consent fields, but does not deeply explain the other parameters; the schema covers those, and the description does not need to fully compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb and resource: 'Submit a consented homeowner project to EnergyAI’s guarded installer-matching workflow'. It clearly states the screening/routing behavior, the returned leadId, and explicitly names get_quote_link as the alternative, so it distinguishes itself from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states the prerequisite condition ('REQUIRES the homeowner’s explicit consent') and explicitly routes the agent to the alternative: 'Prefer get_quote_link if you don’t already have that consent in hand'. This gives clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Provides free EagleView-style satellite roof measurements and modular Xactimate-style estimating from Google Solar API data, enabling contractors to generate reports and estimates from any address.
    3
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables solar energy feasibility analysis and ROI calculation for Indian users, including irradiance lookup, capacity estimation, subsidy calculation, and environmental impact assessment.
    -
  • F
    license
    A
    quality
    C
    maintenance
    Enables solar energy feasibility analysis and ROI calculation for Indian users, including irradiance lookup, system sizing, cost estimation, subsidy calculation, and environmental impact assessment.
    8
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides free property and parcel intelligence using official US government data APIs, county assessor records, and live listings, with tools for hazard risk checks, affordability calculations, and parcel ranking.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.5/5.0
Disambiguation4/5

Most tools are clearly distinct, but the three installer-related tools (find_local_installers, get_quote_link, route_lead) share the purpose of connecting users to installers and require careful reading of descriptions to avoid misselection. Other overlapping pairs like get_guide/list_guides and check_incentives are well differentiated by dynamic vs. static content.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in lowercase snake_case (check, create, estimate, find, get, list, route). Multiple get_* tools are uniform, and the naming makes the action and object clear. No mixed conventions or vague verbs.

Tool Count5/5

With 10 tools, the server is well-scoped. Each tool serves a distinct role: informational lookup, estimation, guide access, installer connection, and commercial account management. The count is within the ideal 3–15 range and matches the server's broad but coherent purpose.

Completeness5/5

The tool surface covers the core workflows: incentive checks, production estimates, guide exploration, installer discovery/quoting/lead routing, and commercial key management. No significant gaps are apparent; the only minor limitation is that installer tools are US-focused, but that seems intentional given the US-based guides and incentives data.