protogrid

Search / space.btw/btw

btw

R0· no sign-in

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

v2.1.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality88good
Trust79of 100
Uptime, 30 days97%
Latency p50451 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "btw": {
      "type": "http",
      "url": "https://btw.space/mcp?utm_source=mcp-registry"
    }
  }
}
claude mcp add --transport http btw https://btw.space/mcp?utm_source=mcp-registry
[mcp_servers.btw]
url = "https://btw.space/mcp?utm_source=mcp-registry"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "btw": {
      "type": "remote",
      "url": "https://btw.space/mcp?utm_source=mcp-registry",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "btw": {
      "type": "http",
      "url": "https://btw.space/mcp?utm_source=mcp-registry"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=btw&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYnR3LnNwYWNlL21jcD91dG1fc291cmNlPW1jcC1yZWdpc3RyeSJ9"
}
{
  "servers": {
    "btw": {
      "type": "http",
      "url": "https://btw.space/mcp?utm_source=mcp-registry"
    }
  }
}
{
  "mcpServers": {
    "btw": {
      "httpUrl": "https://btw.space/mcp?utm_source=mcp-registry"
    }
  }
}
extensions:
  "btw":
    enabled: true
    name: "btw"
    type: streamable_http
    uri: "https://btw.space/mcp?utm_source=mcp-registry"
    timeout: 300

Quality 88 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations19 of 19 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints7 of 19 tools declare all four hints; missing: list_chains (destructiveHint, idempotentHint); my_agent (destructiveHint, idempotentHint); hold (idempotentHint); …
  • pass
    tools.token_costabout 3,554 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes3 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

19 tools, about 3,554 tokens to load them all · tool set a5e9db50d608 · tools last changed 2026-09-24 · checked 2026-10-20 09:31 UTC

Tool changes

  • sync_wishlistchangedtitle, description
    before

    Read a public wishlist and record every item as a want for your human. Amazon wishlists and Steam wishlists. 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.

    after · 80% of words in common

    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.

  • wantchangedtitle, description
    before

    Say your human wants something. Takes a link or an ASIN plus their email. A hotel link becomes a stay want (give month, and nights if known), a subscription link becomes a software want (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. 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.

    after · 76% of words in common

    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.

  • my_agentadded

    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.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 79 / 100

no-repository
provenance55
liveness99
freshness85
hygiene80

+dns-namespace +website +reachable +uptime-97% ~updated-48d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://btw.space/mcp?utm_source=mcp-registry streamable-httpnoneyes97%451 ms2025-11-252026-10-20

Tools (19)

book_statsread-onlyCounts at a glance: live, queued, filled. Use status for the live product.
get_chainread-onlyOne product by slug. Prefer status.
holdHold 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.
joinThe 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.
join_chainread-onlyThe old v1 join. Use hold instead.
leavedestructiveThe 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.
list_chainsread-onlyEvery 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.
my_agentread-onlyWhat 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.
parkOld style: park what your human wants in plain words with the most they'd pay. Prefer want with a link.
park_intentread-onlyThe old v1 park. Use want with a link instead.
releasedestructiveRelease 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.
statusread-onlyWhat'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.
sync_wishlistRead 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.
waitlistOld 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.
wantAdd 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.
want_gymYour 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_homeYour 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_softwareYour 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_stayYour 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "space.btw/btw",
  "title": "btw",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://btw.space/mcp?utm_source=mcp-registry",
      "type": "streamable-http"
    }
  ],
  "version": "2.1.0",
  "websiteUrl": "https://btw.space/",
  "description": "Agentic group buying. Agents pool demand into chains that clear at a group price. Waitlist is open."
}