{"ok":true,"site":{"host":"gallery402.stacktr.ee","url":"https://gallery402.stacktr.ee/","type":"live","desc":"A virtual museum where you look at the art and your agent handles the paywall. WebMCP tools + x402 micropayments.","tools":[{"name":"stacktree_page_info","kind":"answer","impl":"imperative","description":"Report what this page is and when it was last updated. This URL always serves the current version of the page, so a copy taken earlier may be out of date.","annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gallery_list_wings","kind":"act","impl":"imperative","description":"List the museum wings, ticket prices, what hangs in each, and which you already hold tickets for.","title":"List wings & prices","annotations":{"readOnlyHint":true},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gallery_list_artworks","kind":"answer","impl":"imperative","description":"Titles, artists and dates of the works in one wing, or across the whole museum. Use it to pick stops for plan_tour or a work for view_artwork.","title":"What hangs where","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"wing":{"type":"string","description":"Wing id. Omit for the whole collection.","enum":["impressionists","van-gogh","ukiyo-e","dutch-cabinet"]}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gallery_look_around","kind":"act","impl":"imperative","description":"Describe what is on screen right now: the room, the artwork in front of the visitor, its curator note, and neighbours.","title":"Where am I?","annotations":{"readOnlyHint":true},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gallery_wallet_status","kind":"answer","impl":"imperative","description":"The visitor wallet: address, USDC balance, spending policy, tickets held and recent receipts.","title":"Wallet status","annotations":{"readOnlyHint":true},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gallery_fund_wallet","kind":"act","impl":"imperative","description":"Ask the museum faucet for a few cents of test USDC (Base Sepolia). Use when wallet_status shows a balance too low for a ticket.","title":"Top up wallet (testnet)","hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gallery_buy_ticket","kind":"transact","impl":"imperative","description":"Pay for a wing over x402 (HTTP 402, USDC). Applies the visitor's spending policy; may pause for their approval. Returns the ticket and settlement tx.","title":"Buy a ticket","inputSchema":{"type":"object","properties":{"wing":{"type":"string","description":"Wing id from list_wings, or \"day-pass\" for every wing.","enum":["impressionists","van-gogh","ukiyo-e","dutch-cabinet","day-pass"]}},"required":["wing"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gallery_view_artwork","kind":"act","impl":"imperative","description":"Bring a specific work in front of the visitor by title, artist or id (e.g. \"Great Wave\", \"Milkmaid\"). Needs a ticket for its wing.","title":"Go to an artwork","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Title, artist, or artwork id."}},"required":["query"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gallery_present_ticket","kind":"act","impl":"imperative","description":"Already paid? An agent with its own wallet can pay any door’s HTTP 402 directly (see /.well-known/x402 on the box office) and present the returned ticket here — the museum honours it exactly like one bought in-page. Input: the ticket string.","title":"Present a ticket","inputSchema":{"type":"object","required":["ticket"],"properties":{"ticket":{"type":"string","description":"The \"ticket\" field from a box-office purchase response."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gallery_receipts","kind":"act","impl":"imperative","description":"Every payment this visitor has made: amount, what for, settlement tx, and the tickets it bought.","title":"Receipts & tickets","annotations":{"readOnlyHint":true},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gallery_plan_tour","kind":"act","impl":"imperative","description":"Propose a guided tour: a theme plus ordered stops (artwork title/id, your docent note, optional spotlight region). Groups stops by room, prices the doors, and shows the itinerary to the visitor — who can reorder or drop stops before you start_tour.","title":"Plan a guided tour","inputSchema":{"type":"object","properties":{"theme":{"type":"string","description":"Tour title, e.g. \"Light and weather\" or \"Ten minutes of Vermeer\"."},"stops":{"type":"array","description":"Ordered {artwork, note, spotlight?}. spotlight is {x,y,w,h} as fractions of the image. Titles from list_artworks.","items":{"type":"object","properties":{"artwork":{"type":"string","description":"Artwork title or id from list_artworks."},"note":{"type":"string","description":"Your docent note for this stop."},"spotlight":{"type":"object","description":"Optional detail to zoom into, as fractions of the image.","properties":{"x":{"type":"number"},"y":{"type":"number"},"w":{"type":"number"},"h":{"type":"number"}}}},"required":["artwork"]}}},"required":["theme","stops"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gallery_take_tour","kind":"act","impl":"imperative","description":"Load one of the museum’s own guided tours by id (list_wings shows them, with themes and how long each takes). This loads the whole itinerary — do NOT follow it with plan_tour; go straight to start_tour, which buys the doors and walks to stop 1.","title":"Take a curated tour","inputSchema":{"type":"object","properties":{"tour":{"type":"string","description":"Tour id from list_wings, e.g. \"light\".","enum":["light","faces","water"]}},"required":["tour"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gallery_compare","kind":"act","impl":"imperative","description":"Hang two works side by side (titles or ids). Both rooms need tickets — the error tells you which to buy. Any walk or view_artwork returns to a single wall.","title":"Compare two works","inputSchema":{"type":"object","properties":{"a":{"type":"string","description":"First artwork (title or id)."},"b":{"type":"string","description":"Second artwork (title or id)."}},"required":["a","b"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"gallery_whos_here","kind":"act","impl":"imperative","description":"Who has been admitted recently: wing, price paid, payer, settlement tx. Live from the box office.","title":"Recent admissions","annotations":{"readOnlyHint":true},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Media & Personal","favicon":"/favicons/gallery402.stacktr.ee.png","apiSurface":"spec","toolCount":14}}