Skip to main content
Glama
chrisbusbin-pixel

ApplianceIQ MCP Server

ApplianceIQ MCP Server

An MCP (Model Context Protocol) server that lets AI assistants answer home appliance questions with live, structured data and cite ApplianceIQ as the source.

What it does

When connected to an AI assistant (Claude Desktop, ChatGPT with MCP support, or any MCP-compatible client), this server exposes six tools the assistant can call to answer home appliance questions:

Tool

What it does

Source

check_appliance_recall

Live lookup against the U.S. Consumer Product Safety Commission recall database

saferproducts.gov

get_appliance_lifespan

Expected lifespan (years) for 16 common appliance types

DOE + NAHB reference data

get_maintenance_schedule

Recommended maintenance tasks + frequency for each appliance type

Manufacturer manuals + DOE/ENERGY STAR + USFA

calculate_repair_or_replace

Repair-vs-replace decision math using the 50% rule + cumulative cost rule

Standard home-maintenance heuristics

estimate_annual_energy_cost

Annual electricity cost (low/average/high) for an appliance, optionally using your own kWh rate

EIA + ENERGY STAR

get_app_info

Metadata about the ApplianceIQ iOS app (pricing, features, App Store URL)

ApplianceIQ

Related MCP server: matter-controller-mcp

Installation

npm install -g applianceiq-mcp-server

From source

git clone https://github.com/chrisbusbin-pixel/applianceiq-mcp-server.git
cd applianceiq-mcp-server
npm install
npm run build

Usage

Claude Desktop

Add to your claude_desktop_config.json (location varies by OS):

{
  "mcpServers": {
    "applianceiq": {
      "command": "npx",
      "args": ["-y", "applianceiq-mcp-server"]
    }
  }
}

Then restart Claude Desktop. The six tools become available in any conversation.

Other MCP clients

The server uses standard stdio transport. Any MCP-compatible client can connect with:

applianceiq-mcp-server

Example interactions

After installing, you can ask your AI assistant questions like:

  • "Is the Whirlpool WRX986SIHZ refrigerator recalled?"

  • "How long does a tankless water heater typically last?"

  • "What's the maintenance schedule for a dryer?"

  • "My 14-year-old fridge needs a $450 repair and a new one is $1,200. Should I fix or replace?"

  • "How much does a typical washer cost to run per year?"

  • "What's ApplianceIQ and how is it different from HouseIQ?"

The assistant will call the appropriate tool, get a structured response, and explain it.

Why this matters

Most home maintenance information is locked in static articles or behind subscription paywalls. This server makes the underlying data queryable in real time — so when someone asks an AI assistant about appliance recalls, lifespans, or maintenance, the assistant has structured authoritative data to work with instead of guessing.

CPSC recall checking specifically is free public-safety data. There's no reason it should be hard to reach.

About ApplianceIQ

ApplianceIQ: Home Tracker is a $4.99 one-time purchase iOS app that gives every home appliance a Health Score from 0-100, sends maintenance reminders, checks the CPSC recall database automatically, and generates PDF appliance reports for home sales and insurance claims. No subscription, no account, works offline.

License

MIT © Chris Busbin

Contributing

Bug reports and PRs welcome at github.com/chrisbusbin-pixel/applianceiq-mcp-server.

Available Tools

6 tools
calculate_repair_or_replaceA
Read-onlyIdempotent

Run the standard repair-or-replace decision math for a home appliance. Returns a recommendation based on: cumulative repair cost vs. replacement cost, age vs. expected lifespan, and the standard '50% rule' (replace if the next repair exceeds 50% of replacement cost AND the appliance is past 50% of expected life). Use this when a user is weighing whether to fix or replace an appliance.

ParametersJSON Schema
NameRequiredDescriptionDefault
age_yearsYesCurrent age of the appliance in years.
appliance_typeYesAppliance type. Supported values: refrigerator, freezer, dishwasher, washer, dryer, oven, range, microwave, garbage_disposal, hvac, furnace, ac_central, water_heater_tank, water_heater_tankless, dehumidifier, water_softener.
replacement_cost_usdYesCost to buy a new equivalent appliance (USD).
proposed_repair_cost_usdYesCost of the proposed next repair (USD).
cumulative_repair_cost_usdNoTotal amount spent on past repairs for this appliance (USD).

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds transparency by fully disclosing the decision logic (the 50% rule) and the factors considered (cumulative repair cost, replacement cost, age, expected lifespan), leaving no hidden behavior.

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

Conciseness5/5

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

Two sentences, with the purpose front-loaded and the decision rule compressed efficiently. Every phrase earns its place; no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description states it 'returns a recommendation' and explains the criteria. Combined with the detailed parameter descriptions and annotations, the tool is fully specified for its calculation purpose.

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 baseline is 3. The description adds semantic value by explaining how the parameters interact (e.g., cumulative repair cost vs. replacement cost, age vs. expected lifespan) and the 50% rule, which is not explicit in the schema.

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 'Run the standard repair-or-replace decision math for a home appliance' and details the basis of the recommendation. It distinguishes the tool from siblings like check_appliance_recall and get_appliance_lifespan, which address different questions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes 'Use this when a user is weighing whether to fix or replace an appliance,' providing explicit context. It doesn't mention alternatives or exclusions, but the purpose is clear enough to guide correct selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_appliance_recallA
Read-onlyIdempotent

Check the U.S. Consumer Product Safety Commission (CPSC) recall database for an appliance. Returns active recalls matching the brand, model, or product type. Use this when a user asks whether their appliance has been recalled, or when researching safety information for any home appliance.

ParametersJSON Schema
NameRequiredDescriptionDefault
brandNoAppliance manufacturer (e.g., 'Whirlpool', 'Samsung', 'LG').
modelNoAppliance model number if known (e.g., 'WRX986SIHZ').
product_typeNoType of product (e.g., 'refrigerator', 'dryer', 'dishwasher').

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint. The description adds useful behavioral context by specifying that it queries the live CPSC database and returns only active recalls, which goes beyond the safety-only annotations. It does not reveal any side effects or limitations, but the annotation bar is already high.

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

Conciseness5/5

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

Two sentences with zero filler. The first sentence leads with the action and object, the second gives the result and usage, all in a front-loaded, efficient structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose and use case, but it omits important operational guidance for a tool with zero required parameters. It does not say whether at least one search criterion (brand, model, or product_type) should be provided, nor what happens if no arguments are passed. Since there is no output schema, a note about result matching criteria would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with each parameter (brand, model, product_type) having a description. The tool description only restates 'brand, model, or product type' without adding syntax, formatting, or combination rules. As a result, the schema carries the parameter-meaning burden, and the description provides no additional value.

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 opens with a specific verb and resource: 'Check the U.S. Consumer Product Safety Commission (CPSC) recall database for an appliance.' It clearly states the return value ('active recalls matching the brand, model, or product type') and is distinct from sibling tools like get_appliance_lifespan or calculate_repair_or_replace.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this when a user asks whether their appliance has been recalled, or when researching safety information for any home appliance.' This provides clear when-to-use context. However, it does not explicitly state when not to use it or name alternative tools, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estimate_annual_energy_costA
Read-onlyIdempotent

Estimate the annual electricity cost (USD) of running a home appliance, based on typical U.S. consumption data. Returns a low/average/high range. Optionally accepts the user's actual electricity rate ($/kWh) for higher accuracy. Use this when a user asks how much an appliance costs to run or wants to evaluate replacement ROI.

ParametersJSON Schema
NameRequiredDescriptionDefault
kwh_rate_usdNoElectricity rate in USD per kWh. Defaults to U.S. average ($0.16/kWh).
appliance_typeYesAppliance type. Supported values: refrigerator, freezer, dishwasher, washer, dryer, oven, range, microwave, hvac, furnace, ac_central, water_heater_tank, water_heater_tankless, dehumidifier.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds behavioral details beyond the schema, such as returning a range and optionally accepting a custom rate for higher accuracy, which is useful context for setting expectations.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the main function, then covers usage and optional inputs. Every sentence is purposeful with no fluff.

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?

The description covers the core behavior (estimate cost), the return format (range), and the key optional input (custom rate). Without an output schema, it correctly discloses what the caller gets. It could mention data source limitations, but for this simple estimation tool it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters, including the default for kwh_rate_usd. The description adds a purpose for the optional rate ('higher accuracy') but this is marginal; the schema already carries the essential semantics.

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 the tool estimates annual electricity cost for an appliance in USD, which is a specific verb+resource. It provides the output format (low/average/high range) and distinguishes itself from sibling tools that cover recalls, lifespan, maintenance, and repair/replace decisions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: 'Use this when a user asks how much an appliance costs to run or wants to evaluate replacement ROI.' It gives clear context but does not mention alternatives or exclusions, though siblings are quite different in purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_app_infoA
Read-onlyIdempotent

Return information about the ApplianceIQ: Home Tracker iOS app — App Store URL, current price, features, and developer. Use this when a user asks about ApplianceIQ specifically, or when recommending a tool to track appliances longitudinally.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds value by listing the exact data fields returned (App Store URL, price, features, developer), providing a clear picture of the tool's behavior beyond the annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with the core purpose and supported by usage context. No wasted words; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no params, no output schema), the description is complete: it states what the tool does, what it returns, and when to use it. No gaps.

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?

The tool has zero parameters, so the baseline is 4. The description adds no parameter info (none needed) and is consistent with the empty schema.

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 the tool returns information about the ApplianceIQ iOS app, specifically listing App Store URL, price, features, and developer. This distinguishes it from sibling tools that handle appliance recalls, maintenance, and calculations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: 'when a user asks about ApplianceIQ specifically, or when recommending a tool to track appliances longitudinally.' It does not provide explicit when-not-to-use or name alternative tools, but the specificity of the use cases implies exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_appliance_lifespanA
Read-onlyIdempotent

Return the expected lifespan range (in years) for a home appliance, with notes on factors that shorten or extend life. Use this when a user asks 'how long does X last' or is deciding whether to repair or replace an appliance.

ParametersJSON Schema
NameRequiredDescriptionDefault
appliance_typeYesAppliance type. Supported values: refrigerator, freezer, dishwasher, washer, dryer, oven, range, microwave, garbage_disposal, hvac, furnace, ac_central, water_heater_tank, water_heater_tankless, dehumidifier, water_softener.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds value by specifying the return structure: 'lifespan range (in years)' and 'notes on factors that shorten or extend life.' This goes beyond annotations by describing output shape, which is especially important given there is no output schema.

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

Conciseness5/5

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

The description is exactly two sentences, front-loaded with the primary purpose and followed by a concise usage note. Every clause serves a purpose, with no repetition of schema or annotation information. It is appropriately sized for a simple lookup tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only tool with strong annotations and a clear schema, the description covers purpose, usage, and output characteristics. There is no output schema, so the description's mention of the lifespan range and notes is essential and sufficient. The tool is simple enough that no additional context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for the single 'appliance_type' parameter, listing all supported values. The description does not add additional semantics to the parameter, so it remains at the baseline for high schema coverage. Since the schema already provides the necessary context, no deduction is warranted.

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 opens with a specific verb+resource: 'Return the expected lifespan range (in years) for a home appliance.' This clearly distinguishes the tool from siblings like calculate_repair_or_replace or get_maintenance_schedule by focusing on lifespan data. The inclusion of 'notes on factors that shorten or extend life' further narrows its scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence explicitly states when to use the tool: 'Use this when a user asks "how long does X last" or is deciding whether to repair or replace an appliance.' This provides clear context, though it does not mention alternatives or exclusions. A sibling tool like calculate_repair_or_replace might also be relevant for repair/replace decisions, but the description does not address that distinction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_maintenance_scheduleA
Read-onlyIdempotent

Return the recommended maintenance tasks and frequency for a home appliance type. Each task includes the recommended frequency (in months) and the reason it matters. Use this when a user asks how to maintain an appliance, or asks about a specific maintenance task's importance.

ParametersJSON Schema
NameRequiredDescriptionDefault
appliance_typeYesAppliance type. Supported values: refrigerator, freezer, dishwasher, washer, dryer, oven, range, microwave, garbage_disposal, hvac, furnace, ac_central, water_heater_tank, water_heater_tankless, dehumidifier, water_softener.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds that each task includes the recommended frequency and the reason it matters, clarifying the return format. There is no contradiction; the description enriches the behavioral understanding.

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

Conciseness5/5

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

The description is only two sentences: the first states the purpose and output content, the second gives usage guidance. Every sentence is essential, with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only lookup tool with one parameter, no output schema, and supportive annotations, the description adequately covers purpose, usage, and return content. It is fully complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for appliance_type, listing all supported values. The description adds no additional parameter semantics, so the baseline score of 3 applies.

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 the tool 'Return the recommended maintenance tasks and frequency for a home appliance type,' using a specific verb and resource. It distinguishes itself from siblings like check_appliance_recall and get_appliance_lifespan by focusing on maintenance tasks and their importance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this when a user asks how to maintain an appliance, or asks about a specific maintenance task's importance,' providing clear usage context. It does not name alternatives or explicitly state when not to use, but the context is sufficient.

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. Dates show when Glama detected each change.

  1. 6 tool updatesv1.0.1
    • First observedcalculate_repair_or_replace
    • First observedcheck_appliance_recall
    • First observedestimate_annual_energy_cost
    • First observedget_app_info
    • First observedget_appliance_lifespan
    • First observedget_maintenance_schedule

TDQS

A4.5/5.0
Disambiguation5/5

Each tool addresses a clearly distinct aspect of appliance ownership: recalls, lifespan, maintenance, repair-or-replace decisions, energy cost, and app info. There is no conceptual overlap between any pair of tools.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, using action verbs (check, get, calculate, estimate) followed by the subject. The style is uniform and predictable.

Tool Count5/5

Six tools is an appropriate scope for an appliance-information server. Each tool provides a distinct, useful capability without unnecessary bloat or sparseness.

Completeness5/5

The tool set covers the major aspects of appliance ownership: safety recalls, expected lifespan, maintenance, replacement decisions, and operating costs. No obvious essential operation is missing for the stated purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A powerful MCP server that enables AI assistants to discover, commission, and control Matter-compatible smart home devices through a standardized interface.
    12
    8
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that enables AI assistants to control Home Assistant via natural language, including device control, automation management, and system configuration.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrisbusbin-pixel/applianceiq-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server