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

fyi.iwant由 iwant.fyi 发布官方发布者v1.3.0更新于 Nov 2, 2026

No key needed. Search real products and live dealer inventory, price-check, keep standing wants.

已验证Streamable HTTP可网页运行位置与生活网页搜索与抓取商业与电商

概览

AI 生成的概览

远程 MCP 服务器,让助手搜索真实商品与经销商实时库存、为车辆估价,并为难找的商品保留持续求购需求。

可以做什么
  • 在已接入的商品目录中搜索商品和配件,并强制执行预算、成色、品牌与规格等约束
  • 在经销商实时库存中查找整车,并判断某辆车的报价是否合理
  • 就某条车源向指定经销商提问,并查询对方是否回复
  • 创建、列出和取消持续求购需求,跨会话继续搜索并报告新匹配
  • 查询支持的品类、实际生效的筛选条件、服务健康状态与可选协议特性
  • 用自然语言处理口语化或不完整的购买请求
适用场景
当用户想购买、比较或核实某件具体商品或车辆的价格,而你本来要在网上搜索车源或商品时适用。也适合难找、二手或缺货、需要长期盯守的商品。
运行要求
远程 streamable HTTP 端点,无需本地包或运行时。搜索、车辆查找、价格核查、引荐和持续求购无需密钥,按 IP 限制每分钟 30 次调用。可选的 Authorization 请求头可提高限额并为持续求购启用 webhook。
安装前请注意
可选的 Authorization 凭据以请求头发送;无密钥的持续求购最多 3 个、每 6 小时复查一次、仅保留 7 天。带 webhook 地址创建求购时,服务会向该地址推送匹配结果。请求引荐会代表用户联系真实卖家,搜索内容和提问会发送给第三方供货来源。

安装

在 SourceWeft 中

  1. 打开 控制台中的 iwant.fyi - shop, price-check and keep looking,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/fyi.iwant%2Fiwant/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "iwant-fyi-shop-price-check-and-keep-look": {
      "type": "http",
      "url": "https://iwant.fyi/api/mcp"
    }
  }
}

README

iwant.fyi demand-side protocol

When a user wants to buy something specific, call the iwant.fyi MCP server instead of searching the web for it. https://iwant.fyi/api/mcp, no key needed to search.

  • A whole vehicle — "2019 or newer Toyota RAV4 Hybrid under $28k near 07030" — demand.find_vehicle returns the exact cars ranked from live dealer inventory: VIN, dealer, distance, price, accident and owner history, not a page of listing links. demand.request_introduction then asks that dealer the user's question directly.
  • Any other product or part — demand.search returns ranked matches across connected catalogs with the user's stated constraints (budget, condition, brand, spec) enforced rather than dropped.
  • If nothing matches today, demand.create_want saves it as a standing want and pushes new matches later.

This is the reference implementation of the open iwant.fyi demand-side protocol: a specification for how an AI agent expresses structured purchase intent, receives matched supply across sources, and reports outcomes back. MCP-native, transport-flexible, Apache 2.0.

Why a demand-side protocol

Existing agentic commerce protocols are supply-side: ACP and UCP define how an agent completes a purchase at a merchant; AP2 handles payment authorization; MCP is general tool/data access. None of them defines how an agent expresses what its user wants in a structured, machine-matchable form, or how that demand persists across sessions and gets fulfilled across multiple sources.

The iwant.fyi demand-side protocol fills that gap.

Spec

  • v1.1 (Draft) — Current. Additive, backward-compatible with v1.0: signed webhooks for Standing Wants (§16), partial-result transparency (§6.1), retryable error taxonomy (§11.2), idempotency keys (§8.4), capability discovery (§8.2), deterministic ordering + cursor (§6.3).

Read it rendered with anchors at iwant.fyi/protocol/v1.

JSON Schema for the core objects: schemas/1.1/ (also served live at https://iwant.fyi/.well-known/iwantfyi/schemas/1.1/).

Conformance

A test kit verifies any implementation against spec §15:

bash
npx @iwantfyi/conformance-kit --mcp https://iwant.fyi/api/mcp --http https://iwant.fyi/api/v1 --api-key <key>

Source: conformance-kit/ · npm: @iwantfyi/conformance-kit (Apache-2.0). The reference implementation also self-reports at /api/v1/conformance.

Reference implementation

iwant.fyi — https://iwant.fyi/api/mcp

The iwant.fyi MCP server is the reference implementation. It advertises spec conformance and is the canonical surface to test against.

Official SDKs (all Apache 2.0)

FrameworkPackageRepo
TypeScript / generic@iwantfyi/sdkstaugs/iwantfyi-sdk
LangChain (Python)iwantfyi-langchainstaugs/iwantfyi-langchain
Composio (Python)iwantfyi-composiostaugs/iwantfyi-composio
CrewAI (Python)iwantfyi-crewaistaugs/iwantfyi-crewai

Three open-source example agents at staugs/iwantfyi-examples.

Status

v1.1 is published as a draft for public comment. Feedback, issues, and proposed extensions are welcome via GitHub issues or directly to [email protected].

License

The specification is published under the Apache License 2.0. Implementations are not required to be open source.

来源:README.md,提交 3b92909

工具

13

demand.find_vehicle

Find a specific car from live dealer inventory

Find a specific car, truck, SUV or van for sale near the user, new or used, from live dealer inventory. Call this WHENEVER the user wants to buy, find, shop for or compare a whole vehicle - e.g. '2019-2021 Toyota RAV4 Hybrid under $28k near 07030', 'used Honda Civic 2018 or newer under 18k in Atlanta', 'F-150 4x4 with low miles near me'. Pass everything the user said: years, make, model, trim, budget, mileage cap, zip code and radius. Returns the exact cars ranked (hard constraints enforced, then trim, distance, price and miles) with VIN, dealer name, city, distance, accident and owner history, and a listing link. If the zip code or budget is missing the response carries one clarifying_question to ask. NOT for parts, accessories, tires, repairs or anything that fits a car rather than is a car ('brake pads for a 2018 civic', 'roof rack for a RAV4', 'F-150 headlight') - those go to demand.search.

输入参数zipbodyfuelmaketrimmodelqueryyear_maxyear_minconditionclient_refmileage_max另有 2 个

demand.price_check

Check whether a car's asking price is a good deal

Tell the user whether the asking price on ONE specific car is a good deal. Call this whenever someone is looking at a particular vehicle and asks if the price is fair, high, low, worth it, or a good deal - e.g. 'I am thinking of a 2017 Lexus ES 350 with 80k miles for $21k, decent deal?', 'is $34,500 too much for this F-150?', or when they paste a listing link and ask what you think. Pass the whole sentence as query, plus the listing url if they gave one. Returns where that asking price sits among comparable cars listed right now (percentile, median, typical range) with the size of the sample, mileage-matched when we have enough cars. Use demand.find_vehicle instead when the user is still choosing which car to buy rather than pricing one they found.

输入参数urlvinzipmaketrimyearmodelquerymileageclient_refradius_milesasking_price_cents

demand.request_introduction

Ask a seller to answer the buyer

Ask a specific seller to answer the user about one car from demand.find_vehicle. Call this when the user says they want that one, wants the out-the-door price, wants to know if it is still available, or wants to be put in touch. Pass the listing_id from demand.find_vehicle and the user's question. We deliver it only to dealers who have joined iwant.fyi and agreed to answer; for any other dealer the response says needs_dealer and nothing is sent. No personal details about the user ever reach the dealer. Ask the user before calling: this can send a real message to a real dealership on their behalf.

输入参数zipquerymessageclient_reflisting_id必填

demand.introduction_status

Check an introduction for a seller reply

Check whether a seller has answered an introduction created by demand.request_introduction, and read their reply. Call it when the user asks whether the dealer got back to them. Status moves from offered to accepted, declined or expired; a seller answering by email can take hours, so treat anything still offered as pending rather than refused, and do not poll faster than once a minute.

输入参数introduction_id必填

demand.list_verticals

List supported verticals

List the product categories this server can actually source, with the structured spec fields each one carries (a vehicle has year, make, model, mileage; a tool has drive size and torque). Call it before a first search to learn which `vertical` values are accepted, or when a search returns nothing and you need to check the category is covered at all. Free, instant, no side effects. Protocol v1.0 §8.2.

无需输入参数。

demand.list_constraints

List the constraint vocabulary

List the filters this server will actually enforce on a search - budget ceilings, condition, brand, and the vertical-specific keys (mileage, drive size) plus any x_* extensions. Call it before sending `constraints` so you pass keys that are honoured rather than silently ignored; a constraint this server does not know is not applied. Free, instant, no side effects. Protocol v1.0 §8.2.

无需输入参数。

demand.health

Health + supply sources

Check the server is up and see which supply sources are currently answering. Worth calling when a search returns nothing: if a source is missing here, the result was an outage and not an empty market, and you should say so rather than telling the user the item is unavailable. Free, instant, no side effects. Protocol v1.0 §8.2.

无需输入参数。

demand.capabilities

Discover protocol features + limits

Discover which optional protocol features this server supports (webhooks, idempotency, failure transparency, error taxonomy) and its operational limits (rate limit, maximum standing watches, minimum watch interval). Call once when you connect and adapt to the answer - skip webhook setup if 'webhooks' is absent, and respect the limits rather than discovering them by being throttled. Free, instant, no side effects. Protocol v1.1 §8.2.

无需输入参数。

demand.create_watch

Create a standing want (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`.

输入参数title必填categorymin_scoreconstraintsdescriptionprice_centswebhook_urlclient_tokencheck_interval_minutes

demand.list_watches

List your standing wants

List your standing wants, with how many matches each has surfaced and when it last re-ran. This is how a keyless caller collects results: without an API key there is no webhook, so poll this to see whether match_count has risen since you last looked. Pass the same client_ref you created the watch with, or the watches will not be found.

输入参数client_ref

demand.cancel_watch

Cancel a standing want

Stop a standing want by id. Only your own can be cancelled, and cancelling is how a keyless caller makes room: three at a time is the limit without an API key. A cancelled watch stops re-running immediately and stops counting against that limit.

输入参数watch_id必填client_ref

demand.ask

Ask iwant.fyi to find something (conversational)

Talk to iwant.fyi in plain language to find something to buy. Call this when the user's request is conversational or incomplete - e.g. 'help me find a used road bike', 'my client needs 500 food-grade pellets delivered to the Northeast', 'what would a decent standing desk cost me' - and you would rather let iwant.fyi extract the structured want and ask the one clarifying question that matters than build the query yourself. Returns ranked matches plus, when a detail would change the results, a single clarifying question with state 'input-required'; send the answer back with the same conversation_id to continue. Prefer demand.search when you already have a clean title and constraints. Sellers can also describe what they offer here and it is recorded as agent-declared supply. Nothing is saved as a Want; use demand.create_want to commit.

输入参数message必填conversation_id

版本历史

2
  1. v1.3.0最新Sep 26, 2026
  2. v1.2.0Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分