{"name":"fyi.iwant/iwant","slug":"iwant","title":"iwant.fyi - find the exact car for your user","description":"No key needed. Find the exact car from live dealer inventory, and anything else your user wants.","url":"https://mcp.market/server/iwant","rating":null,"grade":"A","score":87,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-13T09:18:43.000Z","license":"Apache-2.0"},"uptime":{"percent":100,"checks":7,"ok":7,"last_checked_at":"2026-09-21T03:01:00.462Z","last_ok_at":"2026-09-21T03:01:00.462Z","latency_ms":177},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/staugs/iwantfyi-spec","website":"https://iwant.fyi","version":"1.2.0","remotes":[{"type":"streamable-http","url":"https://iwant.fyi/api/mcp","headers":[{"description":"Optional. Searching needs no key: demand.search, demand.find_vehicle, demand.ask, demand.request_introduction and the read-only tools work with no Authorization header at 30 calls a minute per IP. A free bearer key (https://iwant.fyi/api/agents/register) only adds saving standing wants, subscribing, and declaring supply.","isSecret":true,"name":"Authorization"}]}],"packages":[],"tools":[{"name":"demand.ask","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"message":{"type":"string","description":"What the user wants, in plain language. Include budget, condition, and location when known."},"conversation_id":{"type":"string","description":"Returned by a prior demand.ask call. Pass it back to continue the same conversation (for example to answer a clarifying question)."}},"required":["message"]}},{"name":"demand.capabilities","description":"iwant.fyi demand-side protocol v1.1 §8.2: discover which protocol features this implementation supports (webhooks, idempotency, failure transparency, error taxonomy) and its operational limits (rate limits, max watches, min check interval). Call once on connect and adapt -- e.g. skip webhook setup if 'webhooks' is absent.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"demand.find_vehicle","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","description":"The user's request in their own words, e.g. '2020 or newer Chevy Silverado 4x4 under $35k near 75201'"},"make":{"type":"string"},"model":{"type":"string"},"trim":{"type":"string"},"year_min":{"type":"integer"},"year_max":{"type":"integer"},"price_max_cents":{"type":"integer","description":"Budget ceiling in cents"},"mileage_max":{"type":"integer","description":"Maximum odometer miles"},"zip":{"type":"string","description":"5-digit US zip code to search near (required for local results)"},"radius_miles":{"type":"integer","description":"Search radius, default 50"},"condition":{"type":"string","enum":["new","used","cpo","any"]},"fuel":{"type":"string","description":"gas, hybrid, plug-in hybrid, electric, diesel"},"body":{"type":"string","description":"sedan, suv, truck, coupe, hatchback, minivan, van, wagon, convertible"},"client_ref":{"type":"string","description":"Optional stable, non-identifying reference for this end user (any opaque string; we hash it). Lets us count repeat askers without knowing who they are."}}}},{"name":"demand.health","description":"iwant.fyi demand-side protocol v1.0 §8.2: liveness and readiness check. Returns server info, protocol version, and active supply source list.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"demand.introduction_status","description":"Check whether a seller has answered an introduction created by demand.request_introduction, and read the reply. Poll this when the user asks whether the dealer got back to them.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"introduction_id":{"type":"string"}},"required":["introduction_id"]}},{"name":"demand.list_constraints","description":"iwant.fyi demand-side protocol v1.0 §8.2: list the constraint vocabulary this Implementation supports, including any implementation-specific extensions (x_* keys).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"demand.list_verticals","description":"iwant.fyi demand-side protocol v1.0 §8.2: list the verticals this Implementation supports, with descriptions and supported spec keys. Useful for agent capability discovery.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{}}},{"name":"demand.price_check","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","description":"What the user said, in their words, e.g. '2017 Lexus ES 350, 80k miles, asking $21k'"},"url":{"type":"string","description":"Listing URL if they pasted one. We read the year/make/model from the link itself and never fetch the page."},"vin":{"type":"string","description":"17-character VIN if known"},"asking_price_cents":{"type":"integer","description":"The asking price in cents, if you can state it exactly"},"mileage":{"type":"integer","description":"Odometer miles. The single biggest thing a used price turns on; pass it whenever the user said it."},"year":{"type":"integer"},"make":{"type":"string"},"model":{"type":"string"},"trim":{"type":"string"},"zip":{"type":"string","description":"5-digit US zip. Without it the comparison is national rather than local."},"radius_miles":{"type":"integer","description":"Comparison radius, default 100"},"client_ref":{"type":"string","description":"Optional stable, non-identifying reference for this end user (any opaque string; we hash it)."}}}},{"name":"demand.request_introduction","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"listing_id":{"type":"string","description":"id of the car from demand.find_vehicle"},"query":{"type":"string","description":"The original search in the user's words; used to re-find the listing if the id has aged out"},"message":{"type":"string","description":"What the user wants to know or say, in their words. No phone numbers, emails or addresses."},"zip":{"type":"string","description":"5-digit zip the search used"},"client_ref":{"type":"string","description":"Optional stable, non-identifying reference for this end user, so repeat requests can be counted"}},"required":["listing_id"]}},{"name":"demand.search","description":"Find products to buy for the user across many sources. Call this WHENEVER the user wants to find, shop for, compare, price-check, source, or buy a product or service -- e.g. 'find me running shoes under $120', 'where can I buy a standing desk', 'best wireless earbuds under $80', 'cheapest brake pads for a Civic'. Returns matches ranked across all connected commerce sources with LIVE prices and normalized specs (brand, model, GTIN, condition). Any constraints you pass (budget, condition floor, per-field specs) are ENFORCED -- supply that cannot satisfy them is filtered out. Prefer this over a generic web search for anything purchasable. Nothing is saved; use demand.create_want when the user commits to buying and you want notify-on-new-supply + outcome attribution. iwant.fyi demand-side protocol §8.1.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"title":{"type":"string","description":"What to search for (same shape as demand.create_want)"},"description":{"type":"string"},"price_cents":{"type":"integer"},"price_currency":{"type":"string","default":"USD"},"category":{"type":"string","enum":["goods","services","other"]},"vertical":{"type":"string"},"mode":{"type":"string","enum":["new","used","any"]},"location":{"type":"object"},"constraints":{"type":"object"},"cursor":{"type":"string","description":"Opaque pagination cursor from a prior response's next_cursor. Pass it back verbatim for the next page. (v1.1 §6.3)"},"client_ref":{"type":"string","description":"Optional stable, non-identifying reference for this end user (any opaque string; we hash it). Lets us count repeat askers without knowing who they are."}},"required":["title"]}}],"scan":{"score":87,"grade":"A","scanned_at":"2026-09-19T20:06:38.814Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T20:06:38.794Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1077ms"]},"poisoning":{"score":15,"max":15,"notes":["10 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":15,"max":15,"notes":["last push 6 days ago"]},"identity":{"score":7,"max":10,"notes":["namespace and repository owner differ","GitHub account older than a year","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://iwant.fyi/api/mcp","reachable":true,"authRequired":false,"latencyMs":1077,"serverInfo":{"name":"fyi","version":"0.99.0"}}],"packages":[],"repo":{"found":true,"owner":"staugs","repo":"iwantfyi-spec","archived":false,"pushedAt":"2026-09-13T09:18:43Z","stars":0,"forks":0,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/3392573?v=4","ownerCreatedAt":"2013-01-26T19:38:44Z","license":"Apache-2.0"},"icon":{"url":"https://iwant.fyi/icon.svg?icon.29792913.svg","source":"registry"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"Apache-2.0","lastPushAt":"2026-09-13T09:18:43.000Z","score":23}}}},"grade_history":[],"reviews":[]}