Skip to main content
Glama

solar-home-incentives

find_local_installers

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]

Input Schema

TableJSON 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.

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.