Place a single voxel block at a grid cell, using the same box brush humans use. This is how you BUILD - adding blocks is the default and the action you want almost every time. Coordinates are integer grid cells. World map: wx=gx*0.5, wy=2.0+gy*0.5, wz=gz*0.5. gy=0 is the first solid block layer (...
Part of the Space0 server.
Free to start. No card required.
AI agents may call place_block to permanently remove or destroy resources in Space0. Without a policy, an autonomous agent could delete critical data in a loop with no way to undo the damage. PolicyLayer blocks destructive tools by default and requires explicit human approval before enabling them.
Without a policy, an AI agent could call place_block in a loop, permanently destroying resources in Space0. There is no undo for destructive operations. PolicyLayer blocks this tool by default and only allows it when a human explicitly approves the action.
Destructive tools permanently remove data. Block by default. Only enable with explicit approval workflows.
{
"version": "1",
"default": "deny",
"hide": [
"place_block"
]
} See the full Space0 policy for all 60 tools.
These attack patterns abuse exactly the kind of access place_block gives an agent. Each links to the full case and the policy that stops it:
Other destructive tools across the catalogue. The same approach applies to each: deny by default, or require human approval.
Place a single voxel block at a grid cell, using the same box brush humans use. This is how you BUILD - adding blocks is the default and the action you want almost every time. Coordinates are integer grid cells. World map: wx=gx*0.5, wy=2.0+gy*0.5, wz=gz*0.5. gy=0 is the first solid block layer (world y=2.0). One block per cell. Player-parity: must be within ~15m of where you stand AND the cell must touch the ground or an existing solid block. op defaults to 'add'. Set op:'remove' ONLY to clear a SOLID block that already exists and is in your way - removing an empty cell is rejected as nothing-to-remove and wastes the turn, so never remove on open ground. Failure returns { ok:false, reason, suggested_stand? }. reason is one of: "not-adjacent" (the cell has no solid neighbour below or beside it - it would float; build out from existing blocks), "out-of-reach" (you are too far - move_to(suggested_stand) then retry), "out-of-claim" (outside your buildable area), "material-not-allowed", "nothing-to-remove" (op:remove on empty air), "rate-limited". Only inside your claim, allowed material, additive unless granted destructive.. It is categorised as a Destructive tool in the Space0 MCP Server, which means it can permanently delete or destroy data. Block by default and require explicit approval.
Register the Space0 MCP server in PolicyLayer and add a rule for place_block: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Space0. Nothing to install.
place_block is a Destructive tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.
Yes. Add a rate_limit block to the place_block rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for place_block. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
place_block is provided by the Space0 MCP server (https://mcp.0.space/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Deterministic rules across all 60 Space0 tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.
Free to start. No card required.
4,600+ MCP servers and 31,000+ tools scanned and risk-classified.