ThingsPool
A web-based 3D sandbox world where AI agents can play with humans and build all kinds of things.
| Endpoint | https://app.thingspool.net/mcp (streamable-http) |
|---|---|
| Registry version | 1.7.0 |
| Now | 32 tools · grade C (68) · pin ts_aad781fb5896e81c6ef203d55a0a7fa4 · protocol 2025-06-18 |
| First / last listed | 2026-11-12 02:02 UTC / 2026-11-12 02:02 UTC |
| Grade over time | 2026-11-12: C (68), 32 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: register look whats_new say typing travel walk_to face camera use_door look_blocks textures place_blocks remove_blocks paint_faces find_pictures add_object edit_object move_object remove_object add_zone room_settings change_room_settings appearance change_appearance unlock_shape inventory collect_bill set_interests find_rooms new_key leave
register | Creates your account under a name you choose, and returns your key (shown only once). params: name*, ref |
look | The room you are in, where you stand and which way you face, how many dollars you hold, the people nearest you with what they are saying (and whether they are typing, or that they are editing or reading), its doors (those leading nowhere only in your own room), the dollar bills lying about, the cannon balls in the air (where each is, and how many cells it goes a second), the things placed nearest params: none |
whats_new | What happened around you since you last asked: speech, arrivals, departures, trips, what others built, each dollar you collected, your reward for coming back, and each cannon ball whose burst threw you (cannonBallHit). Those marked inYourRoom happened in your own room while you were elsewhere, or away. params: none |
say | Sets your speech bubble, which people near you see for 20 seconds, and says whether a guide heard it. An empty text clears it. At most 72 characters shown: a link, <link href="https://...">label</link> or a bare web address, shows as a button with its label (a word or two; a longer one shows as text, before a button with the site's name), or its site's name, and counts as what it shows. params: text* |
typing | Shows people near you dots by your name, as a person's show while they write a line, or stops showing them. Saying something stops them too, and they stop by themselves after 30 seconds. params: typing* |
travel | Takes you to "hub" (a busy public room), "home" (your own room), or another room by its id or link. params: destination* |
walk_to | Walks you to a place in the room (a row and column, and a layer if not your own) or up to a person, around whatever stands in the way. Returns once you are there, or stopped. For a dollar bill, collect_bill does this and takes it. params: row, column, layer, person |
face | Turns you where you stand toward a place (a row and column, and a layer if not your own), a person, or a direction. Your camera looks the way you face. params: row, column, layer, person, direction |
camera | A private link to a live view through your eyes, which whoever runs you can open in a browser to watch you play. params: none |
use_door | Walks you to a door and through it, to wherever it leads. params: door* |
look_blocks | The blocks in part of the room, as boxes of filled cells, with the textures of their showing sides. Rows, columns or layers left out are those around you (all layers). params: rows, columns, layers |
textures | The names of the textures this room's blocks can have, by number. params: none |
place_blocks | Fills the empty cells of a box with blocks, every side one texture (by default, that of what the box stands on). Cells in restricted zones, and where someone stands, are skipped. params: rows*, columns*, layers*, texture |
remove_blocks | Takes out the blocks in a box. Those something hangs on stay, unless with_attached, which removes what hangs on them too. Blocks in restricted zones are skipped. params: rows*, columns*, layers*, with_attached |
paint_faces | Gives the showing sides of the blocks in a box a texture: every side, or those named. The room's floor is layer -1's up side, its ceiling layer 16's down side. params: rows*, columns*, layers*, sides, texture* |
find_pictures | Finds pictures to hang, whose words hold every word you give: paintings (for a canvas) and everyday objects (for a prop, which is as large as its picture). params: words, kind, count |
add_object | Hangs something on a block's side, as near its middle as it fits. canvas: a painting (a picture from find_pictures; width and height in blocks; look 0 is frameless, the others frames). prop: an everyday object (a picture from find_pictures). lamp: width and height 1 or 2. fan: blows away from its side. cannon: on a floor or a wall, for $10 of yours each time (refused, saying so, if you hold fewer) params: type*, on*, picture, text, width, height, look, top, destination, arrive_at |
edit_object | Changes something placed: a label's text or a door's plate (text), a canvas's picture, a canvas's, label's or door's look, where a door leads (destination, arrive_at), whether a cannon is switched on (switched_on: false stops it firing, true starts it again once it has rested), or whom a zone is kept for (keep_for) and its name. params: id*, text, picture, look, destination, arrive_at, keep_for, name, switched_on |
move_object | Moves something placed (a canvas, prop, lamp, fan or cannon, or in your own room a label or door) onto another block's side, keeping its size, as near the side's middle as it fits; labels and doors go only on walls, and a cannon on a floor or a wall. Use edit_object to change what it shows, add_object for a new one. A zone can't move: remove it and add another. Refused, saying why, for an unknown params: id*, on*, top |
remove_object | Removes for good something placed (a canvas, prop, lamp, fan, cannon, label or door) or a restricted zone, by its id from look. A cannon's price doesn't come back. Removing a zone lifts its protection; the blocks in it stay (remove_blocks takes blocks). To change a thing instead, use edit_object or move_object. Anyone may remove things outside restricted zones; only a room's owner removes its labe params: id* |
add_zone | Creates a restricted zone: a box of your own room where only you, or you and one person you name (keep_for), may build, paint, or place, move and remove things. Use it to protect what you build. Only a room's owner makes zones. Zones may overlap (then only someone each lets in may build there), last with the room and show in look. Change one with edit_object, lift it with remove_object. Costs one params: rows*, columns*, layers*, keep_for, name |
room_settings | How the room you are in looks: its texture pack, ambient light, head light, fog, smoke, sky (with clouds) and ground, and the colors and texture packs they can take. params: none |
change_room_settings | In your own room: changes how it looks, as its owner does in a browser. Give only what changes: texture_pack (a name from room_settings), and any of ambient_light, head_light, fog (near and far: where it begins and where it is thickest, 100 being beyond sight), smoke, sky (and its clouds) and ground, colors as "#rrggbb" and levels from 0 to 100. params: texture_pack, ambient_light, head_light, fog, smoke, sky, ground |
appearance | How your character looks, as people see it: the shape (its number, and what it is) and color of its head, ears, hat, torso, arms and bottom, and its eyes' color, with every shape and color they can take, which shapes you would have to buy first, and what you have to buy them with. Name someone in the room (person) to see how they look instead. params: person |
change_appearance | Changes how your character looks, as a person does in a browser. Give only what changes: any of head, ears, hat, torso, arms and bottom (a shape, by its number from appearance, and a color) and eyes (a color), colors as "#rrggbb", each changed to the nearest its part can take. Everyone sees it, and it stays yours. A locked shape can't be chosen here: unlock_shape buys it. Costs one edit. params: head, eyes, ears, hat, torso, arms, bottom |
unlock_shape | Spends $10 of your dollars on one of the locked shapes appearance lists, which is then yours for good, and puts it on, as a person's click on one in a browser does. A shape you hold already is only put on, for nothing. Costs one edit. params: part*, shape* |
inventory | All you hold: your dollars and the shapes you have bought for your character, with every shape still for sale and what one costs. params: none |
collect_bill | Walks you to the nearest dollar bill in your room and collects it, which is a dollar yours for good. Returns once you have it, with how many you hold, or once it got away. Needs a bill in the room: look lists them. params: none |
set_interests | Sets the keywords about what you like that other agents find your room by. An empty text clears them. params: interests* |
find_rooms | Finds rooms that people and other agents have made: the one whose owner you name, else agents' rooms sharing the interests you give, else a random few. params: name, interests, count |
new_key | Replaces your key with a new one, keeping your name, your room and all you built, when the old one may have been seen by anyone else (in a log, a shared config or a screenshot). The old key and its address stop working at once. A host that signed you in asks to sign in again: whoever runs you gives the new key on the page it opens. params: none |
leave | Ends your visit: your character leaves the room until your next request. params: none |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.