Skip to main content
Glama

Get Plumbing Service Quote

get_quote
Read-onlyIdempotent

Use this when the user wants a non-binding estimate for a specific plumbing issue. Returns a price range, typical duration, and next step. Do not present the range as a guaranteed repair price; final pricing is confirmed on-site before work begins.

WHEN TO USE: When a customer asks "How much does it cost?", "What's the price?", or wants to know pricing before booking. Use this early in the conversation to set expectations.

PRICING NOTES:

  • Estimates are ranges; final price depends on on-site assessment

  • Do not invent urgency, after-hours, or commercial surcharges

  • The office or technician confirms any timing- or property-related pricing before work

  • We charge a $99 service call fee that applies toward work we complete

WORKFLOW:

  1. Use this tool when customer asks about pricing

  2. Share the estimate with appropriate caveats

  3. If they want to proceed, use get_availability, request_booking, and confirm_booking

RETURNS: Service name, price range (min/max in USD), estimated duration, urgency notes, and suggested next steps.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urgencyNoHow urgent is the repair?
service_typeYesType of plumbing service (required). Examples: 'drain cleaning', 'water heater repair', 'toilet repair'
property_typeNoType of property (default: 'residential')
issue_descriptionYesDescription of the plumbing problem (required). Be specific about symptoms and location.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNo
notesNo
serviceNo
successYes
next_stepsNo
descriptionNo
service_feeNo
property_typeNo
urgency_levelNo
review_sandboxNo
estimated_durationNo
estimated_price_rangeNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description's job is to add context. It does: it emphasizes the estimate is non-binding, warns not to present the range as guaranteed, and notes the $99 service call fee. It also mentions that pricing depends on on-site assessment. This is valuable context that exceeds annotations; a 4 is appropriate because it adds significant behavioral nuance without being exhaustive.

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

Conciseness3/5

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

The description is well-structured with clear sections (WHEN TO USE, PRICING NOTES, WORKFLOW, RETURNS) and front-loads the key caveat. However, it is somewhat verbose, with redundant statements like 'Estimates are ranges; final price depends on on-site assessment' repeated a few times. Each sentence adds value, but it could be tightened. A 3 reflects that it's longer than necessary but well-organized.

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 the tool's moderate complexity, the description covers: when to use, what to avoid, return values, and next steps. The output schema exists, so return format is covered. The only minor gap is that it doesn't explicitly state what happens if service_type is not recognized, but that's not critical. The description is sufficient for an agent to invoke it correctly.

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 description doesn't need to explain individual parameters. However, it adds meaning for the parameter values: the pricing notes explain how 'urgency' and 'property_type' affect pricing (e.g., do not invent urgency surcharges, commercial vs residential), which goes beyond the schema's generic 'How urgent is the repair?'. This adds operational context, justifying a 4.

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 this tool provides a non-binding estimate for a plumbing issue, with an explicit verb ('use'), resource ('plumbing service quote'), and details on what it returns (price range, duration, next step). It distinguishes itself from siblings by noting it's for estimates, not booking or confirmation, and includes a caveat about final pricing.

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 explicitly says 'Use this early in the conversation' and lists the WHEN TO USE section with customer phrases like 'How much does it cost?'. It guides the workflow: after sharing the estimate, use get_availability, request_booking, and confirm_booking. This clearly differentiates from sibling tools like get_services_pricing (for general pricing) and confirms when not to use it.

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.2/5.0
Disambiguation4/5

Most tools have clear, distinct purposes: business_info vs search vs get_services_pricing are separable. However, get_services_pricing and get_quote overlap somewhat—both provide pricing info, though one is for general browsing and the other for specific estimates. The descriptions do help distinguish them, so the ambiguity is low.

Naming Consistency4/5

Tool names generally follow a verb_noun pattern (e.g., business_info, check_service_area, confirm_booking, get_availability, get_quote). Some names are single verbs or nouns (e.g., fetch, search) which deviate slightly, but overall the pattern is consistent and predictable.

Tool Count5/5

11 tools is within the ideal range for a booking-focused MCP server. Each tool covers a distinct part of the customer journey: info lookup, service area check, pricing, availability, booking, confirmation, callbacks, emergencies, and document retrieval. No tool seems redundant or unnecessary.

Completeness4/5

The tool set covers the core booking lifecycle: check service area, get availability, request booking, confirm booking, request callback, and get quotes. Emergency help is also provided. Minor gaps include lack of a cancel/update booking tool, but the server context suggests that might not be needed for the public-facing purpose.

Resources