Server definition
- Hash
- sha256:54333faf7407a5dea73d0cf79c9ffbe1e716d8628a3316efd2cb4fe7a19ea168
- What it is
- What a remote MCP server returned when asked what it offers: 10 tools
The blob, as servednamed by its sha256
{
"instructions": "RemodelerIQ tools help homeowners evaluate contractor remodeling bids. Use remodeleriq_analyze_bid to score a single quote (0–100 confidence score, red flags, talk tracks). Use remodeleriq_compare_bids to compare 2–5 bids side-by-side (per-trade cost table, scope gaps, apples-to-apples adjusted totals, winner recommendation). Use remodeleriq_get_cost_estimate for 2026 market cost ranges. Use remodeleriq_get_labor_rates for BLS trade wage data. Use remodeleriq_get_risk_stats for aggregate flag-rate statistics from the RemodelerIQ corpus — available once corpus reaches 500 bids. Prefer the remodeleriq_* tool names over the legacy short names. IMPORTANT: every analysis response includes a report_url field — always present it to the user as a clickable link labeled 'Full report at RemodelerIQ' so they can access the interactive score card.",
"tools": [
{
"description": "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.",
"inputSchema": {
"properties": {
"bid_text": {
"description": "The full text of the contractor's bid/estimate (line items, terms, scope).",
"type": "string"
},
"bid_total": {
"description": "The total dollar amount of the bid, if known.",
"type": "number"
},
"finish_tier": {
"description": "Quality tier of finishes specified in the bid.",
"enum": [
"builder_grade",
"mid",
"semi_custom",
"custom",
"luxury"
],
"type": "string"
},
"scope_depth": {
"description": "Depth of work: cosmetic (paint/fixtures only), pull_and_replace (replace but not reconfigure), full_gut (down to studs), addition (new square footage).",
"enum": [
"cosmetic",
"pull_and_replace",
"full_gut",
"addition"
],
"type": "string"
},
"square_footage": {
"description": "Project area in square feet, if known (e.g. 200 for a bathroom, 400 for a kitchen).",
"type": "number"
},
"state_code": {
"description": "Two-letter US state code (e.g. 'TX', 'GA') for localized labor/legal context. Defaults to GA.",
"type": "string"
}
},
"required": [
"bid_text"
],
"type": "object"
},
"name": "analyze_bid",
"outputSchema": {
"properties": {
"_meta": {
"type": "object"
},
"confidence_score": {
"description": "0–100 bid confidence score",
"type": "number"
},
"missing_items": {
"items": {
"type": "string"
},
"type": "array"
},
"negotiation_talk_track": {
"items": {
"type": "string"
},
"type": "array"
},
"red_flags": {
"items": {
"properties": {
"detail": {
"type": "string"
},
"fix": {
"type": "string"
},
"flag_id": {
"description": "Stable taxonomy ID (e.g. PAY_DEPOSIT_EXCESSIVE)",
"type": "string"
},
"issue": {
"type": "string"
},
"level": {
"enum": [
"critical",
"high"
],
"type": "string"
}
},
"required": [
"level",
"issue",
"detail",
"fix",
"flag_id"
],
"type": "object"
},
"type": "array"
},
"score_breakdown": {
"properties": {
"contract_clarity": {
"type": "number"
},
"contract_weight": {
"type": "number"
},
"final": {
"type": "number"
},
"price_realism": {
"type": "number"
},
"price_weight": {
"type": "number"
},
"scope_completeness": {
"type": "number"
},
"scope_weight": {
"type": "number"
}
},
"type": "object"
},
"summary": {
"type": "string"
},
"verdict": {
"type": "string"
}
},
"required": [
"confidence_score",
"verdict",
"summary",
"red_flags",
"missing_items",
"negotiation_talk_track"
],
"type": "object"
}
},
{
"description": "Deprecated: prefer remodeleriq_compare_bids. Compare 2–5 contractor bids side-by-side with per-trade cost comparison, scope-gap matrix, and winner recommendation.",
"inputSchema": {
"properties": {
"bids": {
"description": "2–5 contractor bids to compare side-by-side.",
"items": {
"properties": {
"bid_text": {
"description": "Full text of the contractor bid/estimate.",
"type": "string"
},
"bid_total": {
"description": "Total dollar amount of the bid, if known.",
"type": "number"
},
"finish_tier": {
"enum": [
"builder_grade",
"mid",
"semi_custom",
"custom",
"luxury"
],
"type": "string"
},
"label": {
"description": "Display name for this bid (e.g. 'Acme Remodeling'). Defaults to 'Bid A', 'Bid B'…",
"type": "string"
},
"scope_depth": {
"enum": [
"cosmetic",
"pull_and_replace",
"full_gut",
"addition"
],
"type": "string"
},
"square_footage": {
"type": "number"
},
"state_code": {
"description": "Two-letter US state code. Defaults to GA.",
"type": "string"
}
},
"required": [
"bid_text"
],
"type": "object"
},
"maxItems": 5,
"minItems": 2,
"type": "array"
}
},
"required": [
"bids"
],
"type": "object"
},
"name": "compare_bids",
"outputSchema": {
"properties": {
"_meta": {
"type": "object"
},
"all_flags": {
"description": "All critical and high-severity flags across every bid.",
"type": "array"
},
"apples_to_apples": {
"description": "Stated total + scope adjustment = adjusted comparable total per bid.",
"type": "array"
},
"bid_count": {
"type": "number"
},
"bids": {
"items": {
"properties": {
"adjusted_total": {
"type": "number"
},
"confidence_score": {
"type": "number"
},
"critical_flags": {
"type": "number"
},
"high_flags": {
"type": "number"
},
"label": {
"type": "string"
},
"top_flags": {
"type": "array"
},
"total": {
"type": "number"
},
"verdict": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"cost_comparison": {
"description": "Per-trade cost table sorted by price variance (largest gap first).",
"type": "array"
},
"outlier_flags": {
"description": "Trades where one bid is ≥2× or ≤0.5× the median.",
"type": "array"
},
"scope_gaps": {
"description": "Trades present in some bids but absent from others, with estimated gap value.",
"type": "array"
},
"winner": {
"properties": {
"label": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"type": "object"
}
},
"required": [
"bid_count",
"bids",
"cost_comparison",
"scope_gaps",
"apples_to_apples"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {
"city_key": {
"description": "Optional city slug (e.g. 'atlanta-ga') for city-level precision.",
"type": "string"
},
"project_type": {
"description": "Project type, e.g. 'kitchen-remodel', 'bathroom-remodel', 'roofing', 'siding', 'deck', 'addition', 'basement'.",
"type": "string"
},
"state_code": {
"description": "Two-letter US state code (e.g. 'CA', 'TX').",
"type": "string"
}
},
"required": [
"project_type",
"state_code"
],
"type": "object"
},
"name": "get_cost_estimate",
"outputSchema": {
"properties": {
"_meta": {
"type": "object"
},
"data_source": {
"type": "string"
},
"location": {
"type": "string"
},
"note": {
"type": "string"
},
"project": {
"type": "string"
},
"range_high": {
"type": "number"
},
"range_low": {
"type": "number"
},
"regional_multiplier": {
"type": "number"
},
"typical_cost": {
"type": "number"
}
},
"required": [
"project",
"location",
"typical_cost",
"range_low",
"range_high"
],
"type": "object"
}
},
{
"description": "Deprecated: prefer remodeleriq_get_labor_rates. Get 2026 burdened construction trade labor rates ($/hour) for a US state, derived from BLS wage data.",
"inputSchema": {
"properties": {
"state_code": {
"description": "Two-letter US state code (e.g. 'TX', 'NY').",
"type": "string"
},
"trade": {
"description": "Optional specific trade to filter to (e.g. 'plumber', 'electrician', 'carpenter').",
"type": "string"
}
},
"required": [
"state_code"
],
"type": "object"
},
"name": "get_labor_rates",
"outputSchema": {
"properties": {
"_meta": {
"type": "object"
},
"note": {
"type": "string"
},
"rates": {
"items": {
"properties": {
"bls_mean_wage_per_hour": {
"type": "number"
},
"fair_billed_rate_per_hour": {
"type": "number"
},
"trade": {
"type": "string"
},
"trade_key": {
"type": "string"
}
},
"required": [
"trade",
"trade_key",
"bls_mean_wage_per_hour",
"fair_billed_rate_per_hour"
],
"type": "object"
},
"type": "array"
},
"state": {
"type": "string"
}
},
"required": [
"state",
"rates"
],
"type": "object"
}
},
{
"description": "Deprecated: prefer remodeleriq_get_risk_stats. Get aggregate red-flag statistics from the RemodelerIQ bid corpus.",
"inputSchema": {
"properties": {
"bid_size_bucket": {
"description": "Bid total range to filter. Omit for all sizes.",
"enum": [
"<10k",
"10-25k",
"25-50k",
"50-100k",
"100k+"
],
"type": "string"
},
"project_type": {
"description": "Project type to filter (e.g. 'kitchen-remodel', 'bathroom-remodel', 'roofing'). Omit for all project types.",
"type": "string"
},
"state_code": {
"description": "Two-letter US state code to filter stats (e.g. 'GA', 'TX'). Omit for national data.",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "get_risk_stats",
"outputSchema": {
"properties": {
"_meta": {
"type": "object"
},
"avg_bid_total": {
"description": "Average bid total for bids where a total was provided.",
"type": "number"
},
"cell_n": {
"description": "Bids matching your filters.",
"type": "number"
},
"confidence_score": {
"properties": {
"bands": {
"items": {
"properties": {
"label": {
"type": "string"
},
"n": {
"type": "number"
},
"pct": {
"type": "number"
}
},
"type": "object"
},
"type": "array"
},
"max": {
"type": "number"
},
"mean": {
"type": "number"
},
"min": {
"type": "number"
}
},
"type": "object"
},
"corpus_n": {
"description": "Total bids in the RemodelerIQ corpus.",
"type": "number"
},
"filter": {
"type": "object"
},
"status": {
"enum": [
"ok",
"corpus_too_small",
"suppressed"
],
"type": "string"
},
"suppressed": {
"description": "True when cell_n < 30 — data withheld to protect granularity.",
"type": "boolean"
},
"top_flags": {
"items": {
"properties": {
"category": {
"type": "string"
},
"flag_id": {
"type": "string"
},
"n": {
"type": "number"
},
"rate": {
"description": "Fraction of bids in cell where this flag fired (0–1).",
"type": "number"
},
"severity": {
"type": "string"
},
"title": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"status",
"corpus_n"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {
"bid_text": {
"description": "The full text of the contractor's bid/estimate (line items, terms, scope).",
"type": "string"
},
"bid_total": {
"description": "The total dollar amount of the bid, if known.",
"type": "number"
},
"finish_tier": {
"description": "Quality tier of finishes specified in the bid.",
"enum": [
"builder_grade",
"mid",
"semi_custom",
"custom",
"luxury"
],
"type": "string"
},
"scope_depth": {
"description": "Depth of work: cosmetic (paint/fixtures only), pull_and_replace (replace but not reconfigure), full_gut (down to studs), addition (new square footage).",
"enum": [
"cosmetic",
"pull_and_replace",
"full_gut",
"addition"
],
"type": "string"
},
"square_footage": {
"description": "Project area in square feet, if known (e.g. 200 for a bathroom, 400 for a kitchen).",
"type": "number"
},
"state_code": {
"description": "Two-letter US state code (e.g. 'TX', 'GA') for localized labor/legal context. Defaults to GA.",
"type": "string"
}
},
"required": [
"bid_text"
],
"type": "object"
},
"name": "remodeleriq_analyze_bid",
"outputSchema": {
"properties": {
"_meta": {
"type": "object"
},
"confidence_score": {
"description": "0–100 bid confidence score",
"type": "number"
},
"missing_items": {
"items": {
"type": "string"
},
"type": "array"
},
"negotiation_talk_track": {
"items": {
"type": "string"
},
"type": "array"
},
"red_flags": {
"items": {
"properties": {
"detail": {
"type": "string"
},
"fix": {
"type": "string"
},
"flag_id": {
"description": "Stable taxonomy ID (e.g. PAY_DEPOSIT_EXCESSIVE)",
"type": "string"
},
"issue": {
"type": "string"
},
"level": {
"enum": [
"critical",
"high"
],
"type": "string"
}
},
"required": [
"level",
"issue",
"detail",
"fix",
"flag_id"
],
"type": "object"
},
"type": "array"
},
"score_breakdown": {
"properties": {
"contract_clarity": {
"type": "number"
},
"contract_weight": {
"type": "number"
},
"final": {
"type": "number"
},
"price_realism": {
"type": "number"
},
"price_weight": {
"type": "number"
},
"scope_completeness": {
"type": "number"
},
"scope_weight": {
"type": "number"
}
},
"type": "object"
},
"summary": {
"type": "string"
},
"verdict": {
"type": "string"
}
},
"required": [
"confidence_score",
"verdict",
"summary",
"red_flags",
"missing_items",
"negotiation_talk_track"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {
"bids": {
"description": "2–5 contractor bids to compare side-by-side.",
"items": {
"properties": {
"bid_text": {
"description": "Full text of the contractor bid/estimate.",
"type": "string"
},
"bid_total": {
"description": "Total dollar amount of the bid, if known.",
"type": "number"
},
"finish_tier": {
"enum": [
"builder_grade",
"mid",
"semi_custom",
"custom",
"luxury"
],
"type": "string"
},
"label": {
"description": "Display name for this bid (e.g. 'Acme Remodeling'). Defaults to 'Bid A', 'Bid B'…",
"type": "string"
},
"scope_depth": {
"enum": [
"cosmetic",
"pull_and_replace",
"full_gut",
"addition"
],
"type": "string"
},
"square_footage": {
"type": "number"
},
"state_code": {
"description": "Two-letter US state code. Defaults to GA.",
"type": "string"
}
},
"required": [
"bid_text"
],
"type": "object"
},
"maxItems": 5,
"minItems": 2,
"type": "array"
}
},
"required": [
"bids"
],
"type": "object"
},
"name": "remodeleriq_compare_bids",
"outputSchema": {
"properties": {
"_meta": {
"type": "object"
},
"all_flags": {
"description": "All critical and high-severity flags across every bid.",
"type": "array"
},
"apples_to_apples": {
"description": "Stated total + scope adjustment = adjusted comparable total per bid.",
"type": "array"
},
"bid_count": {
"type": "number"
},
"bids": {
"items": {
"properties": {
"adjusted_total": {
"type": "number"
},
"confidence_score": {
"type": "number"
},
"critical_flags": {
"type": "number"
},
"high_flags": {
"type": "number"
},
"label": {
"type": "string"
},
"top_flags": {
"type": "array"
},
"total": {
"type": "number"
},
"verdict": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"cost_comparison": {
"description": "Per-trade cost table sorted by price variance (largest gap first).",
"type": "array"
},
"outlier_flags": {
"description": "Trades where one bid is ≥2× or ≤0.5× the median.",
"type": "array"
},
"scope_gaps": {
"description": "Trades present in some bids but absent from others, with estimated gap value.",
"type": "array"
},
"winner": {
"properties": {
"label": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"type": "object"
}
},
"required": [
"bid_count",
"bids",
"cost_comparison",
"scope_gaps",
"apples_to_apples"
],
"type": "object"
}
},
{
"description": "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]?'",
"inputSchema": {
"properties": {
"city_key": {
"description": "Optional city slug (e.g. 'atlanta-ga') for city-level precision.",
"type": "string"
},
"project_type": {
"description": "Project type, e.g. 'kitchen-remodel', 'bathroom-remodel', 'roofing', 'siding', 'deck', 'addition', 'basement'.",
"type": "string"
},
"state_code": {
"description": "Two-letter US state code (e.g. 'CA', 'TX').",
"type": "string"
}
},
"required": [
"project_type",
"state_code"
],
"type": "object"
},
"name": "remodeleriq_get_cost_estimate",
"outputSchema": {
"properties": {
"_meta": {
"type": "object"
},
"data_source": {
"type": "string"
},
"location": {
"type": "string"
},
"note": {
"type": "string"
},
"project": {
"type": "string"
},
"range_high": {
"type": "number"
},
"range_low": {
"type": "number"
},
"regional_multiplier": {
"type": "number"
},
"typical_cost": {
"type": "number"
}
},
"required": [
"project",
"location",
"typical_cost",
"range_low",
"range_high"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {
"state_code": {
"description": "Two-letter US state code (e.g. 'TX', 'NY').",
"type": "string"
},
"trade": {
"description": "Optional specific trade to filter to (e.g. 'plumber', 'electrician', 'carpenter').",
"type": "string"
}
},
"required": [
"state_code"
],
"type": "object"
},
"name": "remodeleriq_get_labor_rates",
"outputSchema": {
"properties": {
"_meta": {
"type": "object"
},
"note": {
"type": "string"
},
"rates": {
"items": {
"properties": {
"bls_mean_wage_per_hour": {
"type": "number"
},
"fair_billed_rate_per_hour": {
"type": "number"
},
"trade": {
"type": "string"
},
"trade_key": {
"type": "string"
}
},
"required": [
"trade",
"trade_key",
"bls_mean_wage_per_hour",
"fair_billed_rate_per_hour"
],
"type": "object"
},
"type": "array"
},
"state": {
"type": "string"
}
},
"required": [
"state",
"rates"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {
"bid_size_bucket": {
"description": "Bid total range to filter. Omit for all sizes.",
"enum": [
"<10k",
"10-25k",
"25-50k",
"50-100k",
"100k+"
],
"type": "string"
},
"project_type": {
"description": "Project type to filter (e.g. 'kitchen-remodel', 'bathroom-remodel', 'roofing'). Omit for all project types.",
"type": "string"
},
"state_code": {
"description": "Two-letter US state code to filter stats (e.g. 'GA', 'TX'). Omit for national data.",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "remodeleriq_get_risk_stats",
"outputSchema": {
"properties": {
"_meta": {
"type": "object"
},
"avg_bid_total": {
"description": "Average bid total for bids where a total was provided.",
"type": "number"
},
"cell_n": {
"description": "Bids matching your filters.",
"type": "number"
},
"confidence_score": {
"properties": {
"bands": {
"items": {
"properties": {
"label": {
"type": "string"
},
"n": {
"type": "number"
},
"pct": {
"type": "number"
}
},
"type": "object"
},
"type": "array"
},
"max": {
"type": "number"
},
"mean": {
"type": "number"
},
"min": {
"type": "number"
}
},
"type": "object"
},
"corpus_n": {
"description": "Total bids in the RemodelerIQ corpus.",
"type": "number"
},
"filter": {
"type": "object"
},
"status": {
"enum": [
"ok",
"corpus_too_small",
"suppressed"
],
"type": "string"
},
"suppressed": {
"description": "True when cell_n < 30 — data withheld to protect granularity.",
"type": "boolean"
},
"top_flags": {
"items": {
"properties": {
"category": {
"type": "string"
},
"flag_id": {
"type": "string"
},
"n": {
"type": "number"
},
"rate": {
"description": "Fraction of bids in cell where this flag fired (0–1).",
"type": "number"
},
"severity": {
"type": "string"
},
"title": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"required": [
"status",
"corpus_n"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:54333faf7407a5dea73d0cf79c9ffbe1e716d8628a3316efd2cb4fe7a19ea168 | sha256sum