MCPサーバー

remodeleriq

io.github.gustavoatar/remodeleriq
ビジネス・業務 不動産 公開・接続可能 MCP 2026-07-28

このMCPでできること

Analyzes and compares home-remodeling bids, estimates regional project costs and labor rates, and reports aggregate bid-risk statistics.

analyze_bid
Deprecated: prefer remodeleriq_analyze_bid. Analyze a home-remodeling contractor's bid/estimate for fairness and risk. Returns a 0-100 confidence score, red flags, a plain-English summary, and negotiation talk tracks. Note: analyses may contribute de-identified data to aggregate remodeling-risk research.
読み取り専用 冪等
入力スキーマ
{'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).'}}}
出力スキーマ
{'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'}}}}
compare_bids
Deprecated: prefer remodeleriq_compare_bids. Compare 2–5 contractor bids side-by-side with per-trade cost comparison, scope-gap matrix, and winner recommendation.
読み取り専用 冪等
入力スキーマ
{'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.'}}}
出力スキーマ
{'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.'}}}
get_cost_estimate
Deprecated: prefer remodeleriq_get_cost_estimate. Get a 2026 market cost range for a home-remodeling project in a US state/city, backed by Zonda Cost vs. Value benchmarks with regional adjustment.
読み取り専用 冪等
入力スキーマ
{'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'."}}}
出力スキーマ
{'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'}}}
get_labor_rates
Deprecated: prefer remodeleriq_get_labor_rates. Get 2026 burdened construction trade labor rates ($/hour) for a US state, derived from BLS wage data.
読み取り専用 冪等
入力スキーマ
{'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')."}}}
出力スキーマ
{'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'}}}
get_risk_stats
Deprecated: prefer remodeleriq_get_risk_stats. Get aggregate red-flag statistics from the RemodelerIQ bid corpus.
読み取り専用 冪等
入力スキーマ
{'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.'}}}
出力スキーマ
{'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'}}}}}}}}
remodeleriq_analyze_bid
Analyze a home-remodeling contractor's bid/estimate for fairness and risk. Returns a 0-100 confidence score, score_breakdown by dimension, red flags with stable flag IDs (deposit traps, vague scope, missing items, payment terms), a plain-English summary, and negotiation talk tracks. Score rubric: contract clarity 40%, scope completeness 30%, price realism 30%. Use when a homeowner asks 'is this contractor quote fair?' or shares a remodeling estimate. Note: analyses may contribute de-identified data to aggregate remodeling-risk research.
読み取り専用 冪等
入力スキーマ
{'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).'}}}
出力スキーマ
{'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'}}}}
remodeleriq_compare_bids
Compare 2–5 contractor bids for the same project side-by-side. Returns: per-bid confidence scores; a per-trade cost comparison table sorted by price variance; a scope-gap matrix (what Bid A includes that Bid B omits); apples-to-apples adjusted totals (normalizing for scope gaps); outlier detection (trades priced ≥2× or ≤0.5× the median); consolidated red flags across all bids; and a winner recommendation. Use when a homeowner has multiple quotes and wants to know which is best and why.
読み取り専用 冪等
入力スキーマ
{'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.'}}}
出力スキーマ
{'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.'}}}
remodeleriq_get_cost_estimate
Get a 2026 market cost range for a home-remodeling project in a US state/city, backed by Zonda Cost vs. Value benchmarks with regional adjustment. Use when a homeowner asks 'how much does a [kitchen/bathroom/roof/etc.] remodel cost in [place]?'
読み取り専用 冪等
入力スキーマ
{'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'."}}}
出力スキーマ
{'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'}}}
remodeleriq_get_labor_rates
Get 2026 burdened construction trade labor rates ($/hour) for a US state, derived from BLS wage data. Returns rates by trade (carpenter, plumber, electrician, painter, etc.). Use when a homeowner asks what trade labor should cost or whether a bid's labor line is fair.
読み取り専用 冪等
入力スキーマ
{'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')."}}}
出力スキーマ
{'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'}}}
remodeleriq_get_risk_stats
Get aggregate red-flag statistics from the RemodelerIQ bid corpus — real anonymized data from bids analyzed by the platform. Returns the most common risk flags and their fire rates, average confidence scores, and bid-total distributions, filtered optionally by US state, project type, or bid size. Requires corpus ≥ 500 submissions; cells below 30 submissions are suppressed. Use when a homeowner asks 'how common is a 40% deposit demand?' or 'what do most kitchen-remodel bids get flagged for?'. This is proprietary empirical data available nowhere else.
読み取り専用 冪等
入力スキーマ
{'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.'}}}
出力スキーマ
{'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'}}}}}}}}
追加
get_risk_stats
2026年9月17日12:42
追加
remodeleriq_get_risk_stats
2026年9月17日12:42
追加
compare_bids
2026年9月17日12:42
追加
remodeleriq_compare_bids
2026年9月17日12:42
追加
get_labor_rates
2026年9月17日12:42
追加
get_cost_estimate
2026年9月17日12:42
追加
analyze_bid
2026年9月17日12:42
追加
remodeleriq_get_labor_rates
2026年9月17日12:42
追加
remodeleriq_get_cost_estimate
2026年9月17日12:42
追加
remodeleriq_analyze_bid
2026年9月17日12:42