MCP server / Documentation

MCP server documentation

Everything to connect an AI assistant or app to https://idevice.com/api/mcp: setup for every client, the 6 tools with real example calls and responses, limits, data freshness, what is and isn't included, and how to cite iDevice.

Quick start

Claude Code

claude mcp add --transport http idevice https://idevice.com/api/mcp

Claude Desktop

Settings, Connectors, Add custom connector, and paste https://idevice.com/api/mcp. Or add this to claude_desktop_config.json (needs Node.js):

{
  "mcpServers": {
    "idevice": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://idevice.com/api/mcp"]
    }
  }
}

ChatGPT

Settings, Connectors, Create, paste the endpoint URL, and set authentication to "No authentication". ChatGPT connectors currently expose a subset of MCP tool calls depending on the surface (chat vs. Deep Research); all 6 tools here work through the connector.

Cursor

Add to .cursor/mcp.json in your project, or ~/.cursor/mcp.json globally.

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

Generic JSON (any MCP-compatible app)

{
  "mcpServers": {
    "idevice": {
      "type": "streamable-http",
      "url": "https://idevice.com/api/mcp"
    }
  }
}

Raw protocol, with curl

The server speaks streamable HTTP MCP directly, so any HTTP client works without an SDK. Discovery (no protocol handshake needed):

curl https://idevice.com/api/mcp

Initialize a session:

curl -s https://idevice.com/api/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"my-app","version":"1.0"}}}'

Call a tool (the server is stateless, so this works without reusing a session id):

curl -s https://idevice.com/api/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{
        "name":"get_product","arguments":{"product_slug":"apple-watch"}
      }}'

Tools reference

All 6 tools are read-only (readOnlyHint: true). None of them write anything or take an admin action. Every result includes a url back to the relevant page on idevice.com; please keep and show that link.

list_products

List tracked products

Every product iDevice tracks, including ones with no claims yet: name, product_slug, category, lifecycle (rumored, announced, preorder, shipping, previous) and claim count. Call this first to find a product_slug for the other tools.

Arguments

query?stringOptional. Words in the product name, e.g. "apple watch". Omit it to list everything.

Example call

{"name":"list_products","arguments":{"query":"apple watch"}}

Example response (real, from a live call, trimmed for length)

{
  "products": [
    {
      "product": "Apple Watch Series 12",
      "product_slug": "apple-watch",
      "category": "apple-watch",
      "lifecycle": "shipping",
      "claims": 24,
      "url": "https://idevice.com/smart-watches/apple-watch/roadmap"
    },
    {
      "product": "Apple Watch Ultra 4",
      "product_slug": "apple-watch-ultra",
      "category": "apple-watch",
      "lifecycle": "shipping",
      "claims": 5,
      "url": "https://idevice.com/smart-watches/apple-watch-ultra/roadmap"
    }
    // ... 13 more results (15 total) for this query
  ],
  "count": 15,
  "total": 15
}

get_product

Get one product's status

Lifecycle, official or estimated price, key dates, claim count and how well-sourced the claims are. Works for products with no claims yet.

Arguments

product_slugstringFrom list_products, e.g. "apple-watch".

Example call

{"name":"get_product","arguments":{"product_slug":"apple-watch"}}

Example response (real, from a live call, trimmed for length)

{
  "product": "Apple Watch Series 12",
  "product_slug": "apple-watch",
  "found": true,
  "category": "apple-watch",
  "lifecycle": "shipping",
  "price": { "basis": "official", "label": "Starting price", "price": "$399" },
  "dates": {
    "announced_on": "2026-09-09",
    "announced_on_source": "apple.com",
    "available_on": "2026-09-18",
    "available_on_source": "Apple Newsroom"
  },
  "claims": 24,
  "best_corroboration": "widely-reported",
  "url": "https://idevice.com/smart-watches/apple-watch/roadmap"
}

get_product_facts

Get price, dates and specs for a product

Official price (only when the maker announced or is selling it, otherwise labelled as an estimate), announcement and availability dates with their source, and specs. Every spec is marked Confirmed, Rumored, Our read or No source on file, with the source outlet and date.

Arguments

product_slugstringFrom list_products, e.g. "oura-ring-4".

Example call

{"name":"get_product_facts","arguments":{"product_slug":"oura-ring-4"}}

Example response (real, from a live call, trimmed for length)

{
  "product": "Oura Ring 4",
  "product_slug": "oura-ring-4",
  "category": "oura",
  "lifecycle": "previous",
  "price": { "basis": "official", "label": "Launch price", "price": "$349" },
  "retail_price_seen": {
    "usd": 349, "retailer": "Amazon", "seen_on": "2026-09-24",
    "note": "A retailer listing we tracked, not the maker's price."
  },
  "dates": {
    "announced_on": "2024-10-03",
    "available_on": "2024-10-15",
    "available_on_source": "CNBC"
  },
  "colors": ["Silver", "Black", "Brushed Silver", "Stealth", "Gold", "Rose Gold"],
  "specs": {
    "battery": {
      "value": "5–8 days", "status": "Confirmed",
      "source": "Oura (official)", "source_date": "2026-07-11"
    },
    "blood_glucose": { "value": "No", "status": "No source on file" }
    // ... every other tracked spec for this product
  },
  "spec_status_key": "Confirmed = backed by the maker or a confirmed source. Rumored = reported, not confirmed. Our read = iDevice's inference. No source on file = listed without a receipt.",
  "url": "https://idevice.com/smart-rings/oura/roadmap/ring-4"
}

compare_products

Compare two or three products

Side-by-side specs for 2 or 3 products, from the same engine as idevice.com/compare. Each cell carries Confirmed/Rumored/Our read and its source outlet and date. Products in different categories are compared on shared structured facts only.

Arguments

product_slugsstring[]2 or 3 slugs, e.g. ["oura-ring-4","samsung-galaxy-ring-1"].
specs?string[]Optional, up to 10 keywords to keep only matching rows, e.g. ["battery"].

Example call

{"name":"compare_products","arguments":{"product_slugs":["oura-ring-4","samsung-galaxy-ring-1"],"specs":["battery"]}}

Example response (real, from a live call, trimmed for length)

{
  "mode": "same-category",
  "category": "rings",
  "products": [
    { "product": "Oura Ring 4", "product_slug": "oura-ring-4", "lifecycle": "previous",
      "price": { "basis": "official", "label": "Launch price", "price": "$349" },
      "url": "https://idevice.com/smart-rings/oura/roadmap/ring-4" },
    { "product": "Samsung Galaxy Ring", "product_slug": "samsung-galaxy-ring-1", "lifecycle": "shipping",
      "price": { "basis": "official", "label": "Starting price", "price": "$399.99" },
      "url": "https://idevice.com/smart-rings/samsung-galaxy-ring/roadmap/galaxy-ring" }
  ],
  "rows": [
    {
      "spec": "battery",
      "values": {
        "oura-ring-4": { "value": "5–8 days", "status": "Confirmed", "source": "Oura (official)", "source_date": "2026-07-11" },
        "samsung-galaxy-ring-1": { "value": "Up to 7 days (5–7 real-world)", "status": "Rumored", "source": "Samsung Mobile Press (official specs)", "source_date": "2026-07-12" }
      }
    },
    {
      "spec": "battery case",
      "values": {
        "oura-ring-4": { "value": "Up to 48 days total · $99 optional", "status": "Confirmed", "source": "Oura", "source_date": "2026-07-15" },
        "samsung-galaxy-ring-1": { "value": "Up to 14 days total · included", "status": "Confirmed", "source": "Samsung", "source_date": "2026-07-15" }
      }
    }
  ],
  "spec_status_key": "Confirmed = backed by the maker or a confirmed source. Rumored = reported, not confirmed. Our read = iDevice's inference. No source on file = listed without a receipt."
}

get_claims

Get reported claims for a product

Every well-sourced claim for one product (each corroborated by at least two independently verified sources), with its status, outlet count, who reported it first, and a link to the evidence on idevice.com.

Arguments

product_slugstringFrom list_products, e.g. "apple-watch".
category?stringOptional. Filter by claim type, e.g. "hardware", "design", "pricing", "ai".

Example call

{"name":"get_claims","arguments":{"product_slug":"apple-watch"}}

Example response (real, from a live call, trimmed for length)

{
  "product": "Apple Watch Series 12",
  "product_slug": "apple-watch",
  "lifecycle": "shipping",
  "claims": [
    {
      "product": "Apple Watch Series 12", "product_slug": "apple-watch", "product_lifecycle": "shipping",
      "status": "Right", "status_explain": "It turned out the way this report said.",
      "claim": "Apple's rebuilt Siri will come to the wrist",
      "summary": "watchOS 27 brings Apple's rebuilt Siri to the wrist with natural conversations, contextual awareness, and its own app.",
      "category": "ai",
      "corroboration": { "outlets": 11, "label": "widely-reported" },
      "url": "https://idevice.com/smart-watches/apple-watch/features/siri-ai-on-wrist-for-the-first-time-via"
    }
    // ... more claims, ordered by corroboration
  ],
  "count": 20,
  "total": 24,
  "status_counts": { "Right": 13, "Not checked yet": 6, "Wrong": 2, "Partly right": 2, "Never settled": 1 },
  "note": "Showing the top 20 of 24 by corroboration. Use category to narrow."
}

search_claims

Search claims across all products

Find well-sourced claims by keyword across every tracked product, e.g. "battery", "display", "price". Each result carries its status and product lifecycle.

Arguments

querystringKeyword or phrase, minimum 2 characters.
limit?numberOptional, 1-20. Default 20.

Example call

{"name":"search_claims","arguments":{"query":"battery","limit":2}}

Example response (real, from a live call, trimmed for length)

{
  "query": "battery",
  "results": [
    {
      "product": "Samsung Galaxy Watch Ultra 2", "product_slug": "samsung-galaxy-watch-ultra", "product_lifecycle": "shipping",
      "status": "Right", "status_explain": "It turned out the way this report said.",
      "claim": "The battery grows 35% to 800mAh",
      "summary": "Galaxy Watch Ultra 2 ships with an 800mAh battery, up from the original Ultra's 590mAh, a 35% increase, confirmed by Samsung at launch.",
      "category": "battery",
      "corroboration": { "outlets": 12, "label": "widely-reported" },
      "first_reported_by": "SamMobile", "first_reported_on": "2026-06-09",
      "url": "https://idevice.com/smart-watches/samsung-galaxy-watch-ultra/features/an-800mah-battery-35-bigger-than-the-ultra-1"
    },
    {
      "product": "Samsung Galaxy Watch 9", "product_slug": "samsung-galaxy-watch", "product_lifecycle": "shipping",
      "status": "Right", "status_explain": "It turned out the way this report said.",
      "claim": "The watch still comes in 40mm and 44mm, each in Bluetooth or LTE",
      "category": "design",
      "corroboration": { "outlets": 12, "label": "widely-reported" },
      "first_reported_by": "Digital Citizen", "first_reported_on": "2026-06-20",
      "url": "https://idevice.com/smart-watches/samsung-galaxy-watch/features/40mm-and-44mm-sizes-each-in-bluetooth-and-lte"
    }
  ],
  "count": 2
}

Limits and fair use

  • 30 calls per minute per IP address.
  • 500 calls per day per IP address.
  • 20 items per call at most from list_products, get_claims and search_claims. When a result is truncated, the response says so and gives the true total so you know more exists.
  • No offset or pagination parameter exists on any tool — this is deliberate. The server is meant for looking up specific products and claims, not for walking the whole catalogue.

A limit reached returns a JSON-RPC error rather than silently dropping the request, so a well-behaved client can back off and retry. There is no paid tier and no way to raise these limits today; if you need higher volume for a legitimate research or product use, reach out.

Data freshness

Everything served by the MCP server reads from the same database as idevice.com, live, on every call. There is no separate export, no nightly snapshot and no cache layer between the tool and the site's own data. If a price, a date or a claim's status changes on the site, the next MCP call reflects it immediately.

What's included, and what isn't

Included

  • Every tracked product's lifecycle, official or estimated price, and key dates.
  • Sourced specs, each marked Confirmed, Rumored, Our read or No source on file, with the outlet and date.
  • Side-by-side comparisons across up to three products.
  • Reported claims that meet a two-independent-source corroboration threshold, each with a public outcome status (Right, Wrong, Partly right, Never settled, Not comparable, Not checked yet, No outcome yet), outlet count, and who reported it first.

Not included

  • No sponsor or advertiser data. The MCP server has no reference to sponsored Guides anywhere; a search for sponsor terms returns nothing.
  • No source sentences or article URLs. The verbatim quotes and links behind a claim stay on idevice.com. This is deliberate: an assistant can accurately summarize what is known and how solid it is, and it links back for the evidence rather than reconstructing our citation graph wholesale.
  • No source certainty grades or internal IDs. Only the public-facing status words.
  • No bulk export. No pagination parameter, a 20-item cap per call, and per-IP rate limits, so the tools work for specific lookups, not for reconstructing the whole catalogue in a script.

Attribution

If your assistant or app uses data from this server in an answer, please cite iDevice by name and link to the url the tool returned. That link points at the exact page the fact came from, with the full evidence and sourcing behind it. We built and maintain this data; a citation is how readers find their way back to it and how we know the server is being used well.

Changelog

2.1.02026-09-24

  • Rate limits added: 30 calls/minute and 500 calls/day per IP.
  • Per-call result caps added: at most 20 items from list_products, get_claims and search_claims.
  • Every call logged server-side (tool, arguments, hashed IP, latency).
  • Every claim now carries its public outcome (Right / Wrong / Partly right / Never settled / Not comparable / Not checked yet / No outcome yet) and its product's lifecycle.
  • Two tools added: get_product_facts and compare_products, both reading the same engine as idevice.com/compare.
  • Products are reachable without claims — a product no longer needs a graded claim to be listed.

2.0.02026-07-31

  • Rebuilt on the official MCP SDK (streamable HTTP, protocol version negotiation handled by the SDK).
  • Tool set narrowed to protect the corpus: dropped get_timeline and search_articles (both returned article source URLs), dropped the original compare_products and get_glossary.
  • No key required, by design: every field served is already public on idevice.com.

Contact

Questions, higher-volume access, or something looks wrong: email [email protected]. Server card at /.well-known/mcp/server-card.json. Discovery metadata at GET /api/mcp. Listed on the official MCP Registry as io.github.ralphieusa/idevice-wearables, on Smithery and on Glama.