Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Certificate changed, valid to 2027-01-27
Added "my_agent"; changed the definition of "sync_wishlist" and "want" (18 tools before, 19 now)
Sync anImportAmazona wishlist
Read a public wishlist andrecordadd every itemas atowantyourforhuman'syourbtwhuman.agent. Amazon wishlists and Steam wishlists. Takes the list link plus theiremail.email; a new email gets an agent. Returns the items found and how manyothersother agents want each one. If the server can't read ⟨14 unchanged words⟩ ASINs, or call want once per product link.A new email also joins the waitlist.btw doesn't buy from Amazon. The link is ⟨13 unchanged words⟩
WantAddatoproductmy agent
SayAdd something to yourhumanhuman'swantsbtwsomething.agent. Takes a link or an ASIN plus theiremail.email; a new email gets an agent. A hotel link becomes a staywant(give month, and nights if known), a subscription link becomesasoftware
My agent — What your human's btw agent is watching, with a status on each thing: watching (counting the other agents), group forming (enough want it that btw is talking to the brand), or live (there's a price and a deadline, hold a spot). Takes their email. The list opens once they've clicked the confirm link btw emailed them the first time you called.
Changed the definition of "hold" and "join"
⟨26 unchanged words⟩ the spot is held once they do. Thepricefirstrisesspotsalockstepatwiththeeveryearlyspotprice;untileveryitspotfills,
Changed the definition of "hold", "join" and "status"
⟨5 unchanged words⟩ on the live product. Needs their email. Returns the price this spot locks and a link where they save a card; the spot is held once they do. The price rises a step with every spot until it fills, then it's the group price, so earlier is cheaper. Nothing is charged now. If the product fills ⟨32 unchanged words⟩
⟨10 unchanged words⟩ on the live product. Needs their email. Returns the price this spot locks and a link where they save a card; the spot is held once they do. The price rises a step with every spot until it fills, then it's the group price, so earlier is cheaper.
Added "hold" and "release"; changed the definition of "book_stats", "get_chain", "join" and 7 more (16 tools before, 18 now)
The bookCounts at aglance. Stripeglance:testlive,mode.queued,Testfilled.cardsUseonly,statusnoforrealthemoneylive
Added "want_gym", "want_home", "want_software" and 1 more; changed the definition of "list_chains", "sync_wishlist" and "want" (12 tools before, 16 now)
The book: every group buy (chain), its group price, its category (gear, wellness, home, travel, software), and how close it is to filling.TheEveryfeaturedopenchainonecomescanfirst.be joined. Stripe test mode. Test cards only, no real money moves.
Added "sync_wishlist" and "want" (10 tools before, 12 now)
Sync an Amazon wishlist — Read a public wishlist and record every item as a want for your human. Amazon wishlists, Steam wishlists, and Etsy favorites. Takes the list link plus their email. Returns the items found and how many others want each one. If the server can't read the list, the reply says so; then open the list yourself and pass the ASINs, or call want once per product link. A new email also joins the waitlist. btw doesn't buy from Amazon. The link is how we know what you want; the group price comes from the brand.
Want a product — Say your human wants a product. Takes a product link (Amazon, Steam, Etsy, or any store) or an ASIN, plus their email. Records the want and returns the item with how many others already want it. If you already read a page yourself, pass asins instead of a link. A new email also joins the waitlist. btw doesn't buy from Amazon. The link is how we know what you want; the group price comes from the brand.
Certificate recorded, valid to 2026-11-29
Authorization not required
First tool surface recorded: 10 tools (server version 2.1.0)
Showing the latest 10 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨57 unchanged words⟩ ","maxLength":40,"type":"string"},"ref":{"description":"a referral code from another buyer's link, the r= part","maxLength":16,"type":"string"}},"required":["email"],"type":"object"}
⟨31 unchanged words⟩ the spot is held once they do. Thepricefirstrisesspotsalockstepatwiththeeveryearlyspotprice;untileveryitspotfills,afterthenlocksit'sat the groupprice,price.soTheearlierresultissayscheaper.which one this spot got. Nothing is charged now. If the product fills ⟨32 unchanged words⟩
⟨57 unchanged words⟩ ","maxLength":40,"type":"string"},"ref":{"description":"a referral code from another buyer's link, the r= part","maxLength":16,"type":"string"}},"required":["email"],"type":"object"}
⟨8 unchanged words⟩ price, how many buyers unlock the price,spotshowheldmanyofare committed, how many want it, spotsavailableleft, and thedeadline.deadline if one is set. Give a slug to ask about another product ⟨9 unchanged words⟩
Everything the book knows about oneOnechain,product by slug.Stripe test mode. Test cards only, no real moneyPrefermoves.status.
JoinHold achainspot (old name)
TakeThe old name for hold. Hold your human a spot onathechain.live product. Needsthetheirchainemail.slug,Returnstheamostlinkyourwherehumantheywouldsavepayaincard;USD,thetheirspotemail,isandheldtheoncefriendstheyinvitedo.code.NothingReturnsisachargedcommitnow.link.IfSendthethisproductlinkfills,totheyourdeposithumanis charged and applied toputtheirapurchase;cardtheydown.payThethespotbalanceisn'ttorealtheuntilbrand.theyIfdo.it doesn't fill, nobody pays. Stripe test mode. Test cards only, no real money moves.
⟨3 unchanged words⟩ ,"properties":{"chain":{"description":"chainaslugproductfromslug;list_chains","minLengthleave it out for what's live":1,"type":"string"},"email":{" ⟨7 unchanged words⟩ :"string"},"invite_code":{"description":"thenotfriendsneededinviteanycode","minLengthmore":1,"type":"string"},"max_price_usd":{"description":"the mostoptionalyourcaphumanonwouldthe
The old v1 join. Usethe join toolhold instead.
LeaveRelease achainspot (old name)
The old name for release. Release a held spot. Needs thechainproduct slug, the email thatjoinedholds it, and the commitment id fromjoinhold or status.Cancels any hold. Stripe test mode. TestNothingcardsisonly,chargednoforrealamoneyreleasedmoves.spot.
{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"chain":{"description":"product slug","minLength":1,"type":"string"},"commitment_id ⟨15 unchanged words⟩
The book: everyEverygroupproductbuybtw(chain),hasitsrungrouporprice,queued:itsthecategorylive(gearone,wellness,what'shome,uptravel,nextsoftware)by wants, andhow close it is to filling. Every open one can be joined. Stripewhattestfilledmode.orTestclosed.cardsUseonly,statusnoforrealthemoneylivemoves.one.
Not on theOldbook?style:Parkpark what your human wantsandin plain words with the most they'd pay.If enough agentsPrefer wantthe same thing,with achain opens. Stripe test mode. Test cards only, no real money moves.link.
The old v1 park. Usethewantparkwithtoola link instead.
FillWhat'scountlive: the product, its list andstategroupforprice,onehowchain.manyGivebuyersanunlocktoprice,alsospotsseeheldthatofperson'sspotscommitment.available,Stripeandtestthemode.deadline.TestGivecardsaonlyslug to ask about another product,noandrealanmoneyemailmoves.to also see that person's spot.
⟨3 unchanged words⟩ ,"properties":{"chain":{"description":"chainaslug","minLengthproduct slug; leave it out for what's live":1,"type":"string"},"email":{"description":"check this person'scommitment on the chainspot","type":"string"}},"required":["chain"],"type":"object"}
The public frontOlddoor.style:Putput your human on thebtwlistwaitlisttoandheargetwhentheirthespotnextnumber.productNogoesinvitelive.codePreferneeded.want with a link, or hold on what's live. Needs their email. Optionally say what they want ⟨8 unchanged words⟩
⟨4 unchanged words⟩ {"email":{"description":"your human's email, where the chain #1 invite goes","type":"string"},"platform":{ ⟨45 unchanged words⟩
Hold a spot — Hold your human a spot on the live product. Needs their email. Returns a link where they save a card; the spot is held once they do. Nothing is charged now. If the product fills, the deposit is charged and applied to their purchase; they pay the balance to the brand. If it doesn't fill, nobody pays. Stripe test mode. Test cards only, no real money moves.
Release a spot — Release a held spot. Needs the product slug, the email that holds it, and the commitment id from hold or status. Nothing is charged for a released spot.
⟨8 unchanged words⟩ as a want for your human. Amazon wishlists,Steam wishlists,andEtsySteamfavorites.wishlists. Takes the list link plus their email. Returns ⟨65 unchanged words⟩
⟨49 unchanged words⟩ copy the link. Steam: the profile's wishlistpage. Etsy: the public favoritespage","maxLength":2000,"type":"string" ⟨4 unchanged words⟩
Say your human wantsa product.something. Takes aproductlink or an ASIN plus their email. A hotel link becomes a stay want (Amazon,giveSteammonth,Etsyand nights if known),oraanysubscriptionstorelink becomes a software want (give plan),oranythinganelseASINis gear. Or set type and the fields outright: stay needs hotel and month,plushometheirneedsemail.job and zip, software needs product and plan. Records the want and returns the item with ⟨47 unchanged words⟩
⟨47 unchanged words⟩ "minLength":3,"type":"string"},"urlhotel":{"description":"stay: hotel name or link","maxLength":200,"type":"string"},"job":{"description":"home: solar, home-battery, ev-charger, heat-pump, roof, windows, sauna-install, other","maxLength":40,"type":"string"},"month":{"description":"stay: month as YYYY-MM","maxLength":7,"type":"string"},"name":{"description":"gym: the gym or studio name","maxLength":80,"type":"string"},"nights":{"description":"stay: nights, if known","maximum":60,"minimum":1,"type":"integer"},"note":{"description":"home or stay: a short note","maxLength":200,"type":"string"},"plan":{"description":"software: individual, family, team, other","maxLength":20,"type":"string"},"product":{"description":"software: product name or link","maxLength":200,"type":"string"},"type":{"description":"skipAmazonauto-detection and say the type","enum":["gear","stay","home","software","gym"],"type":"string"},"url":{"description":"a product, hotel, oranysubscriptionstorelink","maxLength":2000,"type":"string"},"zip":{"description":"home: five digit US zip","maxLength":10,"type":"string"}},"required":[ ⟨3 unchanged words⟩
Want a gym or studio membership — Your human wants a membership at a gym or studio near them. Takes the name, their five digit zip, the plan (monthly, annual, class-pack, other), and their email. People near the same gym on the same plan count together; when enough do, btw asks for a group rate.
Want a home job — Your human wants a home job done: solar, home-battery, ev-charger, heat-pump, roof, windows, sauna-install, other. Takes the job, their five digit zip, an optional note, and their email. Homes near each other wanting the same job count together; when enough do, btw gets a group quote from local installers. Returns how many others nearby want it.
Want a subscription — Your human wants a software subscription at group pricing. Takes the product (name or link), the plan (individual, family, team, other), and their email. Annual plans; vendors already have volume tiers and btw brings the volume. Returns how many others want the same product on the same plan.
Want a stay — Your human wants a hotel in a given month. Takes the hotel (name or link), the month as YYYY-MM, nights if known, and their email. People wanting the same hotel in the same month count together; when enough do, btw asks the hotel for a group rate. Returns how many others want it.