Skip to content

btw

by btw.space · remote · no sign-in to list tools · v2.1.0 · published by space.btw

Agentic group buying. Agents pool demand into chains that clear at a group price. Waitlist is open.

Deletes · 2Changes · 13

19 tools: 2 can delete or cancel things, 13 change things and 4 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http btw https://btw.space/mcp?utm_source=mcp-registry

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

19 tools

Deletes or cancels 2Claude Code: deny
  • leaveThe old name for release.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    The old name for release. 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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • releaseRelease a held spot.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
Changes things 13Claude Code: ask
  • holdHold your human a spot on the live product.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Hold your human a spot 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 first spots lock at the early price; every spot after locks at the group price. The result says which one this spot got. 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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • joinThe old name for hold.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    The old name for hold. Hold your human a spot 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 first spots lock at the early price; every spot after locks at the group price. The result says which one this spot got. 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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • join_chainThe old v1 join.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The old v1 join. Use hold instead.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • my_agentWhat 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…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • parkOld style: park what your human wants in plain words with the most they'd pay.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Old style: park what your human wants in plain words with the most they'd pay. Prefer want with a link.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • park_intentThe old v1 park.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The old v1 park. Use want with a link instead.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • sync_wishlistRead a public wishlist and add every item to your human's btw agent.No findings

    Why it is in this group

    • The name "sync_wishlist" says "sync": a word for a change.
    Description, as the server wrote it
    Read a public wishlist and add every item to your human's btw agent. Amazon wishlists and Steam wishlists. Takes the list link plus their email; a new email gets an agent. Returns the items found and how many other agents 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. btw doesn't buy from Amazon. The link is how we know what you want; the group price comes from the brand.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • waitlistOld style: put your human on the list to hear when the next product goes live.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Old style: put your human on the list to hear when the next product goes live. Prefer want with a link, or hold on what's live. Needs their email. Optionally say what they want to buy and which agent platform you are.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • wantAdd something to your human's btw agent.No findings

    Why it is in this group

    • The description's first verb is "add": a word for a change.
    Description, as the server wrote it
    Add something to your human's btw agent. Takes a link or an ASIN plus their email; a new email gets an agent. A hotel link becomes a stay (give month, and nights if known), a subscription link becomes software (give plan), anything else is gear. Or set type and the fields outright: stay needs hotel and month, home needs job and zip, software needs product and plan. Their agent starts watching it and the reply says how many other agents already want it. If you already read a page yourself, pass asins instead of a link. btw doesn't buy from Amazon. The link is how we know what you want; the group price comes from the brand.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • want_gymYour human wants a membership at a gym or studio near them.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • want_homeYour human wants a home job done: solar, home-battery, ev-charger, heat-pump, roof, windows, sauna-install, other.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • want_softwareYour human wants a software subscription at group pricing.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • want_stayYour human wants a hotel in a given month.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 4Claude Code: allow
  • book_statsCounts at a glance: live, queued, filled.No findings

    Why it is in this group

    • The description's first verb is "count": a word for reading.
    Description, as the server wrote it
    Counts at a glance: live, queued, filled. Use status for the live product.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • get_chainOne product by slug.No findings

    Why it is in this group

    • The name "get_chain" says "get": a word for reading.
    Description, as the server wrote it
    One product by slug. Prefer status.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • list_chainsEvery product btw has run or queued: the live one, what's up next by wants, and what filled or closed.No findings

    Why it is in this group

    • The name "list_chains" says "list": a word for reading.
    Description, as the server wrote it
    Every product btw has run or queued: the live one, what's up next by wants, and what filled or closed. Use status for the live one.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • statusWhat's live: the product, its list and group price, how many buyers unlock the price, how many are committed, how many want it, spots left, and the deadline if one is set.No findings

    Why it is in this group

    • The name "status" says "status": a word for reading.
    Description, as the server wrote it
    What's live: the product, its list and group price, how many buyers unlock the price, how many are committed, how many want it, spots left, and the deadline if one is set. Give a slug to ask about another product, and an email to also see that person's spot.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 2.1.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http btw https://btw.space/mcp?utm_source=mcp-registry

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__btw__list_chains",
      "mcp__btw__status",
      "mcp__btw__book_stats",
      "mcp__btw__get_chain"
    ],
    "ask": [
      "mcp__btw__my_agent",
      "mcp__btw__waitlist",
      "mcp__btw__hold",
      "mcp__btw__join",
      "mcp__btw__park",
      "mcp__btw__want",
      "mcp__btw__sync_wishlist",
      "mcp__btw__want_stay",
      "mcp__btw__want_home",
      "mcp__btw__want_software",
      "mcp__btw__want_gym",
      "mcp__btw__join_chain",
      "mcp__btw__park_intent"
    ],
    "deny": [
      "mcp__btw__release",
      "mcp__btw__leave"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as btw. Review it before you use it.