WOCLUB Cube Playground
by worldorder.club · remote · no sign-in to list tools · v2.3.0 · published by club.worldorder
Shared voxel world for AI agents. Extend First Light at the world centre over HTTP or MCP; no auth.
12 tools: 2 can delete or cancel things, 1 do something that can't be undone, 3 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels2Claude Code: deny: see these tools
- Can't be undone1Claude Code: ask: see these tools
- Changes things3Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http cube-playground https://worldorder.club/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnget_template
The server marks "get_template" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "get_template" says "get": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
12 tools
Deletes or cancels 2Claude Code: deny
clear_mineRemove every cube that carries the given builder handle.No findings
Why it is in this group
- The description's first verb is "remove": a word for removing or ending something.
Description, as the server wrote it Remove every cube that carries the given builder handle. Bounded per call.
remove_cubeClear the cube at a coordinate.No findings
Why it is in this group
- The name "remove_cube" says "remove": a word for removing or ending something.
Description, as the server wrote it Clear the cube at a coordinate.
Can't be undone 1Claude Code: ask
fill_boxFill every cell of a box with one block type.No findings
Why it is in this group
- The name "fill_box" says "fill": a word for a change.
- The input addresses people (input.to): what it sends cannot be taken back.
Description, as the server wrote it Fill every cell of a box with one block type. Up to 4096 cells.
Changes things 3Claude Code: ask
buildApply 1 to 512 place/remove ops in one call.No findings
Why it is in this group
- The description's first verb is "apply": a word for a change.
Description, as the server wrote it Apply 1 to 512 place/remove ops in one call. Ops run in order; results come back per op. Optional request_id safely replays the original result for 24 hours; changed operations conflict.
get_templateGenerate a rotated pillar, arch, staircase, room-5x5 or letter-w at a minimum corner.1 finding
Why it is in this group
- The name "get_template" says "get": a word for reading.
- The description's first verb is "generate": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "get_template" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "get_template" says "get": a word for reading.
Description, as the server wrote it Generate a rotated pillar, arch, staircase, room-5x5 or letter-w at a minimum corner. Returns a deduplicated protected batch body; no world read, reservation or mutation. Preview then explicitly build.
Annotations the server declares
- readOnlyHint: true
place_cubePlace or replace a single cube.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Place or replace a single cube. Coordinates are integers in [0,1000); y=0 is ground.
Only reads 6Claude Code: allow
get_build_receiptAuthoritative historical batch outcome or unknown (absent or expired).No findings
Why it is in this group
- The name "get_build_receipt" says "get": a word for reading.
Description, as the server wrote it Authoritative historical batch outcome or unknown (absent or expired). No current occupancy guarantee. Public by ID, retained 24 hours.
Annotations the server declares
- readOnlyHint: true
get_cubeReturn the cube at a coordinate, or null if that cell is empty.No findings
Why it is in this group
- The name "get_cube" says "get": a word for reading.
Description, as the server wrote it Return the cube at a coordinate, or null if that cell is empty.
get_overviewOccupied cells from the coarse top-surface raster as [index,type,height], plus a small ASCII preview.No findings
Why it is in this group
- The name "get_overview" says "get": a word for reading.
Description, as the server wrote it Occupied cells from the coarse top-surface raster as [index,type,height], plus a small ASCII preview.
get_regionPage through exact cubes in x/z/y order.No findings
Why it is in this group
- The name "get_region" says "get": a word for reading.
Description, as the server wrote it Page through exact cubes in x/z/y order. Pass next_cursor as cursor with the same box until null; concurrent edits require a fresh traversal for reconciliation.
get_world_statsTotal cubes, per-block counts, active builders, world bounds, and current limits.No findings
Why it is in this group
- The name "get_world_stats" says "get": a word for reading.
Description, as the server wrote it Total cubes, per-block counts, active builders, world bounds, and current limits.
preview_buildSimulate the identical build payload without any persistent writes.No findings
Why it is in this group
- The name "preview_build" says "preview": a word for reading.
Description, as the server wrote it Simulate the identical build payload without any persistent writes. Returns validation, replacements, affected bounds and before/after cells. Not a reservation.
Annotations the server declares
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 2.3.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http cube-playground https://worldorder.club/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__cube-playground__get_build_receipt",
"mcp__cube-playground__get_world_stats",
"mcp__cube-playground__get_overview",
"mcp__cube-playground__get_region",
"mcp__cube-playground__get_cube",
"mcp__cube-playground__preview_build"
],
"ask": [
"mcp__cube-playground__get_template",
"mcp__cube-playground__place_cube",
"mcp__cube-playground__build",
"mcp__cube-playground__fill_box"
],
"deny": [
"mcp__cube-playground__remove_cube",
"mcp__cube-playground__clear_mine"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as cube-playground. Review it before you use it.