BidBud Estimating
Server Details
Home-improvement cost estimates, tier comparisons, quote checks and permit guidance for US homes.
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 5 tools
Each tool has a stated 'when to use' that separates them: estimate_project prices a scope, check_quote judges an existing contractor price, compare_tiers shows all three quality levels, get_permit_guidance and list_services are clearly distinct. The main residual overlap is that compare_tiers is essentially estimate_project repeated across tiers, and check_quote re-prices the same scope, so an agent could pick a heavier tool than needed.
All five names are snake_case verb_noun pairs (check_quote, compare_tiers, estimate_project, get_permit_guidance, list_services). The verb choice is also semantically meaningful (check vs compare vs estimate vs get vs list), reinforcing rather than muddying the pattern.
Five tools is a tight, well-scoped set for a cost-estimating assistant, and each maps to a distinct homeowner question. It is slightly thin, however: compare_tiers largely duplicates estimate_project functionality and could arguably be a flag on that tool rather than its own entry.
The surface covers the core workflow: discover services, estimate cost, compare quality tiers, sanity-check a contractor quote, and check permit/licensing context. Minor gaps remain — no way to compare multiple contractor quotes side by side, save/retrieve a prior estimate, or adjust an existing estimate without re-entering all inputs.
Available Tools
5 toolscheck_quoteCheck whether a contractor quote is fairARead-onlyIdempotentInspect
Compare a contractor's quoted price with BidBud's likely range for the same scope.
Prices the scope at economy, mid-range and premium quality and judges the
quote against the likely range (confidence band) of the quality level being
compared. Verdicts: "low" (below the range: ask what is excluded), "fair",
"high" (above the range but within premium pricing) and "very_high" (above
even the premium range).
When to use: a homeowner has a contractor's price and asks whether it is
reasonable.
Limits: judges the price only, not the contractor, workmanship or exact
materials; US residential homes only; a planning comparison, not an
appraisal or a bid.
Args:
quoted_price: The contractor's total price in USD for the listed services.
home_sqft: Finished square footage of the home.
num_rooms: Number of rooms.
services: The services the quote covers.
quality_tier: Quality level the quote is for: "economy", "medium"
(mid-range, default) or "high" (premium).
zip_code: US ZIP code of the property, for regional labor pricing.
state: Two-letter state code, used when the ZIP is unknown.
stories: Above-grade stories (1, 1.5, 2 or 3; default 1).
flooring_type: For flooring quotes: carpet, tile, vinyl, hardwood or mix.
num_windows: For window quotes: number of windows being replaced.
roof_pitch: Roof slope if known: low, standard, steep or very_steep.
roof_shape: gable, hip or complex.
home_type: detached, townhouse_end, townhouse_middle or condo.
year_built: Year the home was built (before 1978 adds lead-safe work practices).
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | ||
| stories | No | ||
| services | Yes | ||
| zip_code | No | ||
| home_sqft | Yes | ||
| home_type | No | ||
| num_rooms | Yes | ||
| roof_pitch | No | ||
| roof_shape | No | ||
| year_built | No | ||
| num_windows | No | ||
| quality_tier | No | medium | |
| quoted_price | Yes | ||
| flooring_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint, idempotentHint, destructiveHint=false), so the description focuses on value-add: it explains the four verdicts and what each implies ('low' means ask what is excluded), and it states what the tool does NOT assess (contractor, workmanship, materials) plus the US-residential limitation. For a read-only comparison tool, that is comprehensive behavioural disclosure.
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 front-loaded with purpose, then verdict definitions, when-to-use, limits, and a structured Args block. The length is justified by the 14-parameter schema with zero description coverage, and no sentence is decorative.
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?
Although an output schema exists, the description still explains verdict semantics so an agent can interpret the result directly. Combined with the limits section and full parameter documentation, an agent has everything needed to decide when to call it and how to populate all required and optional fields.
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?
Schema description coverage is 0%, so the description must carry all 14 parameters—and it does. Each arg gets a short gloss, including units (USD, square feet), enums and defaults (quality_tier medium, stories 1), conditional relationships (state used when ZIP unknown; year_built before 1978 triggers lead-safe practices) and service-specific fields (flooring_type, num_windows). This adds genuine meaning beyond the bare schema.
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 opens with a specific verb+resource: comparing a contractor's quoted price against BidBud's likely range for the same scope. It clearly distinguishes this from siblings like estimate_project (no quote given) and compare_tiers (comparing quality tiers rather than validating a price). The verdict vocabulary further pins down what the tool produces.
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?
It gives an explicit when-to-use trigger ('a homeowner has a contractor's price and asks whether it is reasonable') and a scope-limiting section ('judges the price only... US residential homes only; a planning comparison, not an appraisal or a bid'). It does not, however, name the sibling alternative to use when no contractor quote exists, so it stops short of the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_tiersCompare quality tiersARead-onlyIdempotentInspect
Price the same project at economy, mid-range and premium quality side by side.
When to use: the homeowner asks "what's the difference between a basic and a
high-end job?" or wants to choose a budget level.
Limits: US residential homes only; tiers reflect typical materials and labor
at each level, not specific products or brands; planning estimates, not bids.
Args:
home_sqft: Finished square footage of the home (200-20000).
num_rooms: Number of rooms (1-50).
services: Services to price, e.g. ["flooring", "painting"].
zip_code: 5-digit US ZIP code of the property, for regional labor pricing.
state: Two-letter state code, used when the ZIP is unknown.
stories: Above-grade stories (1, 1.5, 2 or 3; default 1).
flooring_type: For flooring only: carpet, tile, vinyl, hardwood or mix.
num_windows: For windows only: actual window count, if known.
include_permits: Add estimated permit fees.
include_contingency: Add a 10% contingency allowance.
Returns the total for each tier, a per-service breakdown for each tier, and
each service's totals across the three tiers.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | ||
| stories | No | ||
| services | Yes | ||
| zip_code | No | ||
| home_sqft | Yes | ||
| num_rooms | Yes | ||
| num_windows | No | ||
| flooring_type | No | ||
| include_permits | No | ||
| include_contingency | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds real value beyond that: it clarifies that tiers reflect typical materials and labor rather than specific products, and that results are planning estimates, not bids — setting expectations about precision that annotations cannot convey.
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?
Structure is front-loaded and purposeful: one-line purpose, then when-to-use, limits, args, returns. Every section earns its place for a ten-parameter tool, and no sentence is redundant filler.
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?
An output schema exists, yet the description still briefly orients the agent to the return shape (per-tier totals, per-service breakdown, cross-tier totals) without over-explaining. Combined with the limits section and full parameter documentation, an agent has everything needed to call this 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?
Schema description coverage is 0%, so the description carries the full documentation burden, and it does: it lists all ten parameters with meaningful constraints (sqft 200-20000, rooms 1-50, 5-digit ZIP, 1/1.5/2/3 stories), notes conditional applicability (flooring_type only for flooring, num_windows only for windows), and explains fallback semantics (state used when ZIP is unknown) plus the 10% contingency value.
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 opening line names a specific verb and resource ('Price the same project at economy, mid-range and premium quality side by side'), which is immediately distinguishable from a single-project sibling like estimate_project. An agent can tell this is the multi-tier comparison tool without opening the schema.
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 'When to use' block gives a concrete trigger ('what's the difference between a basic and a high-end job?') and the 'Limits' block scopes applicability to US residential homes and planning estimates rather than bids. It does not name a sibling alternative such as estimate_project for single-scenario pricing, so routing against siblings is left partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_projectEstimate a home-improvement projectARead-onlyIdempotentInspect
Estimate the cost of one or more home-improvement services for a US home.
When to use: the homeowner wants to know what a job should cost, for
example before asking contractors for bids.
Limits: US residential homes only, one property per call. A planning
estimate from national cost data with metro-area or state labor rates, not
a bid; actual prices depend on the site, the scope and the local market.
Args:
home_sqft: Finished square footage of the home (200-20000).
num_rooms: Number of rooms (1-50). Used to derive wall area.
services: Services to price, e.g. ["painting", "roofing"].
quality_tier: "economy", "medium" (mid-range) or "high" (premium).
zip_code: 5-digit US ZIP code of the property. Applies metro-area (or
state) labor-rate adjustments; strongly recommended.
state: Two-letter state code, used when the ZIP is unknown.
stories: Above-grade stories (1, 1.5, 2 or 3; default 1). Drives roof
area, siding area and gutter length for exterior services.
flooring_type: For flooring only: carpet, tile, vinyl, hardwood or mix.
num_windows: For windows only: actual window count, if known.
ceiling_height_ft: Override the default 8.5 ft ceiling height.
roof_sqft: Override the roof area derived from home size.
include_permits: Add estimated permit fees as separate lines.
include_contingency: Add a 10% contingency line for conditions found on site.
include_line_items: Include itemized quantities and unit costs.
roof_pitch: Roof slope if known: low, standard, steep or very_steep.
Steep roofs add area and a steep-slope labor surcharge.
roof_shape: gable, hip or complex; sets the gutter/eave length.
home_type: detached, townhouse_end, townhouse_middle or condo; shared
walls reduce siding, trim and gutters (condo exteriors are flagged
as usually the HOA's responsibility).
year_built: Year the home was built. Before 1978 adds EPA lead-safe
(RRP) work practices to painting, windows and drywall.
Each property detail you pass narrows the likely range for the
services it affects.
Returns totals per service, a confidence range, the main assumptions, and
questions to ask the homeowner that would tighten the estimate.
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | ||
| stories | No | ||
| services | Yes | ||
| zip_code | No | ||
| home_sqft | Yes | ||
| home_type | No | ||
| num_rooms | Yes | ||
| roof_sqft | No | ||
| roof_pitch | No | ||
| roof_shape | No | ||
| year_built | No | ||
| num_windows | No | ||
| quality_tier | No | medium | |
| flooring_type | No | ||
| include_permits | No | ||
| ceiling_height_ft | No | ||
| include_line_items | No | ||
| include_contingency | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, and the description adds genuinely new context: national cost data with metro/state labor-rate adjustments, the confidence-range nature of the output, and caveats that actual prices depend on site, scope and local market. It also notes condo exteriors may fall to the HOA, a useful behavioral nuance.
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?
Front-loaded purpose, then When to use, Limits, Args and Returns — a structure that scales to 18 parameters. It is long, but nearly every line carries decision-relevant information; a few entries (e.g. the closing 'each property detail narrows the likely range') are restatements.
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 complex 18-parameter estimation tool, the description covers scope, estimation methodology, limitations, per-parameter semantics and optional add-ons. An output schema exists, so the brief mention of returns (totals, confidence range, assumptions, follow-up questions) is sufficient rather than redundant.
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?
Schema description coverage is 0%, so the description carries the whole burden — and it does: each of the 18 parameters gets meaning, units, valid ranges, defaults, or derived effects (e.g. num_rooms drives wall area, stories drives roof/siding/gutter length, year_built pre-1978 adds RRP practices, roof_pitch steep adds a labor surcharge). This is meaning the bare schema cannot convey.
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?
Opens with a specific verb and resource ('Estimate the cost of one or more home-improvement services for a US home'), and the scope statement (planning estimate, not a bid) distinguishes it from check_quote and compare_tiers without needing their schemas.
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?
Explicit 'When to use' trigger (homeowner wants to know what a job should cost before soliciting bids) plus clear limits (US residential only, one property per call, planning estimate not a bid). It doesn't explicitly name or route against the sibling tools, so it stops short of full alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_permit_guidanceGet permit guidanceARead-onlyIdempotentInspect
Say whether each service typically needs a building permit, with typical fees, and (when a state is given) the state's building code, code authority and contractor licensing resources.
When to use: the homeowner asks whether a job needs a permit, or how to
check a contractor's license in their state.
Limits: typical requirements only; local rules vary, so confirm with the
local building department. General guidance, not legal advice.
Args:
services: Services being planned, e.g. ["roofing", "electrical"].
state: Two-letter US state code, e.g. "PA".
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | ||
| services | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/no-destruction, and the description adds real context beyond them: it discloses that state-level code/authority/licensing content is conditional on the state argument and that results are typical, non-authoritative, and not legal advice. That reliability caveat is the kind of trait annotations cannot express.
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?
Purpose is front-loaded, then usage, then limits, then a compact Args block for the two parameters. Every sentence does work and nothing is padded, though the prose sentence and the Args block overlap slightly in scope.
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?
An output schema exists, so return-shape explanation is unnecessary, and the state-conditional behavior plus the 'verify with local building department' caveat covers what an agent needs before calling. The only residual gap is the unmentioned enum constraint on services.
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?
Schema description coverage is 0%, so the description has to carry the load, and it does: it explains services is the set of planned jobs with an example list and that state is a two-letter code with an example, plus the conditional effect of supplying state. It omits that services is drawn from a fixed enum (13 allowed values), which the agent must infer from the schema.
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 first sentence states a specific verb (say whether... needs a permit) plus the resources returned (fees, state code, code authority, licensing resources), so the agent knows exactly what comes back. It does not name any sibling tool (check_quote, estimate_project, list_services) to draw a contrast, which keeps it at a 4 rather than a 5.
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?
An explicit 'When to use' clause names the two triggering questions (does a job need a permit, how to check a contractor's license) and the 'Limits' clause tells the agent the output is typical-only and must be confirmed locally. It stops short of naming an alternative sibling for adjacent questions like cost estimation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_servicesList supported servicesARead-onlyIdempotentInspect
List the home-improvement services BidBud can estimate, the quality tiers, accepted input ranges, and which services get metro-area or state labor pricing.
When to use: first, when unsure whether a job is supported or which details
to ask the homeowner for.
Limits: US residential homes only; only the services listed here.| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world behavior. The description adds meaningful scope boundaries: US residential homes only, and only the services listed here. No annotation contradiction.
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?
Front-loads what is returned, then labels usage and limits. Every sentence earns its place with no repetition of schema or annotations.
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 zero parameters, rich annotations, and an output schema, the description provides everything an agent needs to decide when to call it and what scope constraints apply. Return-value detail is appropriately delegated to the output schema.
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, so there is no parameter semantics to explain; baseline is 4. The description correctly avoids irrelevant parameter detail.
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?
States a specific verb and resource: listing the home-improvement services BidBud can estimate, plus the extra catalog dimensions (quality tiers, input ranges, pricing geography). This distinguishes it from estimation or comparison siblings by framing it as discovery/scope checking.
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?
Explicitly says when to use it: first, when unsure whether a job is supported or what details to ask the homeowner for. It does not name alternatives such as estimate_project or compare_tiers, but the usage condition is clear.
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.
5 tool updates
- First observed
check_quote - First observed
compare_tiers - First observed
estimate_project - First observed
get_permit_guidance - First observed
list_services
Related MCP Connectors
Contractor quotes for US homeowners: start a request, see cost ranges with their sources.
Real quotes from local US contractors for property jobs, ranked in ~48h, plus fair-price checks.
Get quotes from local shops for a home repair or project anywhere in the US. Free for homeowners.
Local US home-service pricing, providers ranked by the Vouched Score, rebates, and glossary.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceCheck if a contractor's remodeling bid is fair — analyze a quote (fairness score + red flags), get 2026 cost estimates by city, and look up BLS trade labor rates.-
- AlicenseNot gradedqualityCmaintenanceEnables an assistant to check whether backyard projects like fences, decks, sheds or pools need a building permit in US cities under cited IRC and local code rules, returning the governing code lines and the city's permit fees. It also computes material takeoffs such as posts, rails, concrete bags, decking, gravel and pavers, plus BLS trade wages.MIT

costkits-mcpofficial
AlicenseAqualityCmaintenanceProvides live US healthcare cost data including procedure cost estimates, provider pricing, insurance coverage rules, and medical bill analysis using real hospital transparency and CMS data.1267 npmMIT- FlicenseNot gradedqualityDmaintenanceProvides home renovation guidance including building info, recent deals, permit procedures, checklists, and contractor verification based on address, powered by Korean public data.-
Glama MCP Gateway
Add one secure layer between your agents and this server.