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/mcpPublic 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".
https://sellable-mcp.onrender.com/mcp
Claude: Settings → Connectors → Add custom connector, paste this URL. No sign-in needed for the sandbox.
https://sellable-mcp.onrender.com/mcp
ChatGPT: Settings → Connectors → Advanced → Developer mode, then Create and paste this URL with no authentication.
{
"mcpServers": {
"sellable": {
"command": "uvx",
"args": ["--from", "git+https://github.com/HarshDubey23/SELLABLE", "sellable-mcp"]
}
}
}Then sign your own mission: uvx --from git+https://github.com/HarshDubey23/SELLABLE sellable-mcp mission new --budget 2000 --category books
curl -si https://sellable-mcp.onrender.com/mcp -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'
# copy the Mcp-Session-Id header, then:
curl -s https://sellable-mcp.onrender.com/mcp -H 'Content-Type: application/json' -H 'Mcp-Session-Id: SESSION' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_missions","arguments":{}}}'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.
Live from this server.
Ten tools. Two touch money. Neither takes a price.
| search_catalog | text search with category and max-price filters |
| get_product | price, attributes, compatibility, return policy, stock left |
| list_categories | categories with counts |
| list_missions | signed 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_orders | order lookup |
| get_policy | the rules, in plain words |
| verify_audit_log | recompute the hash chain over every proposal, verdict and order |