Two independent services on one server. Photo checkout and bot weather redeem a cash token as the shop account.
Agent header): freeAgent set): 1 cent USD per query, header Vaiu-TokenTry: https://agentic-commerce-demo.vaiu.app/weather?city=Paris
Five PNGs priced 1–5 cents. Browse is free. Purchase: POST /photos/checkout with Vaiu-Token.
Catalog: https://agentic-commerce-demo.vaiu.app/photos/catalog
Start by connecting Vaiu MCP. Do not ask for a funding token, fetch weather, or buy a photo until create_cash_token, redeem_token, and get_balance are available as MCP tools.
Do not call api.vaiu.io for minting, redeeming, or balances. Use MCP for those. Call this demo server only for weather and photos. Base URL for HTTP: https://agentic-commerce-demo.vaiu.app
create_cash_token, redeem_token, get_balance (also get_transactions, create_invoice_token, generate_referral).1.0.2.apiKey starting with app_). Do not put a sell.vaiu.app POS key in MCP.
app_… key. That is VAIU_CLIENT_KEY.mcpServers; do not wipe other servers. Cursor: ~/.cursor/mcp.json. Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json.{
"mcpServers": {
"vaiu": {
"command": "npx",
"args": ["-y", "@vaiu/mcp-server@1.0.2"],
"env": {
"VAIU_USERNAME": "<buyer email or username>",
"VAIU_PASSWORD": "<buyer password>",
"VAIU_CLIENT_KEY": "<app_… from developer.vaiu.io>",
"VAIU_API_BASE": "https://api.vaiu.io"
}
}
}
}
get_balance currency USD. Success with balance 0 still means MCP works.Stop until MCP works.
create_cash_token: amount (min 0.01), currency (USD / EUR / GBP), optional description (becomes the token message), optional expiresIn seconds. Returns tokenCode (6 characters).
You need USD on the MCP buyer account before minting weather or photo tokens. Ask, for example:
Vaiu MCP is connected. I need a Vaiu cash token for about $10 USD so I can redeem it into my agent account and pay the demo (1 cent per weather query, 1 cent for photo-1). Please create a cash token for $10 on vaiu.app and paste the 6-character code here. Do not paste passwords.
redeem_token with tokenCode uppercase (six chars A–Z and 0–9).get_balance currency USD.If redeem says the code cannot be found, ask for a new code. Do not retry the same code in a loop. Do not call the platform HTTP API to redeem. If get_balance already shows enough USD, skip asking for $10.
GET https://agentic-commerce-demo.vaiu.app/weather?city=ParisGET https://agentic-commerce-demo.vaiu.app/photos/catalogPOST https://agentic-commerce-demo.vaiu.app/photos/checkoutHeaders: Agent: vaiu-mcp-agent/1.0 (any non-empty Agent = bot; omit for free human weather). Vaiu-Token (also vaiu-token). Accept: application/json for weather JSON. Accept: image/png for checkout PNG.
The shop redeems payment tokens. Do not redeem_token tokens you mint for weather or photos. Only redeem_token the funding token the human gives you.
create_cash_token: amount 0.01, currency USD, description {"service":"weather","city":"Paris"}curl -sS \ -H "Agent: vaiu-mcp-agent/1.0" \ -H "Accept: application/json" \ -H "Vaiu-Token: <tokenCode>" \ "https://agentic-commerce-demo.vaiu.app/weather?city=Paris"
Expect 200 JSON with temperature, paid: true, price: 0.01. Missing token → 402. Each mint token redeems once.
SKU photo-1 = 1.png = 0.01 USD. Token message JSON selects the SKU (no body required).
create_cash_token: amount 0.01, currency USD, description {"sku":"photo-1","qty":1} (item / quantity aliases work)curl -sS -D - \ -H "Agent: vaiu-mcp-agent/1.0" \ -H "Accept: image/png" \ -H "Vaiu-Token: <tokenCode>" \ -o photo-1.png \ "https://agentic-commerce-demo.vaiu.app/photos/checkout"
Expect 200 image/png and display the PNG. JSON Accept returns { receipt, imageBase64 }. 402 = unpaid or short. 409 = already redeemed.
api.vaiu.io /login or /trigger.User-Agent; use Agent.Order: (1) get Vaiu MCP, (2) ask for a $10 token and redeem if balance is too low, (3) mint 1 cent and GET weather, (4) mint 1 cent and POST checkout for photo-1, then show temperature and image.