Skip to main content
Glama

iwant.fyi - shop, price-check and keep looking

Create a standing want (watch)

demand.create_watch

Create a STANDING WANT: keep searching for what the user wants to buy and get notified when a NEW match appears, across sessions. Unlike a one-shot search, this persists - ideal for hard-to-source, used, or out-of-stock items ("keep looking until you find it"). Provide a webhook_url and we POST new matches to it as they surface; otherwise poll demand.list_watches. Same query shape and enforced constraints as demand.search. WITHOUT AN API KEY this works too, under limits: no webhooks, three standing wants at a time, a six-hour minimum re-check, and a seven-day life. Any limit applied to your request comes back in notes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYesWhat to keep watching for (3-200 chars)
categoryNoBroad kind of thing. Defaults to goods; use services for labour.
min_scoreNoOnly notify on matches at/above this relevance (0..1, default 0.5)
constraintsNoMachine-evaluable constraints (rules.condition_min, rules.specs). Enforced like demand.search.
descriptionNoFurther detail that did not belong in the title: intended use, acceptable substitutes, what is already ruled out.
price_centsNoBudget ceiling in cents. $1,200 is 120000. Enforced as a maximum for the life of the watch, so a wrong ceiling means it can never match.
webhook_urlNohttps URL we POST new matches to (type: want.matches). Requires an API key - a keyless request naming one is refused rather than silently ignored.
client_tokenNoOptional idempotency key (<=128 chars). Retrying with the same token returns the original watch instead of creating a duplicate. (v1.1 §E)
check_interval_minutesNoHow often to re-check, in minutes (>=5 with a key, >=360 without, default 60). A request below the floor is raised and the change reported in `notes`.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
notesNoAny limit applied to your request, stated plainly rather than applied silently.
watchYesThe standing want as stored.
messageNoHuman-readable summary.
webhook_secretNoShown once, on first creation only. Signs every delivery.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. Changed1 schema field changed
    • addedInput schema / properties / client_token
      Added value: +{
      +  "description": "Optional idempotency key (<=128 chars). Retrying with the same token returns the original watch instead of creating a duplicate. (v1.1 §E)",
      +  "type": "string"
      +}
  4. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations are minimal (readOnlyHint false, openWorldHint true, destructiveHint false), so the description carries the full burden. It discloses persistence, notification via webhook or polling, API-key-dependent limits (no webhooks, three watches, six-hour re-check, seven-day life), and that limits are reported in `notes`. It also mentions idempotency via client_token. No contradictions with annotations.

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

Conciseness4/5

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

The description is moderately long but each sentence adds critical info: the core concept, the alternative, webhook vs polling, keyless limits, and the notes field. It is front-loaded with the key purpose. A minor reduction in wordiness could be achieved, but nothing is redundant.

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 9 parameters, nested objects, and an output schema, the description covers all necessary operational aspects: usage context, alternatives, configuration details, limitations, and idempotency. The existence of an output schema covers return format. No missing piece that an agent needs to call this correctly.

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

Parameters5/5

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

Schema coverage is 100%, so each parameter has a description, but the tool description adds substantial meaning: price_cents 'wrong ceiling means it can never match', check_interval_minutes floor behavior, webhook_url requiring an API key and refusal on keyless requests, client_token idempotency, and constraints being 'same as demand.search'. This goes well beyond 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 the tool's function: create a standing want that persists across sessions and notifies on new matches. It explicitly contrasts with one-shot search and names the sibling tool demand.search, making it easy to distinguish. The resource (standing want) and action (create) are unambiguous.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use guidance ('ideal for hard-to-source, used, or out-of-stock items') and contrasts with one-shot search. It also explains the two consumption modes (webhook vs. polling demand.list_watches) and notes that the same query shape and constraints as demand.search apply, giving clear context and alternatives.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.