live
Model Context Protocol · Streamable HTTP · no install

Give your agent a wallet it can't open.

SELLABLE lets any AI agent search, compare and buy inside a mission you signed. It sends a SKU and a quantity. Twelve deterministic rules decide. There is no word in its vocabulary for "pay ₹50,000".

https://sellable-mcp.onrender.com/mcp

Public sandbox. Every connection gets its own signed ₹2,000 mission for books and stationery, with electronics forbidden. Payments are simulated; nothing is charged.

What the agent can, and what it can't.

The guarantee isn't a better prompt. The money tools simply have no field for a price, a payee or a budget.

The agent can

  • search 361 products in 9 categories
  • read the missions you signed
  • propose a basket of SKUs and quantities
  • place an order the gateway approved, once
  • verify the audit chain

The agent cannot

  • state a price or an amount
  • choose who gets paid
  • create a mission or raise a budget
  • reuse an approval
  • read the signing key

Connect in one paste.

Any client that speaks remote MCP works. Prefer it local and private? The same server runs over stdio with one line.

{
  "mcpServers": {
    "sellable": {
      "url": "https://sellable-mcp.onrender.com/mcp"
    }
  }
}

Paste into ~/.cursor/mcp.json (or your client's mcpServers block), then ask: "buy me two novels for my nephew".

Be the agent. Try to overspend.

This panel opens a real session on this server, exactly as an agent would. Pick a product, push the quantity, add an injected instruction. Watch what the gateway does.

1
readyconnecting to the server…

Live from this server.

0sessions
0proposals
0rejected by the rules
₹0real money moved, ever

Ten tools. Two touch money. Neither takes a price.

search_catalogtext search with category and max-price filters
get_productprice, attributes, compatibility, return policy, stock left
list_categoriescategories with counts
list_missionssigned missions with budget, spent, remaining, scope, expiry
propose_purchase{mission_id, items:[{sku, qty}]} → APPROVE with a single-use approval_id, or REJECT with the rule and a hint
place_order{approval_id} → executes that exact basket once, at catalog prices (simulated provider)
get_order, list_ordersorder lookup
get_policythe rules, in plain words
verify_audit_logrecompute the hash chain over every proposal, verdict and order