Skip to main content
Glama

review_installer_quote

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]

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNo
stateNo
apiKeyNoOptional 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.
countryNoUS
quoteTextYesRedacted installer quote text. Exclude names, contact details, street addresses and account/proposal identifiers. Returns source-matched questions; no independent verification or human review.
postalCodeNoProperty ZIP or local postal code. Required when assessmentId is omitted.
serviceTypeNosolar
assessmentIdNoOptional existing EnergyAI assessment id. Omit when supplying postalCode for automatic project creation.
propertyTypeNoother
monthlyBillRangeNounknown

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / quoteText / description
      Previous value: -"Installer quote text, including price, system size, equipment, financing, and warranties when available."New value: +"Redacted installer quote text. Exclude names, contact details, street addresses and account/proposal identifiers. Returns source-matched questions; no independent verification or human review."
    • addedInput schema / properties / quoteText / maxLength
      Added value: +6000
  2. Changed12 schema fields changed
    • addedInput schema / anyOf
      Added value: +[
      +  {
      +    "required": [
      +      "assessmentId"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "postalCode"
      +    ]
      +  }
      +]
    • addedInput schema / properties / apiKey
      Added value: +{
      +  "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"
      +}
    • addedInput schema / properties / assessmentId / description
      Added value: +"Optional existing EnergyAI assessment id. Omit when supplying postalCode for automatic project creation."
    • addedInput schema / properties / city
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / country
      Added value: +{
      +  "default": "US",
      +  "enum": [
      +    "US",
      +    "CA",
      +    "GB",
      +    "DE",
      +    "AU",
      +    "OTHER"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / monthlyBillRange
      Added value: +{
      +  "default": "unknown",
      +  "enum": [
      +    "lt_75",
      +    "75_150",
      +    "150_250",
      +    "250_400",
      +    "gt_400",
      +    "unknown"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / postalCode
      Added value: +{
      +  "description": "Property ZIP or local postal code. Required when assessmentId is omitted.",
      +  "type": "string"
      +}
    • addedInput schema / properties / propertyType
      Added value: +{
      +  "default": "other",
      +  "enum": [
      +    "single_family",
      +    "townhouse",
      +    "condo",
      +    "rental",
      +    "commercial",
      +    "farm",
      +    "other"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / quoteText / description
      Previous value: -"The installer quote text to review."New value: +"Installer quote text, including price, system size, equipment, financing, and warranties when available."
    • addedInput schema / properties / serviceType
      Added value: +{
      +  "default": "solar",
      +  "enum": [
      +    "solar",
      +    "battery",
      +    "ev_charger",
      +    "efficiency",
      +    "heat_pump",
      +    "unsure"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / state
      Added value: +{
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "assessmentId",
      -  "quoteText"
      -]New value: +[
      +  "quoteText"
      +]
  3. First observed

TDQS

A4/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 does reasonably well: it discloses automation, explicit unknowns, non-verification of human review/price/incentives, versioned results, optional Builder payment handoff, and even per-call cost. It does not fully explain payment-handoff side effects or data persistence, but the behavioral caveats are substantive.

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 with the core return value and input constraints. Every sentence adds information: input requirements, non-verification caveats, result/versioning/payment-handoff behavior, and cost. There is no filler or repetition of schema details.

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

Completeness3/5

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

For a 10-parameter tool with no output schema or annotations, the description covers the essential call path (quoteText plus postalCode/assessmentId) and warns about verification limits. However, it leaves optional parameters unexplained, does not describe the shape of the versioned result, and gives only a vague mention of the Builder payment handoff. It is adequate for a basic call but not fully complete.

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

Parameters2/5

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

Schema description coverage is only 40%, so the description must compensate for the six undocumented parameters. It does explain quoteText redaction and max length and the postalCode/assessmentId relationship, but it says nothing about city, state, country, serviceType, propertyType, or monthlyBillRange. The omission of serviceType is especially notable since it likely affects source-matched terms.

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 states a specific action ('Return') and a specific deliverable ('source-matched terms and practical installer questions') derived from redacted quoteText. It also scopes the input to quoteText plus postalCode or an assessmentId, which distinguishes it from general quote, incentive, or installer-matching siblings.

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 clearly frames when to use the tool: with redacted installer quote text plus either postalCode or an account-owned assessmentId. It also sets expectations that human review, price fairness, and incentive eligibility are not verified. It does not explicitly name sibling tools as alternatives, but the usage context is clear.

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.