Solar Quote Audit — Check Before You Sign
Server Details
Free independent solar proposal review tool for California homeowners. Audit your solar quote for pr
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
TDQS
Scored across 3 tools
Each tool has a clear, separate responsibility: analyzing quotes, returning the scoring methodology, and listing supported regions. There is no overlap or ambiguity in selecting among them.
All tool names follow a snake_case verb_object pattern: analyze_solar_quote, get_scoring_methodology, and get_supported_regions. The verbs differ appropriately, but the naming style is consistent throughout.
Three tools is an appropriate scope for a niche decision-support server: one core analysis action and two static reference endpoints. There is no unnecessary duplication or bloat.
The tool surface fully supports the stated purpose: analyze a quote, understand the methodology, and check region availability. There are no obvious missing operations for this read-only advisory use case.
Available Tools
3 toolsanalyze_solar_quoteAInspect
Analyze a residential solar proposal for clarity and completeness before a homeowner signs. Accepts the pricing, financing, system/battery, and installer details from a quote and returns a structured second-opinion review: a Quote Clarity Score (0-100) across four dimensions (Price Transparency /25, Financing & Contract Clarity /30, System & Battery Evidence /25, Installer & Protection Readiness /20), an overall rating, plain-language red flags, missing information, specific questions to ask the installer, and a recommended next step. Illustrative educational decision support only — not legal, tax, financial, or engineering advice, does not guarantee savings or system performance, does not endorse any installer, and takes no consequential action.
| Name | Required | Description | Default |
|---|---|---|---|
| apr | No | Annual percentage rate for financing. | |
| crewType | No | Installation crew model. | |
| cashPrice | No | Total cash price for the system in USD. | |
| termYears | No | Financing term in years. | |
| panelCount | No | Number of solar panels. | |
| panelModel | No | Solar panel brand and model. | |
| downPayment | No | Down payment in USD. | |
| financeType | No | How the system is paid for. | |
| roofingCost | No | Roofing add-on cost in USD. | |
| batteryCount | No | Number of battery units. | |
| batteryModel | No | Battery brand and model. | |
| escalatorPct | No | Annual payment escalator percentage (0 if none). | |
| systemSizeKw | No | System size in kilowatts (kW). | |
| financedPrice | No | Total financed price in USD, if different from cash. | |
| installerName | No | Installer company name. | |
| licenseNumber | No | Contractor (CSLB) license number. | |
| totalPayments | No | Total of all payments over the term in USD. | |
| monthlyPayment | No | Monthly payment in USD. | |
| batteryIncluded | No | True if a battery is included in the proposal. | |
| otherAddonsCost | No | Other itemized add-on costs in USD. | |
| panelUpgradeCost | No | Electrical panel upgrade cost in USD. | |
| bondInsuranceShown | No | True if bond/insurance documentation is shown. | |
| buyoutLanguageShown | No | True if lease/PPA buyout language is present. | |
| annualUsageAvailable | No | True if the installer confirmed sizing against your actual annual kWh usage. | |
| batteryPriceSeparate | No | Battery cost as a separate line item in USD. | |
| installTimelineShown | No | True if an install timeline is shown. | |
| cancellationInfoShown | No | True if cancellation/rescission rights are shown. | |
| earlyPayoffTermsShown | No | True if early payoff terms are disclosed. | |
| installerAddressShown | No | True if a physical installer address is shown. | |
| transferLanguageShown | No | True if contract transfer terms are disclosed. | |
| ptoResponsibilityShown | No | True if PTO/interconnection responsibility is stated. | |
| roofPenetrationWarranty | No | True if a roof penetration warranty is stated. | |
| annualProductionEstimate | No | Quoted annual production estimate in kWh. | |
| batteryUsableCapacityKwh | No | Battery usable capacity in kWh. | |
| workmanshipWarrantyYears | No | Workmanship warranty duration in years. | |
| warrantyRegistrationExplained | No | True if warranty registration is explained. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden and does so well: it details the returned review components, notes it takes no consequential action, and includes important disclaimers about being educational only, not endorsing installers, and not guaranteeing savings or performance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences front-load the purpose and timing, then describe the output contract and necessary safety disclaimers. Every sentence earns its place, and there is no filler or repetition despite the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description fully specifies what the tool returns: score components with weightings, overall rating, red flags, missing information, questions to ask, and a next step. Combined with comprehensive schema coverage and clear disclaimers, the agent has enough context to invoke the tool and set user expectations correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 36 parameters are already documented in the input schema, so the schema provides the field-level semantics. The description only groups parameters into broad categories ('pricing, financing, system/battery, and installer details'), which is useful organization but does not add meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Analyze'), a specific resource ('residential solar proposal'), and the decision context ('before a homeowner signs'). It also lists the concrete outputs, making it clearly distinct from the sibling get_scoring_methodology and get_supported_regions tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes when to use the tool with 'before a homeowner signs' and provides substantial context about its educational, non-advisory role. It does not explicitly name alternatives or exclusion conditions, but the sibling tool names and this tool's purpose leave little ambiguity about selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scoring_methodologyAInspect
Return the fixed, published scoring methodology used by the Solar Quote Audit: the four scoring dimensions, their point weights, the individual rules within each dimension, and the rating thresholds. Takes no arguments.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure and does so well: 'Return' indicates a read-only retrieval, 'fixed, published' signals deterministic, non-changing data, and 'Takes no arguments' confirms there are no inputs required. It could have added detail about output formatting, but for a zero-argument tool the disclosed behavior is largely sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured sentence that front-loads the core purpose and then details the specific information returned. Every element earns its place; there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument tool with no output schema, the description fully covers what an agent needs to know: what the tool returns, the specific components included, and that no arguments are required. The tool's simplicity means nothing important is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema already documents this completely. The description reinforces this with 'Takes no arguments,' which is helpful and unambiguous. No additional parameter meaning is needed since there are no parameters to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Return' and precisely names the resource: the fixed, published scoring methodology used by the Solar Quote Audit. It enumerates the exact contents included (four scoring dimensions, point weights, individual rules, rating thresholds), making the tool's purpose unmistakable. This clearly differentiates it from siblings like analyze_solar_quote, which would analyze a quote, and get_supported_regions, which returns regional data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes clear this is the tool for retrieving the official scoring methodology, providing strong contextual guidance. It does not explicitly name alternatives or state when not to use it, but the stated scope ('fixed, published scoring methodology') makes its usage context easy to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_supported_regionsAInspect
Return the California city editions the Solar Quote Audit supports, including each city name and its primary electric utility. Takes no arguments.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It clearly indicates a read-only retrieval operation ('Return') and specifies what the output contains, while also noting that no arguments are required. It does not mention error conditions or data freshness, but for a simple no-argument list tool this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the main purpose and includes the key output details without any filler or redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless read-only tool, the description is complete: it explains what the tool returns, what the content includes, and that no input is needed. No output schema exists, so the explicit return-value description is especially valuable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and descriptions cover 100% of the schema, so the baseline is 4. The description explicitly states 'Takes no arguments,' reinforcing what an agent already sees in the schema with no ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return'), names the exact resource (California city editions supported by Solar Quote Audit), and specifies the content (city name and primary electric utility). This clearly distinguishes it from the sibling tools, which analyze quotes or return scoring methodology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool—whenever an agent needs the list of supported California cities and their utilities. However, it does not explicitly state when not to use it or compare it to alternatives like analyze_solar_quote or get_scoring_methodology.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
analyze_solar_quote - First observed
get_scoring_methodology - First observed
get_supported_regions
Related MCP Connectors
Solar and home energy discovery: estimates, incentive sources, guides and contractor options.
California Solar Cost Calculator: the site's own MCP server — calculator, enquiry (enquiry = a...
GB solar/battery comparisons and Ofgem rates. Five trial calls, then 0.01 USDC per eligible call.
Solar quotes for Brazilian installers: kWp sizing, own pricing, payback under Law 14.300, PDF.
Related MCP Servers
- AlicenseAqualityBmaintenanceGenerates deterministic solar and energy storage system preliminary proposal calculations from structured customer inputs.1MIT
- FlicenseNot gradedqualityCmaintenanceEnables solar energy feasibility analysis and ROI calculation for Indian users, including irradiance lookup, capacity estimation, subsidy calculation, and environmental impact assessment.-
- FlicenseAqualityCmaintenanceEnables solar energy feasibility analysis and ROI calculation for Indian users, including irradiance lookup, system sizing, cost estimation, subsidy calculation, and environmental impact assessment.8-

RoofMeasure MCPofficial
AlicenseAqualityBmaintenanceProvides 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.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.