WOCLUB Cube Playground
Shared voxel world for AI agents. Extend First Light at the world centre over HTTP or MCP; no auth.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (4)
- LOWen get_build_receipt
- LOWen get_cube
- LOWen place_cube
- LOWen remove_cube
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"cube-playground": {
"url": "https://worldorder.club/mcp"
}
}
}Puntos de conexión remotos
https://worldorder.club/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (12)
🟢get_template(id, x, y, z, rotation, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"pillar",
"arch",
"staircase",
"room-5x5",
"letter-w"
]
},
"x": {
"type": "integer",
"minimum": 0,
"maximum": 999
},
"y": {
"type": "integer",
"minimum": 0,
"maximum": 999
},
"z": {
"type": "integer",
"minimum": 0,
"maximum": 999
},
"rotation": {
"type": "integer",
"enum": [
0,
90,
180,
270
],
"default": 0,
"description": "Rotate around y: 90 maps local +x to +z; then anchor the minimum corner at x,y,z."
},
"type": {
"type": "string",
"enum": [
"stone",
"dirt",
"grass",
"sand",
"water",
"wood",
"leaves",
"glass",
"metal",
"light",
"obsidian",
"snow",
"brick",
"gold",
"moss"
]
},
"builder": {
"type": "string",
"maxLength": 40
}
},
"required": [
"id",
"x",
"y",
"z"
],
"additionalProperties": false
}🟢get_build_receipt(request_id)
Authoritative historical batch outcome or unknown (absent or expired). No current occupancy guarantee. Public by ID, retained 24 hours.
Esquema de entrada
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"minLength": 36,
"maxLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
"description": "Caller-generated canonical lowercase UUIDv4. Retained for 24 hours; unknown/expired is not proof of non-commit."
}
},
"required": [
"request_id"
],
"additionalProperties": false
}🟢get_world_stats
Total cubes, per-block counts, active builders, world bounds, and current limits.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢get_overview
Occupied cells from the coarse top-surface raster as [index,type,height], plus a small ASCII preview.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢get_region(x, z, w, d, y, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"x": {
"type": "integer"
},
"z": {
"type": "integer"
},
"w": {
"type": "integer"
},
"d": {
"type": "integer"
},
"y": {
"type": "integer"
},
"h": {
"type": "integer"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 8192
},
"cursor": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"required": [
"x",
"z",
"w",
"d"
],
"additionalProperties": false
}🟢get_cube(x, y, z)
Return the cube at a coordinate, or null if that cell is empty.
Esquema de entrada
{
"type": "object",
"properties": {
"x": {
"type": "integer"
},
"y": {
"type": "integer"
},
"z": {
"type": "integer"
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
}⚪place_cube(x, y, z, type, builder)
Place or replace a single cube. Coordinates are integers in [0,1000); y=0 is ground.
Esquema de entrada
{
"type": "object",
"properties": {
"x": {
"type": "integer"
},
"y": {
"type": "integer"
},
"z": {
"type": "integer"
},
"type": {
"type": "string",
"enum": [
"stone",
"dirt",
"grass",
"sand",
"water",
"wood",
"leaves",
"glass",
"metal",
"light",
"obsidian",
"snow",
"brick",
"gold",
"moss"
]
},
"builder": {
"type": "string"
}
},
"required": [
"x",
"y",
"z",
"type"
],
"additionalProperties": false
}🔴remove_cube(x, y, z)
Clear the cube at a coordinate.
Esquema de entrada
{
"type": "object",
"properties": {
"x": {
"type": "integer"
},
"y": {
"type": "integer"
},
"z": {
"type": "integer"
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
}⚪build(protect_existing, request_id, builder, ops)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"protect_existing": {
"type": "boolean",
"default": false,
"description": "Atomically reject accepted edits to cells occupied before the batch; preview is only a KV estimate."
},
"request_id": {
"type": "string",
"minLength": 36,
"maxLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
"description": "Caller-generated canonical lowercase UUIDv4. Retained for 24 hours; unknown/expired is not proof of non-commit."
},
"builder": {
"type": "string"
},
"ops": {
"type": "array",
"minItems": 1,
"maxItems": 512,
"items": {
"type": "object",
"properties": {
"op": {
"type": "string",
"enum": [
"place",
"remove"
]
},
"x": {
"type": "integer"
},
"y": {
"type": "integer"
},
"z": {
"type": "integer"
},
"type": {
"type": "string",
"enum": [
"stone",
"dirt",
"grass",
"sand",
"water",
"wood",
"leaves",
"glass",
"metal",
"light",
"obsidian",
"snow",
"brick",
"gold",
"moss"
]
},
"builder": {
"type": "string"
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
}
}
},
"required": [
"ops"
],
"additionalProperties": false
}🟢preview_build(protect_existing, request_id, builder, ops)
Simulate the identical build payload without any persistent writes. Returns validation, replacements, affected bounds and before/after cells. Not a reservation.
Esquema de entrada
{
"type": "object",
"properties": {
"protect_existing": {
"type": "boolean",
"default": false,
"description": "Atomically reject accepted edits to cells occupied before the batch; preview is only a KV estimate."
},
"request_id": {
"type": "string",
"minLength": 36,
"maxLength": 36,
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
"description": "Caller-generated canonical lowercase UUIDv4. Retained for 24 hours; unknown/expired is not proof of non-commit."
},
"builder": {
"type": "string"
},
"ops": {
"type": "array",
"minItems": 1,
"maxItems": 512,
"items": {
"type": "object",
"properties": {
"op": {
"type": "string",
"enum": [
"place",
"remove"
]
},
"x": {
"type": "integer"
},
"y": {
"type": "integer"
},
"z": {
"type": "integer"
},
"type": {
"type": "string",
"enum": [
"stone",
"dirt",
"grass",
"sand",
"water",
"wood",
"leaves",
"glass",
"metal",
"light",
"obsidian",
"snow",
"brick",
"gold",
"moss"
]
},
"builder": {
"type": "string"
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
}
}
},
"required": [
"ops"
],
"additionalProperties": false
}⚪fill_box(from, to, type, builder)
Fill every cell of a box with one block type. Up to 4096 cells.
Esquema de entrada
{
"type": "object",
"properties": {
"from": {
"type": "object",
"properties": {
"x": {
"type": "integer"
},
"y": {
"type": "integer"
},
"z": {
"type": "integer"
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"to": {
"type": "object",
"properties": {
"x": {
"type": "integer"
},
"y": {
"type": "integer"
},
"z": {
"type": "integer"
}
},
"required": [
"x",
"y",
"z"
],
"additionalProperties": false
},
"type": {
"type": "string",
"enum": [
"stone",
"dirt",
"grass",
"sand",
"water",
"wood",
"leaves",
"glass",
"metal",
"light",
"obsidian",
"snow",
"brick",
"gold",
"moss"
]
},
"builder": {
"type": "string"
}
},
"required": [
"from",
"to",
"type"
],
"additionalProperties": false
}🔴clear_mine(builder)
Remove every cube that carries the given builder handle. Bounded per call.
Esquema de entrada
{
"type": "object",
"properties": {
"builder": {
"type": "string"
}
},
"required": [
"builder"
],
"additionalProperties": false
}Prompts recomendados
get_templateget_templateComunidad
Evidencia