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 分