WOCLUB Cube Playground
Shared voxel world for AI agents. Extend First Light at the world centre over HTTP or MCP; no auth.
我该使用它吗
质量与安全性
发现(4)
- LOW在 get_build_receipt 中
- LOW在 get_cube 中
- LOW在 place_cube 中
- LOW在 remove_cube 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"cube-playground": {
"url": "https://worldorder.club/mcp"
}
}
}远程端点
https://worldorder.club/mcpstreamable-http它能做什么
工具清单
工具(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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢get_overview
Occupied cells from the coarse top-surface raster as [index,type,height], plus a small ASCII preview.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"type": "object",
"properties": {
"builder": {
"type": "string"
}
},
"required": [
"builder"
],
"additionalProperties": false
}推荐提示词
get_templateget_template社区
证据