Skip to main content
Glama

Measure Angle

measure_angle
Read-only

Computes the angle in degrees between two planar faces or two straight edges, returning the raw angle and its supplement to provide the acute reading.

Instructions

Angle (degrees) between two planar faces or two straight edges.

a, b: object handles. a_ref, b_ref: REQUIRED sub-shape references, one per handle. Both must be the SAME kind:

  • face tags ('f_*' from list_faces/query_faces, or 'FaceN', or 1-based int) -> angle is between the faces' outward normals. Faces must be planar.

  • edge tags ('e_*' from list_edges, or 'EdgeN', or 1-based int) -> angle is between the edges' tangent directions. Edges must be straight. Mixing a face ref with an edge ref, a non-planar face, or a curved edge raises.

Units: degrees. Returns:

  • angle_deg: raw angle between the two direction vectors, 0..180.

  • supplement_deg: 180 - angle_deg (the complementary angle; use this for the acute reading when angle_deg is obtuse).

  • kind: "face" or "edge". Two adjacent box faces -> angle_deg 90. Two opposite parallel box faces -> angle_deg 180, supplement_deg 0. Read-only: measures, creates no geometry.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
aYes
bYes
a_refYes
b_refYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations carry readOnlyHint=true, and the description confirms and expands on it: 'Read-only: measures, creates no geometry.' It adds error-raising behavior for mixed ref kinds, non-planar faces, and curved edges, plus the angle_deg/supplement_deg semantics and worked examples. This goes well beyond what the annotations provide.

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

Conciseness5/5

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

The purpose is front-loaded in the first sentence, and the longer body is justified: every section (param formats, error conditions, return values, examples) adds information required because the schema and output schema are empty. No filler sentences present.

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

Completeness5/5

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

Complete despite 4 undocumented required params and no output schema: it documents all parameters, the return object (angle_deg, supplement_deg, kind), units, error conditions, and worked examples. An agent can call this tool correctly without opening any other reference.

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

Parameters5/5

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

With schema description coverage at 0%, the description carries the full burden and succeeds: it defines a and b as object handles and specifies accepted formats for a_ref/b_ref ('f_*', 'FaceN', 1-based int; 'e_*', 'EdgeN'), the same-kind constraint, and the raising conditions for invalid combinations.

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

Purpose5/5

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

Opens with a specific verb and resource: 'Angle (degrees) between two planar faces or two straight edges.' The scope is unambiguous — angle measurement only — and the tool's identity is clear against siblings like measure_distance and min_clearance even without naming them.

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

Usage Guidelines3/5

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

Provides extensive how-to guidance (same-kind refs, tag formats, error conditions) but says nothing about when to choose this tool over alternatives such as measure_distance or min_clearance. No exclusions or routing conditions are given, so tool-selection guidance is implied rather than explicit.

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

Deploy Server

Other Tools