duo watch
← Stock tracker

Track iPhone Duo stock with an MCP agent

Duo Watch exposes the same cached Apple Store pickup observations used by the website through an open MCP server. There is no account or API key. This is useful when your assistant should answer a specific stock question or receive supported resource updates.

Connect your client

Add a remote MCP server with HTTP or Streamable HTTP transport at:

https://iphone-duo-watcher.jamiepinheiro.com/mcp

For clients accepting an mcpServers configuration, a typical example is:

{
  "mcpServers": {
    "duo-watch": {
      "type": "http",
      "url": "https://iphone-duo-watcher.jamiepinheiro.com/mcp"
    }
  }
}

Configuration keys vary by client. Some clients accept the URL through a settings screen instead. This server uses protocol version 2025-06-18.

Ask a specific stock question

Try: “Check iPhone Duo 512GB availability in San Francisco. Show the store, configuration, and check time. Treat stale results as unknown.”

The check_availability tool accepts country, query, color, capacity and available filters. Use an ISO country code such as US or GB. Capacities are 256GB, 512GB, 1TB and 2TB. recent_restocks returns recorded observations; it cannot predict the next shipment.

Receive updates where the client supports them

  1. Initialize the MCP session and retain its Mcp-Session-Id.
  2. Subscribe to the resource duo://availability using resources/subscribe.
  3. Keep the session's GET /mcp server-sent event stream connected.
  4. When notifications/resources/updated arrives, call resources/read to retrieve the resource again.

A tool-only chat client will not automatically watch in the background. Resource subscriptions require explicit client support and a running connection. Reconnecting clients should read current availability; events are not a durable replay log.

Interpret freshness before reporting stock

The response includes inventory health and check timestamps. Unverified records and observations older than 30 minutes are unknown. The check time is the retrieval time; the source snapshot can be up to 10 minutes older. Global passes may take longer than the target interval. Never translate an unknown result into “sold out.”

For integrations without MCP, use the JSON API or the /events SSE endpoint. See the protocol and data notes. Alerts do not reserve stock; confirm pickup with Apple before travelling.