Skip to main content
Glama
Sauerbraten MCP
by pastukhov

geometry_face_set

Destructive

Set four absolute face-axis depths (0-8) on each nonempty leaf in a selection to reshape Sauerbraten geometry. Edits are atomic and undoable; invalid zero-volume shapes are rejected.

Instructions

Set four absolute face-axis depths (0..8 in grid/8 units) on each exact nonempty leaf. Face=selection.orient; order (R,C)=00,10,01,11; X uses Y/Z, Y uses Z/X, Z uses X/Y. Atomic and undoable; invalid/zero-volume shapes rejected.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "request_id": "<request_id>",
      "map_epoch": "<map_epoch>",
      "expected_revision": "<expected_revision>",
      "selection": "<selection>",
      "depths": "<depths>"
    },
    "name": "geometry_face_set"
  }
}

Input Schema

NameRequiredDescriptionDefault
depthsYes
map_epochYes
selectionYes
request_idYes
expected_revisionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the mutation profile is known. The description still adds real value beyond that by disclosing atomicity, undoability, and that degenerate zero-volume results are rejected — but it says nothing about preconditions such as revision/epoch matching that a destructive edit would need.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tightly packed sentences with no filler, and the core action is front-loaded. The telegraphic notation ('order (R,C)=00,10,01,11') is compact but sacrifices readability, which costs it a point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-parameter, zero-coverage, destructive geometry mutation with no output schema, the description covers the geometric semantics well but leaves the epoch/revision/request_id contract and any return/confirmation behavior undocumented. An agent could call it, but not confidently reason about stale-map or retry behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description carries the full burden and mostly meets it: it defines depth units (0..8 in grid/8 units), the four-value ordering via (R,C)=00,10,01,11, and the per-axis pairing rule (X uses Y/Z, etc.), and identifies face with selection.orient. The concurrency parameters (request_id, map_epoch, expected_revision) remain entirely unexplained, keeping it below 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: 'Set four absolute face-axis depths... on each exact nonempty leaf', which is concrete enough to distinguish a face-depth edit from sibling operations like geometry_vertex_set or geometry_fill. It stops short of naming an alternative, but the operation itself is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use / when-not-to-use guidance and no routing to alternatives such as geometry_fill or geometry_vertex_set. The only conditional language ('each exact nonempty leaf', 'invalid/zero-volume shapes rejected') describes validation outcomes, not selection guidance for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.