remodeleriq
What this MCP does
Analyzes and compares home-remodeling bids, estimates regional project costs and labor rates, and reports aggregate bid-risk statistics.
Tools
Input schema
{'type': 'object', 'required': ['bid_text'], 'properties': {'bid_text': {'type': 'string', 'description': "The full text of the contractor's bid/estimate (line items, terms, scope)."}, 'bid_total': {'type': 'number', 'description': 'The total dollar amount of the bid, if known.'}, 'state_code': {'type': 'string', 'description': "Two-letter US state code (e.g. 'TX', 'GA') for localized labor/legal context. Defaults to GA."}, 'finish_tier': {'enum': ['builder_grade', 'mid', 'semi_custom', 'custom', 'luxury'], 'type': 'string', 'description': 'Quality tier of finishes specified in the bid.'}, 'scope_depth': {'enum': ['cosmetic', 'pull_and_replace', 'full_gut', 'addition'], 'type': 'string', 'description': 'Depth of work: cosmetic (paint/fixtures only), pull_and_replace (replace but not reconfigure), full_gut (down to studs), addition (new square footage).'}, 'square_footage': {'type': 'number', 'description': 'Project area in square feet, if known (e.g. 200 for a bathroom, 400 for a kitchen).'}}}
Output schema
{'type': 'object', 'required': ['confidence_score', 'verdict', 'summary', 'red_flags', 'missing_items', 'negotiation_talk_track'], 'properties': {'_meta': {'type': 'object'}, 'summary': {'type': 'string'}, 'verdict': {'type': 'string'}, 'red_flags': {'type': 'array', 'items': {'type': 'object', 'required': ['level', 'issue', 'detail', 'fix', 'flag_id'], 'properties': {'fix': {'type': 'string'}, 'issue': {'type': 'string'}, 'level': {'enum': ['critical', 'high'], 'type': 'string'}, 'detail': {'type': 'string'}, 'flag_id': {'type': 'string', 'description': 'Stable taxonomy ID (e.g. PAY_DEPOSIT_EXCESSIVE)'}}}}, 'missing_items': {'type': 'array', 'items': {'type': 'string'}}, 'score_breakdown': {'type': 'object', 'properties': {'final': {'type': 'number'}, 'price_weight': {'type': 'number'}, 'scope_weight': {'type': 'number'}, 'price_realism': {'type': 'number'}, 'contract_weight': {'type': 'number'}, 'contract_clarity': {'type': 'number'}, 'scope_completeness': {'type': 'number'}}}, 'confidence_score': {'type': 'number', 'description': '0–100 bid confidence score'}, 'negotiation_talk_track': {'type': 'array', 'items': {'type': 'string'}}}}
Input schema
{'type': 'object', 'required': ['bids'], 'properties': {'bids': {'type': 'array', 'items': {'type': 'object', 'required': ['bid_text'], 'properties': {'label': {'type': 'string', 'description': "Display name for this bid (e.g. 'Acme Remodeling'). Defaults to 'Bid A', 'Bid B'…"}, 'bid_text': {'type': 'string', 'description': 'Full text of the contractor bid/estimate.'}, 'bid_total': {'type': 'number', 'description': 'Total dollar amount of the bid, if known.'}, 'state_code': {'type': 'string', 'description': 'Two-letter US state code. Defaults to GA.'}, 'finish_tier': {'enum': ['builder_grade', 'mid', 'semi_custom', 'custom', 'luxury'], 'type': 'string'}, 'scope_depth': {'enum': ['cosmetic', 'pull_and_replace', 'full_gut', 'addition'], 'type': 'string'}, 'square_footage': {'type': 'number'}}}, 'maxItems': 5, 'minItems': 2, 'description': '2–5 contractor bids to compare side-by-side.'}}}
Output schema
{'type': 'object', 'required': ['bid_count', 'bids', 'cost_comparison', 'scope_gaps', 'apples_to_apples'], 'properties': {'bids': {'type': 'array', 'items': {'type': 'object', 'properties': {'label': {'type': 'string'}, 'total': {'type': 'number'}, 'verdict': {'type': 'string'}, 'top_flags': {'type': 'array'}, 'high_flags': {'type': 'number'}, 'adjusted_total': {'type': 'number'}, 'critical_flags': {'type': 'number'}, 'confidence_score': {'type': 'number'}}}}, '_meta': {'type': 'object'}, 'winner': {'type': 'object', 'properties': {'label': {'type': 'string'}, 'reason': {'type': 'string'}}}, 'all_flags': {'type': 'array', 'description': 'All critical and high-severity flags across every bid.'}, 'bid_count': {'type': 'number'}, 'scope_gaps': {'type': 'array', 'description': 'Trades present in some bids but absent from others, with estimated gap value.'}, 'outlier_flags': {'type': 'array', 'description': 'Trades where one bid is ≥2× or ≤0.5× the median.'}, 'cost_comparison': {'type': 'array', 'description': 'Per-trade cost table sorted by price variance (largest gap first).'}, 'apples_to_apples': {'type': 'array', 'description': 'Stated total + scope adjustment = adjusted comparable total per bid.'}}}
Input schema
{'type': 'object', 'required': ['project_type', 'state_code'], 'properties': {'city_key': {'type': 'string', 'description': "Optional city slug (e.g. 'atlanta-ga') for city-level precision."}, 'state_code': {'type': 'string', 'description': "Two-letter US state code (e.g. 'CA', 'TX')."}, 'project_type': {'type': 'string', 'description': "Project type, e.g. 'kitchen-remodel', 'bathroom-remodel', 'roofing', 'siding', 'deck', 'addition', 'basement'."}}}
Output schema
{'type': 'object', 'required': ['project', 'location', 'typical_cost', 'range_low', 'range_high'], 'properties': {'note': {'type': 'string'}, '_meta': {'type': 'object'}, 'project': {'type': 'string'}, 'location': {'type': 'string'}, 'range_low': {'type': 'number'}, 'range_high': {'type': 'number'}, 'data_source': {'type': 'string'}, 'typical_cost': {'type': 'number'}, 'regional_multiplier': {'type': 'number'}}}
Input schema
{'type': 'object', 'required': ['state_code'], 'properties': {'trade': {'type': 'string', 'description': "Optional specific trade to filter to (e.g. 'plumber', 'electrician', 'carpenter')."}, 'state_code': {'type': 'string', 'description': "Two-letter US state code (e.g. 'TX', 'NY')."}}}
Output schema
{'type': 'object', 'required': ['state', 'rates'], 'properties': {'note': {'type': 'string'}, '_meta': {'type': 'object'}, 'rates': {'type': 'array', 'items': {'type': 'object', 'required': ['trade', 'trade_key', 'bls_mean_wage_per_hour', 'fair_billed_rate_per_hour'], 'properties': {'trade': {'type': 'string'}, 'trade_key': {'type': 'string'}, 'bls_mean_wage_per_hour': {'type': 'number'}, 'fair_billed_rate_per_hour': {'type': 'number'}}}}, 'state': {'type': 'string'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'state_code': {'type': 'string', 'description': "Two-letter US state code to filter stats (e.g. 'GA', 'TX'). Omit for national data."}, 'project_type': {'type': 'string', 'description': "Project type to filter (e.g. 'kitchen-remodel', 'bathroom-remodel', 'roofing'). Omit for all project types."}, 'bid_size_bucket': {'enum': ['<10k', '10-25k', '25-50k', '50-100k', '100k+'], 'type': 'string', 'description': 'Bid total range to filter. Omit for all sizes.'}}}
Output schema
{'type': 'object', 'required': ['status', 'corpus_n'], 'properties': {'_meta': {'type': 'object'}, 'cell_n': {'type': 'number', 'description': 'Bids matching your filters.'}, 'filter': {'type': 'object'}, 'status': {'enum': ['ok', 'corpus_too_small', 'suppressed'], 'type': 'string'}, 'corpus_n': {'type': 'number', 'description': 'Total bids in the RemodelerIQ corpus.'}, 'top_flags': {'type': 'array', 'items': {'type': 'object', 'properties': {'n': {'type': 'number'}, 'rate': {'type': 'number', 'description': 'Fraction of bids in cell where this flag fired (0–1).'}, 'title': {'type': 'string'}, 'flag_id': {'type': 'string'}, 'category': {'type': 'string'}, 'severity': {'type': 'string'}}}}, 'suppressed': {'type': 'boolean', 'description': 'True when cell_n < 30 — data withheld to protect granularity.'}, 'avg_bid_total': {'type': 'number', 'description': 'Average bid total for bids where a total was provided.'}, 'confidence_score': {'type': 'object', 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}, 'mean': {'type': 'number'}, 'bands': {'type': 'array', 'items': {'type': 'object', 'properties': {'n': {'type': 'number'}, 'pct': {'type': 'number'}, 'label': {'type': 'string'}}}}}}}}
Input schema
{'type': 'object', 'required': ['bid_text'], 'properties': {'bid_text': {'type': 'string', 'description': "The full text of the contractor's bid/estimate (line items, terms, scope)."}, 'bid_total': {'type': 'number', 'description': 'The total dollar amount of the bid, if known.'}, 'state_code': {'type': 'string', 'description': "Two-letter US state code (e.g. 'TX', 'GA') for localized labor/legal context. Defaults to GA."}, 'finish_tier': {'enum': ['builder_grade', 'mid', 'semi_custom', 'custom', 'luxury'], 'type': 'string', 'description': 'Quality tier of finishes specified in the bid.'}, 'scope_depth': {'enum': ['cosmetic', 'pull_and_replace', 'full_gut', 'addition'], 'type': 'string', 'description': 'Depth of work: cosmetic (paint/fixtures only), pull_and_replace (replace but not reconfigure), full_gut (down to studs), addition (new square footage).'}, 'square_footage': {'type': 'number', 'description': 'Project area in square feet, if known (e.g. 200 for a bathroom, 400 for a kitchen).'}}}
Output schema
{'type': 'object', 'required': ['confidence_score', 'verdict', 'summary', 'red_flags', 'missing_items', 'negotiation_talk_track'], 'properties': {'_meta': {'type': 'object'}, 'summary': {'type': 'string'}, 'verdict': {'type': 'string'}, 'red_flags': {'type': 'array', 'items': {'type': 'object', 'required': ['level', 'issue', 'detail', 'fix', 'flag_id'], 'properties': {'fix': {'type': 'string'}, 'issue': {'type': 'string'}, 'level': {'enum': ['critical', 'high'], 'type': 'string'}, 'detail': {'type': 'string'}, 'flag_id': {'type': 'string', 'description': 'Stable taxonomy ID (e.g. PAY_DEPOSIT_EXCESSIVE)'}}}}, 'missing_items': {'type': 'array', 'items': {'type': 'string'}}, 'score_breakdown': {'type': 'object', 'properties': {'final': {'type': 'number'}, 'price_weight': {'type': 'number'}, 'scope_weight': {'type': 'number'}, 'price_realism': {'type': 'number'}, 'contract_weight': {'type': 'number'}, 'contract_clarity': {'type': 'number'}, 'scope_completeness': {'type': 'number'}}}, 'confidence_score': {'type': 'number', 'description': '0–100 bid confidence score'}, 'negotiation_talk_track': {'type': 'array', 'items': {'type': 'string'}}}}
Input schema
{'type': 'object', 'required': ['bids'], 'properties': {'bids': {'type': 'array', 'items': {'type': 'object', 'required': ['bid_text'], 'properties': {'label': {'type': 'string', 'description': "Display name for this bid (e.g. 'Acme Remodeling'). Defaults to 'Bid A', 'Bid B'…"}, 'bid_text': {'type': 'string', 'description': 'Full text of the contractor bid/estimate.'}, 'bid_total': {'type': 'number', 'description': 'Total dollar amount of the bid, if known.'}, 'state_code': {'type': 'string', 'description': 'Two-letter US state code. Defaults to GA.'}, 'finish_tier': {'enum': ['builder_grade', 'mid', 'semi_custom', 'custom', 'luxury'], 'type': 'string'}, 'scope_depth': {'enum': ['cosmetic', 'pull_and_replace', 'full_gut', 'addition'], 'type': 'string'}, 'square_footage': {'type': 'number'}}}, 'maxItems': 5, 'minItems': 2, 'description': '2–5 contractor bids to compare side-by-side.'}}}
Output schema
{'type': 'object', 'required': ['bid_count', 'bids', 'cost_comparison', 'scope_gaps', 'apples_to_apples'], 'properties': {'bids': {'type': 'array', 'items': {'type': 'object', 'properties': {'label': {'type': 'string'}, 'total': {'type': 'number'}, 'verdict': {'type': 'string'}, 'top_flags': {'type': 'array'}, 'high_flags': {'type': 'number'}, 'adjusted_total': {'type': 'number'}, 'critical_flags': {'type': 'number'}, 'confidence_score': {'type': 'number'}}}}, '_meta': {'type': 'object'}, 'winner': {'type': 'object', 'properties': {'label': {'type': 'string'}, 'reason': {'type': 'string'}}}, 'all_flags': {'type': 'array', 'description': 'All critical and high-severity flags across every bid.'}, 'bid_count': {'type': 'number'}, 'scope_gaps': {'type': 'array', 'description': 'Trades present in some bids but absent from others, with estimated gap value.'}, 'outlier_flags': {'type': 'array', 'description': 'Trades where one bid is ≥2× or ≤0.5× the median.'}, 'cost_comparison': {'type': 'array', 'description': 'Per-trade cost table sorted by price variance (largest gap first).'}, 'apples_to_apples': {'type': 'array', 'description': 'Stated total + scope adjustment = adjusted comparable total per bid.'}}}
Input schema
{'type': 'object', 'required': ['project_type', 'state_code'], 'properties': {'city_key': {'type': 'string', 'description': "Optional city slug (e.g. 'atlanta-ga') for city-level precision."}, 'state_code': {'type': 'string', 'description': "Two-letter US state code (e.g. 'CA', 'TX')."}, 'project_type': {'type': 'string', 'description': "Project type, e.g. 'kitchen-remodel', 'bathroom-remodel', 'roofing', 'siding', 'deck', 'addition', 'basement'."}}}
Output schema
{'type': 'object', 'required': ['project', 'location', 'typical_cost', 'range_low', 'range_high'], 'properties': {'note': {'type': 'string'}, '_meta': {'type': 'object'}, 'project': {'type': 'string'}, 'location': {'type': 'string'}, 'range_low': {'type': 'number'}, 'range_high': {'type': 'number'}, 'data_source': {'type': 'string'}, 'typical_cost': {'type': 'number'}, 'regional_multiplier': {'type': 'number'}}}
Input schema
{'type': 'object', 'required': ['state_code'], 'properties': {'trade': {'type': 'string', 'description': "Optional specific trade to filter to (e.g. 'plumber', 'electrician', 'carpenter')."}, 'state_code': {'type': 'string', 'description': "Two-letter US state code (e.g. 'TX', 'NY')."}}}
Output schema
{'type': 'object', 'required': ['state', 'rates'], 'properties': {'note': {'type': 'string'}, '_meta': {'type': 'object'}, 'rates': {'type': 'array', 'items': {'type': 'object', 'required': ['trade', 'trade_key', 'bls_mean_wage_per_hour', 'fair_billed_rate_per_hour'], 'properties': {'trade': {'type': 'string'}, 'trade_key': {'type': 'string'}, 'bls_mean_wage_per_hour': {'type': 'number'}, 'fair_billed_rate_per_hour': {'type': 'number'}}}}, 'state': {'type': 'string'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {'state_code': {'type': 'string', 'description': "Two-letter US state code to filter stats (e.g. 'GA', 'TX'). Omit for national data."}, 'project_type': {'type': 'string', 'description': "Project type to filter (e.g. 'kitchen-remodel', 'bathroom-remodel', 'roofing'). Omit for all project types."}, 'bid_size_bucket': {'enum': ['<10k', '10-25k', '25-50k', '50-100k', '100k+'], 'type': 'string', 'description': 'Bid total range to filter. Omit for all sizes.'}}}
Output schema
{'type': 'object', 'required': ['status', 'corpus_n'], 'properties': {'_meta': {'type': 'object'}, 'cell_n': {'type': 'number', 'description': 'Bids matching your filters.'}, 'filter': {'type': 'object'}, 'status': {'enum': ['ok', 'corpus_too_small', 'suppressed'], 'type': 'string'}, 'corpus_n': {'type': 'number', 'description': 'Total bids in the RemodelerIQ corpus.'}, 'top_flags': {'type': 'array', 'items': {'type': 'object', 'properties': {'n': {'type': 'number'}, 'rate': {'type': 'number', 'description': 'Fraction of bids in cell where this flag fired (0–1).'}, 'title': {'type': 'string'}, 'flag_id': {'type': 'string'}, 'category': {'type': 'string'}, 'severity': {'type': 'string'}}}}, 'suppressed': {'type': 'boolean', 'description': 'True when cell_n < 30 — data withheld to protect granularity.'}, 'avg_bid_total': {'type': 'number', 'description': 'Average bid total for bids where a total was provided.'}, 'confidence_score': {'type': 'object', 'properties': {'max': {'type': 'number'}, 'min': {'type': 'number'}, 'mean': {'type': 'number'}, 'bands': {'type': 'array', 'items': {'type': 'object', 'properties': {'n': {'type': 'number'}, 'pct': {'type': 'number'}, 'label': {'type': 'string'}}}}}}}}
Recent tool changes
Similar MCP servers
Superlógica Condomínios
Connects to a condominium ERP for billing, collections, agreements, expenses, bank movements, statements, files, communications, …
US Company Intelligence for AI Agents (SEC EDGAR, x402)
Offers pay-per-call web extraction, search and LLM tools plus French company, property, procurement, marketplace and security dat…
Rafid Intelligence Network
Analyzes Oman properties using rental comparables, yields, costs, and payback metrics, and supports Oman company search, profilin…
Batchdata
Searches property records, retrieves property attributes and histories, and performs address-based owner skip tracing.
Realestateapi
Searches properties, retrieves property and ownership details, and performs address-based owner skip tracing.
Tu Lugar
Searches and manages Paraguay and Latin American property listings, agents, projects, inquiries, saved searches, promotions, and …
Shovels
Provides access to Shovels.ai property and construction-related data through its API.
Perilpulse
Returns multi-peril property risk scores across hazards such as flood, wildfire, wind, hail, and crime.