iDevice Buyer's Guide

Independent buyer's guide for wearables and phones: buy now or wait, compatibility, prices. Sourced.

Should I use this

Quality & Safety

A
Description quality
99%
Schema completeness
98%
Naming quality
97%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'get_in_the_box' description lacks action verbin get_in_the_box

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~8,275Tokens (tool definitions)
~1.5 KBTypical response size
Significant attention impact (6.46% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "wearables": {
      "url": "https://idevice.com/api/mcp"
    }
  }
}

Remote endpoints

https://idevice.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (27)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢should_i_buy(product_slug, owned_device_slug, owned_platform, budget_usd, use_case, ...)

For one product: buy now, wait, skip or check fit first, optionally for a shopper who already owns a device or uses iPhone or Android, with a budget or a use. Returns a verdict (buy_now, wait, skip, check_fit or not_enough_data) and the rule behind it, reasons that each carry a source link and how sure iDevice is (Confirmed, Reported, Our read or Not confirmed), the fit with the shopper's phone platform, timing (a newer model out, announced or reported), price (iDevice's published verdict and the lowest verified price over the period iDevice has checked it, low_period; none under 30 days of checks), what changed from the model the shopper owns when that comparison is available, and which of those four parts could not be answered. Reported dates are worded as reported. No probability is given. For a shopper who owns the model this one directly replaces, the answer also carries the two parts the /upgrade page on idevice.com says apart: upgrade_merit, whether replacing the owned model is worth it (worth_upgrading, not_a_clear_upgrade, depends_on_your_needs or too_early_to_say), and purchase_timing, whether today is a good time to buy the new one (good_time_to_buy, fine_at_this_price, no_rush, wait_for_price, newer_model_close, price_not_confirmed or not_on_sale_yet), each with its basis, and upgrade_answer, both parts in the page's own words; all five are null for any other question. decision_word is the word iDevice shows for the verdict: BUY NOW, FINE TO BUY (a buy_now because the model is new and at its launch price, with no price signal: no reason to wait, no deal to chase), NO RUSH, WAIT, SKIP, KEEP YOURS, UPGRADE, CHECK FIT, NOT ENOUGH DATA or NEWER MODEL OUT (PRICE NOT CONFIRMED when no price is confirmed for the exact model); the verdict field is the same whichever word is shown. display_label is the same answer in the words idevice.com prints (Good to buy, Fine to buy, No need to rush, Hold off for now, Look elsewhere, Newer model out, Price not confirmed, Keep what you have, Worth upgrading, Check the fit first, Too early to say); say that label to a person, and key on decision_word. A line slug (for example 'samsung-galaxy-ring') names the line's newest model; when that model is not on sale the answer is for the newest model of the line that is, and resolved_to says which and why. With buyer_context, the answer also carries buyer_decision: the personal answer the idevice.com decision page for the same question gives for that context (a recommendation class, its rule_id, the decisive factors, the trade-offs, what would change it and what is unknown, each with its evidence), and buyer_decision_info with the same answer in plain words and the page it belongs to. buyer_decision.base_answers are that page's own answers, which can differ from this tool's answer for a phone platform or a budget given as arguments.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "The product being considered, a product_slug, e.g. 'apple-watch'"
    },
    "owned_device_slug": {
      "type": "string",
      "description": "A product_slug of a device the shopper already owns, e.g. 'iphone-17'"
    },
    "owned_platform": {
      "type": "string",
      "enum": [
        "iphone",
        "android",
        "other"
      ],
      "description": "The phone platform the shopper uses"
    },
    "budget_usd": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "A price ceiling in US dollars"
    },
    "use_case": {
      "type": "string",
      "maxLength": 120,
      "description": "What it is for, e.g. 'running' or 'sleep tracking'"
    },
    "buyer_context": {
      "description": "Optional. The shopper's own situation, in the closed grammar of the form on the idevice.com decision pages: { context_version: \"buyer-context-v1\", context, provenance }. context: currency \"USD\", risk_tolerance \"normal\", urgency (today, within_30_days, within_90_days or can_wait), priorities (up to three { id, importance }, importance must_have, high or medium; an id is a use or buying criterion the page can weigh, such as sleep, fitness or battery_life), hard_constraints (up to three: { id: \"phone_platform\", value: \"iphone\" or \"android\" }, { id: \"no_subscription\", value: true }, { id: \"max_budget\", value: a dollar amount }), cost_inputs (up to three { kind: offered_price, trade_in or required_accessories, amount, currency \"USD\", explicit_zero }), and optionally platform, expected_ownership_months (12, 24, 36 or 48), owned_condition and ecosystem_switch_willingness. Amounts are numbers from 0 to 100000 with at most two decimals. provenance: for each hard constraint, \"hard_constraints:<id>\": \"selected\" when the shopper stated it; a hard constraint without \"selected\" is not applied. The products come from this call's own arguments. A context outside the grammar is answered with buyer_decision_info naming the fields to fix, and the rest of the answer is unchanged. The context is used for this one answer and then dropped: it goes into no log."
    }
  },
  "required": [
    "product_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢check_deal(product_slug, price_usd, retailer)

Whether a price offered for one product is a good deal: GOOD DEAL, NOT A GOOD DEAL or NOT ENOUGH DATA, by the same written rules as should_i_buy. Compares the price with the lowest current retailer price iDevice read today, the lowest verified price of this exact model (over low_period_days, said as low_period; only once iDevice has 30 days of verified checks, and called a 90-day low only when 90 days are covered) and the near-low band the rules use, and gives the buy-or-wait verdict at that price where the rules can state one. Each line says what it rests on. No model is involved and no probability is given. A line slug (for example 'samsung-galaxy-ring') names the line's newest model; when that model is not on sale the answer is for the newest model of the line that is, and resolved_to says which and why.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "The product, a product_slug, e.g. 'oura-ring-4'"
    },
    "price_usd": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 100000,
      "description": "The price offered, in US dollars"
    },
    "retailer": {
      "type": "string",
      "maxLength": 60,
      "description": "Where the price was offered, e.g. 'Best Buy'. Repeated in the answer as given."
    }
  },
  "required": [
    "product_slug",
    "price_usd"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢pick_between(product_slugs, owned_device_slug, owned_platform, budget_usd, buyer_context)

For two or three products, which one the written buy-or-wait rules put ahead, or that neither is ahead, optionally for a shopper who owns a device or uses iPhone or Android, with a budget. Each product comes with its verdict (buy_now, wait, skip, check_fit or not_enough_data), its fit with the phone given, today's retailer price and the reasons, each with its source and how sure iDevice is. A product that does not work with the phone given goes last; then the verdict decides, then the fit answer. Price alone does not put one ahead. When the rules leave two products level, review_tiebreak says whether outlets' published review scores separate them (at least two independent outlets that reviewed each, all one way, a clear margin) and lists the themes reviewers agree on, each with the outlets that reported it. purchase_today and product_for_you split the answer in two: the better purchase today on the rules, and the better product, named only on the phone or fit answer or on outlets' review scores, else No clear winner; where the companies' own figures lean one way, product_for_you says which product leads on which criteria, conditionally, and names no winner (lead null). A lead on the verdict alone (lead_basis timing) is about when to buy, not which product is better; a product that only reads BUY NOW or FINE TO BUY against NO RUSH is not a lead, and a product whose answer is not_enough_data (NEWER MODEL OUT, NOT ENOUGH DATA) is not out-bought unless the other product is its own newer model already out. The same comparison as the decision card on idevice.com. No model is involved. A line slug (for example 'samsung-galaxy-ring') names the line's newest model; when that model is not on sale the answer is for the newest model of the line that is, and resolved_to says which and why. With buyer_context, the answer also carries buyer_decision: the personal answer the idevice.com decision page for the same question gives for that context (a recommendation class, its rule_id, the decisive factors, the trade-offs, what would change it and what is unknown, each with its evidence), and buyer_decision_info with the same answer in plain words and the page it belongs to. buyer_decision.base_answers are that page's own answers, which can differ from this tool's answer for a phone platform or a budget given as arguments.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slugs": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 2,
      "maxItems": 3,
      "description": "Two or three product_slugs, e.g. ['oura-ring-4','samsung-galaxy-ring-1']"
    },
    "owned_device_slug": {
      "type": "string",
      "description": "A product_slug of a device the shopper already owns, e.g. 'iphone-17'"
    },
    "owned_platform": {
      "type": "string",
      "enum": [
        "iphone",
        "android",
        "other"
      ],
      "description": "The phone platform the shopper uses"
    },
    "budget_usd": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "A price ceiling in US dollars"
    },
    "buyer_context": {
      "description": "Optional. The shopper's own situation, in the closed grammar of the form on the idevice.com decision pages: { context_version: \"buyer-context-v1\", context, provenance }. context: currency \"USD\", risk_tolerance \"normal\", urgency (today, within_30_days, within_90_days or can_wait), priorities (up to three { id, importance }, importance must_have, high or medium; an id is a use or buying criterion the page can weigh, such as sleep, fitness or battery_life), hard_constraints (up to three: { id: \"phone_platform\", value: \"iphone\" or \"android\" }, { id: \"no_subscription\", value: true }, { id: \"max_budget\", value: a dollar amount }), cost_inputs (up to three { kind: offered_price, trade_in or required_accessories, amount, currency \"USD\", explicit_zero }), and optionally platform, expected_ownership_months (12, 24, 36 or 48), owned_condition and ecosystem_switch_willingness. Amounts are numbers from 0 to 100000 with at most two decimals. provenance: for each hard constraint, \"hard_constraints:<id>\": \"selected\" when the shopper stated it; a hard constraint without \"selected\" is not applied. The products come from this call's own arguments. A context outside the grammar is answered with buyer_decision_info naming the fields to fix, and the rest of the answer is unchanged. The context is used for this one answer and then dropped: it goes into no log."
    }
  },
  "required": [
    "product_slugs"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢find_best_device(category, owned_platform, budget_usd, priorities, limit)

A short ranked list of on-sale products in one category for a shopper: optionally the phone platform they use, a budget, and up to three priorities from the uses iDevice's Guides assign (for example sleep, running, battery-life, photos-video). Each product comes with its verdict (buy_now or wait), its fit with the phone given, today's retailer price, a one-line reason and its sources, and the place its Guide gives a named priority. In the list: a verdict of Buy now or Wait, and Works or Works with limits with the phone given. Order: the verdict, then the fit answer, then where the product's Guide places a named priority among the uses it lists, then price. A priority outside the Guides' uses is refused and the uses are listed. The same list rule as the decision card on idevice.com. No model is involved.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "glasses",
        "rings",
        "watches",
        "earbuds",
        "phones",
        "headsets",
        "fitness trackers"
      ],
      "description": "The kind of product"
    },
    "owned_platform": {
      "type": "string",
      "enum": [
        "iphone",
        "android",
        "other"
      ],
      "description": "The phone platform the shopper uses"
    },
    "budget_usd": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "A price ceiling in US dollars"
    },
    "priorities": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 40
      },
      "maxItems": 3,
      "description": "Up to three uses, e.g. ['sleep','battery-life']. A use iDevice's Guides do not assign is refused, with the list."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5,
      "description": "How many products, 1 to 5, default 3"
    }
  },
  "required": [
    "category"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢whats_coming(product_slug)

For one product: its stage, the release window with who stated it (the company, a company event, pre-release reports, or iDevice's own estimate), and the pre-release reports its Guide lists, each with its status (Confirmed, Reported, Expected or Our estimate), the track record of reporting like it with the group that record comes from, how many independent origins and outlets carried it, whether sources disagree, and the outlet and link it names. A detail that has already turned out right or wrong is not listed. The same rows as the Guide's own tab on idevice.com.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'iphone-pro'"
    }
  },
  "required": [
    "product_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_product_news(product_slug, company_key, limit, since)

Latest iDevice news about one product, each story with the sources it rests on. Newest first: the title, the date, the story page on idevice.com, a one-line summary, the kind of story (standalone or cluster) and the outlets and links it is based on (outlet, URL, date). The same stories as the News tab on the product's Guide. Optional limit (default 5, at most 15) and since (YYYY-MM-DD); a company_key returns a company's news instead. A story with no source link says so.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'apple-watch'"
    },
    "company_key": {
      "type": "string",
      "description": "A company key such as 'apple' or 'samsung', instead of a product_slug"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 15,
      "description": "Default 5, max 15"
    },
    "since": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Only stories published on or after this day, YYYY-MM-DD"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_products(query)

Every product iDevice covers, with its lifecycle (reported, announced, preorder, shipping, previous) and how many well-sourced reports it has (can be 0). Each entry includes its product_slug. Optional query filters by name, e.g. 'iphone 18 pro'. A line slug such as 'samsung-galaxy-ring' names the line's newest model (which can be one not yet on sale); a generation slug such as 'samsung-galaxy-ring-1' names one model; is_line: true marks a line slug, and part_of names a generation's line. Up to 20 entries per call with the total; a query narrows a longer list.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Words in the product name, e.g. 'galaxy ring'"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_product(product_slug)

Lifecycle, official or estimated price, key dates, availability (on sale or not, release date and its basis, where to buy), report count and how well-sourced the reports are. Works for products with no reports yet.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'apple-watch'"
    }
  },
  "required": [
    "product_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_product_facts(product_slug)

Official price (only when it was officially announced or is sold officially; otherwise labelled as an estimate), announcement and availability dates with their source, availability (is it on sale, and where to buy with the last price we read), a short compatibility summary, and specs. Every spec is marked Confirmed, Reported, Our read or Not confirmed, with the source outlet and date.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'apple-watch'"
    }
  },
  "required": [
    "product_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢compare_products(product_slugs, specs)

Side-by-side specs for 2 or 3 products, from the same engine as idevice.com/compare. Each cell carries Confirmed/Reported/Our read and its source outlet and date. Products in different categories are compared on shared structured facts only. Optional specs filters rows by keyword, e.g. ['battery','sleep'].

Input Schema

{
  "type": "object",
  "properties": {
    "product_slugs": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 2,
      "maxItems": 3,
      "description": "e.g. ['oura-ring-4','samsung-galaxy-ring-1']"
    },
    "specs": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "description": "Keywords to keep only matching rows"
    }
  },
  "required": [
    "product_slugs"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_compatibility(product_slug, query)

Whether a product works with a given phone or device, from its Guide's Works with tab: iPhone, Android, apps, other devices and standards. Each answer says Works, Works with limits, Needs extra hardware, Does not work or Not confirmed, with its requirements, limits, an evidence word (Confirmed, Reported, Our read or Not confirmed) and the source page link. Not confirmed means unknown, never incompatible. Optional query narrows to one thing, e.g. 'iphone' or 'android'.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'apple-airpods-pro-3'"
    },
    "query": {
      "type": "string",
      "description": "What it should work with, e.g. 'iphone', 'android', 'ps5'"
    }
  },
  "required": [
    "product_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_reports(product_slug, category)

Every well-sourced pre-release report for one product, each with its status (Right, Partly right, Wrong, Never settled, Not comparable, Not checked yet, No outcome yet), how many outlets reported it, who reported it first, and a link to the evidence on idevice.com.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'apple-glasses'"
    },
    "category": {
      "type": "string",
      "description": "Filter by report type, e.g. 'hardware', 'design', 'pricing'"
    }
  },
  "required": [
    "product_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_reports(query, limit)

Find well-sourced pre-release reports by keyword across every covered product, e.g. 'battery', 'display', 'price'. Each result carries its status and product lifecycle.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "description": "Keyword or phrase"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "description": "Default 20, max 20"
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_in_the_box(product_slug, variant)

What ships in the box for one product, per model or configuration, as the official product page states it: each item, its quantity, whether it is included (false means the official page says it is not), and the page it came from. Optional variant narrows to one configuration.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'apple-watch'"
    },
    "variant": {
      "type": "string",
      "description": "Part of a configuration name, e.g. 'Pro'"
    }
  },
  "required": [
    "product_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_release_history(product_slug)

Every generation of a product's line with its announcement and release dates, sources and launch price, plus the gaps between releases: mean, median, shortest and longest, in days and months.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'apple-watch'"
    }
  },
  "required": [
    "product_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_reviews(product_slug)

What other outlets scored one product: the Review Consensus (a normalized average, shown only from two scored reviews by two different publishers), the themes reviewers agree on, and each review with its outlet, published rating and link. The scores are the outlets' work; iDevice did not test these products for them.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'apple-watch'"
    }
  },
  "required": [
    "product_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_price_history(product_slug)

Dated prices for one product: today's verified price for this exact model (price_verified; when it is not verified the price is null and price_unverified_reason says Price not confirmed and why), when iDevice began checking it (tracking_since) and on how many days (history_days). Lows come only from verified checks of this exact model, one price a day: none under 30 days of checks; from 30 to 89 days the low (lowest_checked) with the days it covers (low_period_days, low_period), and lowest_last_30_days with the 30-day low and high; lowest_last_90_days only when 90 days are covered. Also the researched history (first and last observation, range, the points themselves, with bundles and refurbs marked and left out of the range).

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'apple-watch'"
    }
  },
  "required": [
    "product_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_detailed_facts(product_slug, topic, offset, limit)

Every individual fact for one product, grouped by topic: water and durability, temperature, battery and charging, display, camera, audio, connectivity, health sensors, lenses and sun, size and weight, chip and software. Each carries its value, unit, who stated it (Confirmed is an official first-party statement) and the source page. Optional topic narrows the list, e.g. 'temperature' or 'battery'. A product with more than 20 facts is read in pages with offset and limit.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'apple-watch'"
    },
    "topic": {
      "type": "string",
      "description": "A topic or keyword, e.g. 'water', 'temperature', 'camera'"
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "How many facts to skip, to read the next page. Default 0."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "description": "Facts per page. Default and maximum 20."
    }
  },
  "required": [
    "product_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_release_calendar(from, to, category, company)

Products not yet on sale, in date order: a release date, an announcement event, or a window shown as written (for example Fall 2026), each with who stated it (Announced by the company, Company event, Reported date, Reported window, iDevice estimate) and how many pre-release reports it has. Defaults to the next 120 days; optional from and to (YYYY-MM-DD, at most one year), category (watches, earbuds, glasses, phones, rings) and company narrow it. Products with no dated or sourced window are counted, not listed.

Input Schema

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First day, YYYY-MM-DD. Default today."
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last day, YYYY-MM-DD. Default 120 days after from; at most 366 days."
    },
    "category": {
      "type": "string",
      "description": "A category word, e.g. 'watches', 'earbuds', 'glasses', 'phones', 'rings'"
    },
    "company": {
      "type": "string",
      "description": "A company or brand word, e.g. 'apple', 'samsung', 'meta'"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢find_products(category, max_price, company, works_with)

What is on sale in one category (glasses, rings, watches, earbuds, phones, headsets, fitness trackers), optionally at or under a price or from one company, cheapest first. Each carries its current retailer price with the retailer and date, its list price, iDevice's published verdict and the Guide link. Current and previous models are listed; pre-orders and unreleased products are in get_release_calendar.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "description": "glasses, rings, watches, earbuds, phones, headsets or fitness trackers"
    },
    "max_price": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Price ceiling in US dollars"
    },
    "company": {
      "type": "string",
      "description": "A company or brand word, e.g. 'apple', 'samsung', 'meta'"
    },
    "works_with": {
      "type": "string",
      "description": "Keep only products that work with this, e.g. 'iPhone', 'Android' or a device name. Not confirmed counts as unknown, not incompatible."
    }
  },
  "required": [
    "category"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_guide_summary(product_slug)

The buying summary of one product's Guide: its one-line summary and bottom line, the at-a-glance facts, price and dates, where it sits in its line (the newest released model), and the facts that bear on buying now or waiting: whether a newer model is out or announced, the expected window with who stated it, the current retailer read against the list price and the lowest and typical price seen, and iDevice's published verdict with its reasons.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'apple-airpods-pro-3'"
    }
  },
  "required": [
    "product_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_report_card(product_slug, query)

A roll-up of one product's pre-release reports by how they turned out (Right, Partly right, Wrong, Never settled, Not comparable, Not checked yet, No outcome yet), and the reports themselves, newest first: the date, a one-sentence summary, who reported it, the outlet that carried it, its status and a link on idevice.com. Optional query narrows the reports to words in the summary or the outlet.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'apple-watch'"
    },
    "query": {
      "type": "string",
      "description": "Words to look for in the reports, e.g. 'battery' or 'Gurman'"
    }
  },
  "required": [
    "product_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_ownership_facts(product_slug, section)

What owning one product involves, each fact with its source page and date: the official return window, who pays return shipping and any restocking fee; the warranty length and what it covers; whether a subscription is needed, its price and the first-year cost where the price and billing period are both stated; the official support status as of a stated date; and published recalls, service programs and security-update windows. Optional section narrows the answer to one part.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'apple-watch'"
    },
    "section": {
      "type": "string",
      "enum": [
        "returns",
        "warranty",
        "subscription",
        "support",
        "programs"
      ],
      "description": "Only this part: returns, warranty, subscription, support or programs (recalls and service programs)"
    }
  },
  "required": [
    "product_slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_best_for(product_slug, use_case, category)

What a product is best for, from its Guide's Best For: up to three uses, each with a one-line reason and how it is known (the official page, the specification, a reported detail, or iDevice's own judgement). Or pass use_case (for example 'sleep', 'running', 'gaming', 'travel', 'photos and video') with an optional category to list the products on sale whose Guide puts that use in its top three.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'oura-ring-4'. Gives that product's own uses."
    },
    "use_case": {
      "type": "string",
      "description": "A use, e.g. 'sleep', 'running', 'gaming'. With no product_slug, lists the products best for it."
    },
    "category": {
      "type": "string",
      "description": "Narrows a use_case search: glasses, rings, watches, earbuds, phones, headsets, fitness trackers or pendants"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_variants_and_offers(product_slug, retailer)

The configurations of one product with their launch prices, to answer '$399 for which one?': storage, size, colour and material, each with its source; the retailer listings that are this exact model; and the conditions retailers attach to a member price, coupon, bundle, refurbished or trade-in offer, for the retailers where iDevice has read a price for it. Pass retailer (for example 'Best Buy') to see one store's conditions, with or without a product.

Input Schema

{
  "type": "object",
  "properties": {
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'oura-ring-4'"
    },
    "retailer": {
      "type": "string",
      "description": "A store name, e.g. 'Best Buy', 'Costco', 'Verizon'. Adds that store's offer conditions."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_company_profile(company)

A company as iDevice's public directory lists it: its name, homepage and a short description, the categories iDevice covers for it, and each of its products that has a Guide, with lifecycle, price and the Guide link. Pass the company's name or key, for example 'oura' or 'Samsung'.

Input Schema

{
  "type": "object",
  "properties": {
    "company": {
      "type": "string",
      "minLength": 2,
      "description": "A company name or key, e.g. 'oura', 'Samsung', 'meta'"
    }
  },
  "required": [
    "company"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_guide_extras(section, product_slug, term, query)

Three parts of the Guide: section 'timeline' gives a product's Timeline tab events, oldest first, with their sources, plus the official lifecycle dates; section 'faq' gives the Guide's questions and answers (optional query narrows them); section 'glossary' defines one term, the same text as the Guide's mouse-over.

Input Schema

{
  "type": "object",
  "properties": {
    "section": {
      "type": "string",
      "enum": [
        "timeline",
        "faq",
        "glossary"
      ],
      "description": "timeline, faq or glossary"
    },
    "product_slug": {
      "type": "string",
      "description": "A product_slug, e.g. 'apple-watch'. Needed for timeline and faq."
    },
    "term": {
      "type": "string",
      "description": "The term to define, e.g. 'field of view'. Needed for glossary."
    },
    "query": {
      "type": "string",
      "description": "For faq: words to look for in the questions and answers"
    }
  },
  "required": [
    "section"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded27 tools
verifiedversion not recorded27 tools
verifiedversion not recorded7 tools