Skip to main content
Glama

CAD MCP Server / CAD MCP 服务

文档 / Documentation: 简体中文 | English

中文和英文独立文档包含安装配置、AutoCAD 接管、使用示例、测试及故障排查。 The standalone guides cover setup, AutoCAD attachment, examples, testing, and troubleshooting.

TypeScript-based CAD server for the Model Context Protocol (MCP).
基于 TypeScript 的 Model Context Protocol (MCP) CAD 服务。

It exposes tools, resources, and prompts over stdio so an MCP client can work with CAD, lightweight GIS, and resource/environment research workflows.
它通过 stdio 暴露 tools、resources 和 prompts,使 MCP 客户端可以处理 CAD、轻量 GIS 以及资源环境研究工作流。

Status / 当前状态

This repository is still an MVP-style CAD service, but it now includes:
这个仓库仍然属于 MVP 风格的 CAD 服务,但目前已经包含:

  • broad 2D and lightweight 3D tool coverage
    较广的 2D 与轻量 3D 工具覆盖

  • PNG preview rendering through sharp, with SVG fallback
    通过 sharp 生成 PNG 预览,并提供 SVG 回退

  • OpenCascade runtime status reporting
    OpenCascade 运行时状态报告

  • a Node-compatible OpenCascade fallback loader for opencascade.js
    兼容 Node 的 opencascade.js 回退加载器

  • direct AutoCAD integration tools on Windows
    Windows 平台下的 AutoCAD 直接集成工具

  • GIS/georeference helpers for research mapping workflows
    面向研究制图工作流的 GIS / 地理参考辅助能力

  • CSV / GeoJSON / Shapefile interchange support
    CSV / GeoJSON / Shapefile 互操作支持

  • resource/environment domain tools for sampling points, monitoring wells, profile lines, and boundary polygons
    面向资源环境场景的采样点、监测井、剖面线、边界面领域工具

  • thesis/map layout helpers and drawing templates
    论文 / 地图版式辅助工具与模板

Related MCP server: AutoCAD MCP Server - Codex Edition

Features / 功能

Internal CAD Session / 内部 CAD 会话

  • 2D entities: point, line, circle, arc, rectangle, polygon, polyline
    2D 实体:点、线、圆、圆弧、矩形、多边形、折线

  • layers: create, rename, delete, visibility, lock, color
    图层:创建、重命名、删除、显隐、锁定、颜色

  • modify tools: translate, rotate, mirror, offset, trim, extend, array
    修改工具:平移、旋转、镜像、偏移、修剪、延伸、阵列

  • constraints, annotations, assemblies, drawings, and analysis helpers
    约束、标注、装配、图纸与分析辅助

  • transactions and undo/redo
    事务与撤销 / 重做

  • JSON project save/load
    JSON 项目保存 / 加载

GIS And Research Workflow / GIS 与研究工作流

  • project CRS, origin, extent, and drawing scale metadata
    项目 CRS、原点、范围与绘图比例元数据

  • CSV import for sampling points and field observations
    面向采样点和外业观测的 CSV 导入

  • GeoJSON import/export for point, line, and polygon data
    点、线、面 GeoJSON 导入 / 导出

  • Shapefile import/export for 2D GIS exchange
    用于二维 GIS 交换的 Shapefile 导入 / 导出

  • domain tools for:

    • sampling points
      采样点

    • monitoring wells
      监测井

    • profile lines
      剖面线

    • boundary polygons
      边界面

  • terrain/research helpers for:

    • polygon area statistics
      面域统计

    • profile length and section sampling
      剖面长度与断面采样

    • simplified cut/fill estimates
      简化挖填方估算

    • simplified grid surface volume estimates
      简化格网表面体积估算

File And Preview Support / 文件与预览支持

  • DXF import and export
    DXF 导入 / 导出

  • SVG, PDF-underlay, STEP-like, STL-like, OBJ-like, IGES-like, and GLTF-like workflows
    SVG、PDF-underlay、STEP-like、STL-like、OBJ-like、IGES-like 与 GLTF-like 工作流

  • preview generation as SVG or PNG
    生成 SVG 或 PNG 预览

OpenCascade Integration / OpenCascade 集成

  • reports whether the runtime backend is using mock geometry or OpenCascade
    报告当前运行时后端使用 mock geometry 还是 OpenCascade

  • includes a compatibility fallback for environments where opencascade.js package-root loading fails under modern Node ESM runtimes
    在现代 Node ESM 环境中 opencascade.js 包根加载失败时提供兼容回退

AutoCAD Integration / AutoCAD 集成

On Windows, the server can inspect and bind to a running AutoCAD application through COM, then read or submit commands to its live document:
在 Windows 平台上,服务可以通过 COM 检查并绑定正在运行的 AutoCAD 窗口,然后读取真实文档或向文档提交命令:

  • autocad_status

  • autocad_list_documents

  • autocad_attach

  • autocad_detach

  • autocad_activate_document

  • autocad_get_variables

  • autocad_list_layers

  • autocad_list_modelspace_entities

  • autocad_send_command

Start with autocad_list_documents to obtain the COM-reachable application window handles and open document names/paths, then call autocad_attach with the target decimal windowHandle and document. activate defaults to true, activating the selected document; false establishes the binding without activating it. autocad_status reports the live target and binding. Subsequent commands reject if the bound document is no longer active; use autocad_activate_document to switch deliberately. autocad_detach clears the binding without closing AutoCAD or its documents.
先调用 autocad_list_documents 获取 COM 可访问的窗口句柄与已打开文档,再用 autocad_attach 的十进制 windowHandledocument 绑定目标。activate 默认 true,会激活选中文档;设为 false 时只建立绑定,不激活文档。autocad_status 返回实时目标与绑定状态。若用户切换了活动文档,后续命令会拒绝发送;需要切换时调用 autocad_activate_documentautocad_detach 只解除绑定,不关闭 AutoCAD 或文档。

autocad_send_command submits a command once. Its default waitForIdle: false reports submitted; waitForIdle: true can report idle_observed after observing AutoCAD idle, or timeout when that observation deadline expires. A timeout result is an MCP error that preserves the command observations. These states do not prove the intended effect. timeoutMs (1000–30000 ms) bounds idle polling after the COM SendCommand call returns; a separate 45-second bridge timeout bounds blocking COM calls. Verify geometry or system variables afterward. After an error or timeout, do not resend before inspecting the drawing and command state. Busy documents reject command submission.
autocad_send_command 只提交一次命令。默认 waitForIdle: false 返回 submitted;设为 true 后,观察到空闲时返回 idle_observed,轮询到期仍未观察到空闲则返回 timeouttimeout 会标记为 MCP 错误并保留命令状态数据。这些状态都不代表绘图结果正确。timeoutMs(1000–30000 毫秒)只限制 COM SendCommand 返回后的空闲轮询;阻塞中的 COM 调用由独立的 45 秒桥接超时限制。应继续查询实体或系统变量核验。发生错误或超时后,必须先检查图纸与命令状态,再决定是否重发。文档忙碌时会拒绝提交命令。

COM discovery cannot guarantee access to every process when several instances of the same AutoCAD version are running. A requested window that is unreachable fails explicitly instead of silently using another window. This is document automation, not general mouse/keyboard or screenshot control of every CAD product.
同时运行同版本的多个 AutoCAD 进程时,COM 不保证能访问所有窗口。指定窗口不可达时会明确失败,不会自动改用其他窗口。这是 AutoCAD 文档自动化,不是对所有 CAD 软件的通用鼠标、键盘或截图接管。

This workflow is separate from the internal in-memory CAD session.
这套工作流与内部内存中的 CAD 会话相互独立。

Drawing And Thesis Layout / 出图与论文版式

  • map layout creation
    地图版式创建

  • north arrow, scale bar, legend, coordinate grid
    指北针、比例尺、图例、坐标格网

  • thesis templates such as A3 map and A4 figure layouts
    论文模板,例如 A3 地图版式和 A4 图版式

  • batch SVG/PDF generation for drawings
    图纸批量生成 SVG / PDF

Requirements / 环境要求

  • Node.js 18+

  • npm

  • Windows for AutoCAD COM integration
    AutoCAD COM 集成需要 Windows

  • AutoCAD running locally if you want to use the autocad_* tools
    如果要使用 autocad_* 工具,需要本地运行中的 AutoCAD

Node 20+ is recommended.
推荐使用 Node 20+。

Install / 安装

npm install

Build / 构建

npm run build

Windows PowerShell note: if npm.ps1 is blocked by execution policy, use npm.cmd run build.

Test / 测试

npm test

Windows PowerShell note: if npm.ps1 is blocked by execution policy, use npm.cmd test.

Run / 运行

The MCP host should launch this server over stdio.
MCP Host 应通过 stdio 启动此服务。

npm start

Equivalent / 等价命令:

node dist/index.js

MCP Configuration / MCP 配置

Example configuration / 配置示例:

{
  "mcpServers": {
    "cad-mcp-server": {
      "command": "node",
      "args": ["${workspaceFolder}/dist/index.js"],
      "cwd": "${workspaceFolder}"
    }
  }
}

After rebuilding the server, restart or reload your MCP host so new tools are picked up.
重新构建服务后,请重启或重新加载 MCP Host,以便识别新增工具。

Use mcp.config.example.json as the portable template. For a new checkout, copy it to mcp.config.json before running the repository's verification scripts:
mcp.config.example.json 是可移植模板。在新 checkout 中运行仓库验证脚本前,先复制为本机配置 mcp.config.json

Copy-Item -LiteralPath mcp.config.example.json -Destination mcp.config.json

Replace both literal ${workspaceFolder} placeholders in the copied file with the absolute checkout directory containing package.json. Use forward slashes in JSON paths, or escape backslashes. The verification scripts read this JSON directly and do not expand ${workspaceFolder}. args must point to this checkout's built dist/index.js, and cwd must point to the checkout directory.
将复制文件中的两处字面量 ${workspaceFolder} 替换为包含 package.json 的 checkout 绝对目录。JSON 路径可使用正斜杠,或对反斜杠进行转义。验证脚本直接读取 JSON,不会展开 ${workspaceFolder}args 应指向当前 checkout 构建后的 dist/index.jscwd 应指向该 checkout 目录。

The local mcp.config.json, generated verification output under tmp/, and workstation task notes in BUILD_GOAL.md are ignored by Git. Keep the portable example in source control.
本机 mcp.config.jsontmp/ 下的验证产物和 BUILD_GOAL.md 中的工作站任务说明均由 Git 忽略;源码中保留可移植配置示例。

Codex Skill / Codex Skill

This repository includes a repo-local Codex skill at skills/cad-mcp/SKILL.md. 本仓库包含一个项目内 Codex skill:skills/cad-mcp/SKILL.md

The skill summarizes safe operating patterns for this MCP server, including startup checks, internal CAD session workflows, AutoCAD COM caveats, DWG/DXF handling, GIS/research mapping workflows, and grouped tool references under skills/cad-mcp/references/. 该 skill 汇总了本 MCP 服务的安全使用方式,包括启动检查、内部 CAD 会话流程、AutoCAD COM 注意事项、DWG/DXF 处理、GIS/研究制图流程,以及 skills/cad-mcp/references/ 下的工具分组参考。

Main Tool Groups / 主要工具分组

  • geometry creation and editing / 几何创建与编辑

  • layer management / 图层管理

  • query and measurement tools / 查询与测量工具

  • assembly and drawing tools / 装配与图纸工具

  • topology and boolean tools / 拓扑与布尔工具

  • project file tools / 项目文件工具

  • GIS and georeference tools / GIS 与地理参考工具

  • field survey / resource-environment tools / 外业调查与资源环境领域工具

  • terrain / section / cut-fill analysis tools / 地形、断面与挖填方分析工具

  • AutoCAD bridge tools / AutoCAD 桥接工具

Project File Format / 项目文件格式

Saved project files use / 保存的项目文件包含:

  • format: cad-mcp-project

  • formatVersion: 1

  • savedAt: ISO 8601 string

  • snapshot: serialized session snapshot

  • scene.crs: project CRS metadata

  • scene.origin: local/world origin metadata

  • scene.extent: working extent metadata

  • scene.drawingScale: drawing-to-world scale metadata

Available Research-Focused Capabilities / 面向资源环境研究的现有能力

The current implementation already supports a usable lightweight workflow for resource/environment graduate students:
当前实现已经支持一条可用的轻量级资源环境研究工作流:

  1. import sampling points from CSV
    CSV 导入采样点

  2. import boundaries / profile lines / regions from GeoJSON or Shapefile
    GeoJSONShapefile 导入边界、剖面线和分区

  3. assign georeference metadata
    设置地理参考元数据

  4. create map layouts and thesis-style figures
    创建地图版式和论文风格图件

  5. compute area / profile / cut-fill style simplified analyses
    进行面积、剖面、简化挖填方等分析

  6. export figures and GIS data
    导出图件和 GIS 数据

Repository Additions / 仓库新增内容

  • src/core/OpenCascadeAdapter.ts: OpenCascade runtime loader and compatibility fallback
    OpenCascade 运行时加载器与兼容回退

  • src/integrations/AutoCadComBridge.ts: Windows COM bridge for live AutoCAD access
    Windows COM AutoCAD 实时桥接

  • src/tools/autocadTools.ts: MCP tool registration for AutoCAD operations
    AutoCAD MCP 工具注册

  • src/tools/gisTools.ts: project georeference tools
    项目地理参考工具

  • src/tools/gisIoTools.ts: CSV / GeoJSON / Shapefile IO tools
    CSV / GeoJSON / Shapefile IO 工具

  • src/tools/fieldSurveyTools.ts: domain tools for resource/environment workflows
    资源环境工作流领域工具

  • src/tools/terrainAnalysisTools.ts: terrain / profile / cut-fill style analysis tools
    地形 / 剖面 / 挖填方分析工具

  • src/tools/mapDrawingTools.ts: map/thesis layout and batch export tools
    地图 / 论文版式与批量导出工具

  • src/resources/templates.ts: drawing template resource loader
    图纸模板资源加载器

  • src/parsers/CsvParser.ts: CSV point import parser
    CSV 点导入解析器

  • src/parsers/GeoJsonParser.ts: GeoJSON parser / exporter
    GeoJSON 解析与导出器

  • src/parsers/ShapefileParser.ts: Shapefile parser / exporter bridge
    Shapefile 解析与导出桥接

  • assets/templates/thesis-a3-map.json: thesis map layout template
    论文地图版式模板

  • assets/templates/thesis-a4-figure.json: thesis figure layout template
    论文图模板

Limitations / 当前限制

  • DWG import is fully wired through LibreDWG's dwg2dxf (verified end-to-end on real R14 fixtures: LINE / CIRCLE / LWPOLYLINE / ARC are imported into the session)
    DWG 导入已经通过 LibreDWG 的 dwg2dxf 完整接通,已用真实 R14 文件端到端验证(LINE / CIRCLE / LWPOLYLINE / ARC 可以导入到会话)

  • DWG export wires dxf2dwg and writes a DWG to disk, but the internal minimal DXF emitter is currently rejected by LibreDWG's strict DXF parser; the binary path is in place and dwg_tools_status reports availability, but a full R14-compliant DXF skeleton (HEADER + 9 tables + BLOCKS + OBJECTS) is still required for round-trip-safe export. Until then, prefer export_dxf and convert externally
    DWG 导出已接 dxf2dwg 并落盘 DWG,但当前内置 DXF 输出过于精简,会被 LibreDWG 严格解析器拒收;二进制链路已就位且 dwg_tools_status 可用,但要真正可 round-trip,还需要一个完整 R14 DXF 骨架(HEADER + 9 张表 + BLOCKS + OBJECTS)。在此之前建议使用 export_dxf 并在外部转换

  • direct AutoCAD integration currently targets running local AutoCAD through COM on Windows
    直接 AutoCAD 集成当前仍然面向 Windows 本地 COM

  • AutoCAD COM automation can be sensitive to Windows privilege/integrity level. Run the MCP host at the same privilege level as the AutoCAD process, and call autocad_status before list or command tools
    AutoCAD COM 自动化可能受 Windows 权限/完整性级别影响。请让 MCP Host 与 AutoCAD 进程使用相同权限级别,并在列表或命令工具前先调用 autocad_status

  • some DXF entity types and advanced polyline bulge cases still have limited support
    某些 DXF 实体类型和高级 polyline bulge 场景支持仍有限

  • the internal CAD session and the live AutoCAD bridge are related but distinct workflows
    内部 CAD 会话与实时 AutoCAD 桥接是相关但独立的两套工作流

  • georeference now includes a real proj4-backed reprojection engine (reproject_point, reproject_points); the legacy transform_coords flow remains metadata-driven for local/world conversion only
    地理参考现在包含基于 proj4 的真实投影引擎(reproject_point / reproject_points),旧的 transform_coords 仍仅用于元数据驱动的局部/世界坐标转换

  • raster (GeoTIFF) support is currently single-image basemap oriented; large mosaic / tile workflows are not yet bundled
    栅格 / GeoTIFF 支持当前面向单幅底图,尚未内置大范围镶嵌或瓦片工作流

  • terrain and cut/fill calculations are simplified research helpers rather than survey-grade engineering calculations
    当前地形和挖填方计算属于简化研究辅助能力,不是测量级工程计算

License / 许可证

ISC

Available Tools

225 tools
add_aligned_dimensionD

Add an aligned dimension annotation.

ParametersJSON Schema
NameRequiredDescriptionDefault
p1Yes
p2Yes
offsetYes

TDQS

D1.7/5.0
Behavior1/5

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

No annotations are provided, so the description carries the entire behavioral burden, and it discloses nothing: not units, not whether the annotation is placed on a layer, not how the offset distances the dimension from the geometry, and not whether p1/p2 are measurement points or extension-line endpoints.

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

Conciseness3/5

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

It is a single short sentence with no wasted words and is front-loaded, but its brevity reflects under-specification rather than disciplined concision.

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

Completeness1/5

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

A mutating CAD tool with three required parameters, nested objects, zero schema documentation, and no annotations or output schema requires far more explanation than one tautological sentence. Nothing an agent needs in order to call it correctly is present.

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

Parameters1/5

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

Schema description coverage is 0% across three required parameters, including a nested p1/p2 object with x/y coordinates and an offset scalar. The description explains none of them, so the agent cannot know what geometry p1/p2 reference or how offset is interpreted or oriented.

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

Purpose2/5

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

The description is a direct restatement of the tool name: 'Add an aligned dimension annotation' for add_aligned_dimension. It adds no distinguishing detail versus siblings such as add_angular_dimension, add_linear_dimension, or add_ordinate_dimension, which share the identical 'Add a ... dimension annotation' pattern.

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?

No when-to-use guidance, no prerequisites, and no mention of when an aligned dimension is preferred over the linear, baseline, or continued dimension siblings. The agent gets no basis for choosing this tool over its near-identical neighbours.

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

add_angular_dimensionC

Add an angular dimension annotation.

ParametersJSON Schema
NameRequiredDescriptionDefault
p1Yes
p2Yes
vertexYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden and discloses nothing: not whether the annotation is committed immediately or requires a transaction, not the units/angle convention (degrees vs radians), not view/drawing prerequisites, and not what is returned. It only restates the creation action.

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

Conciseness3/5

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

It is a single grammatical sentence with zero filler, so it is concise and front-loaded. However, at this level of brevity it is under-specified rather than efficient given the tool's complexity.

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

Completeness1/5

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

For a tool with three required nested-object parameters, no annotations, and no output schema, the description supplies none of the context an agent needs to invoke it correctly. It is materially inadequate for the tool's complexity.

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

Parameters1/5

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

Schema description coverage is 0% for three required parameters (vertex, p1, p2), and the description adds no meaning at all about their roles (which point is the angle vertex, how p1/p2 define the rays, ordering). The description does nothing to compensate for the complete lack of parameter documentation.

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?

States a specific verb and resource ('Add an angular dimension annotation'), and the word 'angular' implicitly distinguishes it from the many sibling dimension tools (aligned, radius, diameter, ordinate). It is clear but does not explicitly route the agent away from those siblings, which is what a 5 would require.

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 guidance on when to use this tool versus add_aligned_dimension, add_linear_dimension, add_dimension_angular, or the other dimension variants in the sibling list. The agent must infer applicability from the name alone.

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

add_auxiliary_viewD

Add a add_auxiliary_view to a drawing.

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNo
centerNo
cut_lineNo
positionNo
solid_idNo
directionNo
view_typeNo
drawing_idYes
parent_view_idNo

TDQS

D1.3/5.0
Behavior1/5

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

No annotations are provided, so the description must carry the full behavioral burden. It does not disclose mutation side effects, required permissions, how the drawing is affected, whether the operation is reversible, or any constraints. For a 9-parameter mutation tool, this is a severe gap.

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

Conciseness2/5

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

The single sentence is short and front-loaded, but it is under-specified rather than concise. It wastes the only sentence on a tautology, leaving no room for useful information. The structure does not earn its place.

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

Completeness1/5

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

Given 9 parameters with 0% schema description coverage, no annotations, no output schema, and nested object parameters, the description is completely inadequate. It omits nearly everything an agent would need to invoke the tool correctly.

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

Parameters1/5

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

Schema description coverage is 0%, and the description mentions none of the 9 parameters. It does not explain scale, center, cut_line, position, solid_id, direction, view_type, parent_view_id, or drawing_id. The description fails to compensate for the absent schema descriptions.

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

Purpose2/5

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

The description essentially restates the tool name: 'Add a add_auxiliary_view to a drawing.' It gives a verb and resource but no meaningful definition of what an auxiliary view is or how it differs from sibling tools such as add_view, add_section_view, and add_detail_view. This is tautological rather than clarifying.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives. Siblings like add_view, add_section_view, and add_detail_view are plausible alternatives, but the description does not mention selection criteria, prerequisites, or exclusions.

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

add_baseline_dimensionD

Add baseline dimensions.

ParametersJSON Schema
NameRequiredDescriptionDefault
pointsYes
baselineYes

TDQS

D1.5/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about what is created, required drawing/context state, units, or whether the operation is undoable. A single restated noun phrase gives the agent zero behavioral context for a mutation tool.

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

Conciseness2/5

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

It is a single short sentence, but the brevity is under-specification rather than conciseness — there is no front-loaded useful information because the sentence contains no information beyond the name.

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

Completeness1/5

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

For a two-parameter mutation tool with a nested schema, no annotations, and no output schema, the description is completely inadequate. Nothing an agent needs to call it correctly is present.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning for either required parameter. The nested 'points' array of x/y objects (minItems 1) and the numeric 'baseline' value are entirely undocumented, leaving the agent to guess their semantics.

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

Purpose2/5

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

'Add baseline dimensions' merely restates the tool name. It does not explain what a baseline dimension is or how it differs from the many sibling dimension tools (add_linear_dimension, add_continued_dimension, add_ordinate_dimension, etc.), so an agent cannot distinguish it without opening the schema.

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 guidance and no mention of alternatives, despite a crowded sibling set of dimension tools that overlap heavily. The only inference available is that this adds some kind of dimension.

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

add_center_lineD

Add symbol annotation add_center_line.

ParametersJSON Schema
NameRequiredDescriptionDefault
datumNo
symbolNo
optionsNo
entitiesNo
positionNo
circle_idNo
roughnessNo
toleranceNo

TDQS

D1.5/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It says nothing about side effects, whether the annotation is associative, how it interacts with selected entities, or what permissions or context are required. For a mutation tool with zero annotation coverage, this is a critical gap.

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

Conciseness2/5

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

The sentence is short but fails because it is under-specified rather than concise; it omits information an agent needs. The wording 'Add symbol annotation add_center_line' also awkwardly duplicates the tool name.

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

Completeness1/5

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

This is a complex, 8-parameter tool with nested objects, no annotations, and no output schema, yet the description provides no compensating detail. It is completely inadequate for an agent to invoke the tool correctly.

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

Parameters1/5

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

Schema description coverage is 0% across 8 parameters, including nested objects like position and options, and the description does not mention a single parameter. There is no explanation of what datum, symbol, roughness, tolerance, or circle_id control, leaving the agent entirely dependent on raw property names.

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

Purpose2/5

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

The description is essentially a restatement of the tool name, adding only the generic category 'symbol annotation.' It does not specify what a center line is, what the resulting entity looks like, or how it differs from siblings like add_center_mark or the dimension tools. An agent cannot confidently choose this over the many other annotation tools.

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 indication of when to use this tool, what prerequisites exist, or which sibling to prefer for related tasks such as center marks or dimensions. The single word 'Add' implies a creation action but provides no routing guidance.

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

add_center_markD

Add symbol annotation add_center_mark.

ParametersJSON Schema
NameRequiredDescriptionDefault
datumNo
symbolNo
optionsNo
entitiesNo
positionNo
circle_idNo
roughnessNo
toleranceNo

TDQS

D1.5/5.0
Behavior1/5

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

No annotations are provided, so the description bears the full behavioral burden, yet it discloses nothing: not whether the mark is associative to entities, whether it needs a datum or circle reference, whether it is undoable, or what it returns. For an 8-parameter mutation tool this is a complete gap.

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

Conciseness2/5

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

The description is a single clause and technically concise, but this is under-specification rather than economy: it is too short to be useful and wastes the space on a restatement of the name.

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

Completeness1/5

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

Given 8 undocumented parameters, nested objects, zero annotation coverage, and no output schema, the definition is entirely inadequate; an agent could not invoke this tool correctly from the definition alone.

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

Parameters1/5

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

Schema description coverage is 0% across 8 parameters, and the description supplies no meaning for datum, symbol, options, entities, position, circle_id, roughness, or tolerance. An agent has no way to know what values are expected, especially for the nested position object and the free-form options map.

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

Purpose2/5

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

The description 'Add symbol annotation add_center_mark' merely restates the tool name with the word 'symbol annotation' appended; it does not explain what a center mark is or how it differs from siblings such as add_center_line, add_surface_finish_symbol, or add_weld_symbol. It is essentially a tautology.

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 indication of when to use this tool versus the many other annotation tools (add_center_line, add_gdt_frame, etc.), nor any prerequisites or context of use. Usage is left entirely to inference from the name.

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

add_componentC

Add a component reference to an assembly.

ParametersJSON Schema
NameRequiredDescriptionDefault
positionYes
rotationNo
assembly_idYes
file_path_or_idYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a mutation ('Add'), but omits whether the assembly must already exist, whether the operation is reversible, what permissions are needed, and what the result looks like. It adds almost no behavioral context beyond the verb.

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?

The single sentence is front-loaded and free of filler, clearly stating the action and target. Its terseness is efficient, though it is too sparse to be fully helpful.

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

Completeness1/5

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

Given a mutation tool with 4 parameters, 0% schema description coverage, no annotations, and no output schema, one sentence is not enough. An agent lacks parameter meanings, usage conditions, and behavioral expectations needed to invoke the tool correctly.

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

Parameters1/5

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

Schema description coverage is 0% with 4 parameters. The description does not explain assembly_id, file_path_or_id, position, or rotation, nor does it clarify the required 3-item position array, the optional rotation array, or the difference between a file path and an ID. It fails to compensate for the complete lack of schema descriptions.

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 gives a clear verb ('Add') and a specific resource ('component reference to an assembly'). It distinguishes the operation from creating an assembly, but does not explicitly differentiate from siblings like create_assembly, insert_block, or remove_component.

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?

No when-to-use guidance is provided. It does not say when an agent should prefer add_component over create_assembly, insert_block, or other assembly/component operations, nor does it mention prerequisites like an existing assembly.

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

add_constraint_coincidentD

Add a coincident constraint.

ParametersJSON Schema
NameRequiredDescriptionDefault
point_aYes
point_bYes
entity_aYes
entity_bYes

TDQS

D1.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it says essentially nothing. The term 'coincident' implies that geometry is being made to share a point, but there is no disclosure of preconditions, failure modes, or effects on the model.

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

Conciseness3/5

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

It is a single short, front-loaded sentence with no wasted wording. However, for a tool with four required parameters, this brevity reflects under-specification rather than genuine conciseness.

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

Completeness1/5

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

With four required parameters, 0% schema coverage, no annotations, and no output schema, the description is completely inadequate for an agent to invoke this tool correctly. Nothing compensates for the missing parameter and behavioral information.

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

Parameters1/5

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

Schema description coverage is 0% and the description mentions no parameters at all. The four required parameters (entity_a, point_a, entity_b, point_b) are entirely undocumented in both the schema and the description, leaving their expected formats (IDs? point names?) ambiguous.

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

Purpose2/5

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

The description 'Add a coincident constraint' is a near-verbatim restatement of the tool name add_constraint_coincident, with no additional detail. It conveys a verb+domain concept but offers nothing to distinguish it from the many sibling constraint tools beyond the word 'coincident' already present in the name.

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 guidance on when to use this constraint versus alternatives such as add_constraint_concentric, add_constraint_tangent, or the many other add_constraint_* siblings. No prerequisites, no context for selection are provided.

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

add_constraint_concentricD

Add a concentric constraint.

ParametersJSON Schema
NameRequiredDescriptionDefault
circle_aYes
circle_bYes

TDQS

D1.5/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not what a concentric constraint does to the referenced circles, whether the entities must already exist, whether existing geometry moves, or whether the operation is reversible. For a mutation tool with zero annotation coverage this is a complete gap.

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

Conciseness2/5

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

It is short, but the brevity is under-specification rather than economy: a single sentence with no actionable content. It is front-loaded only in the sense that there is nothing else.

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

Completeness1/5

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

A two-parameter mutation tool with no annotations, no output schema, and no parameter descriptions leaves the agent with nothing beyond the name. Everything needed to invoke it correctly is absent.

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

Parameters1/5

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

Schema description coverage is 0% for both parameters. 'circle_a' and 'circle_b' are undocumented as to whether they are entity handles, names, IDs, or numeric radia, and the description supplies no compensating detail. An agent cannot reliably format these values.

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

Purpose2/5

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

The description is a near-verbatim restatement of the tool name: 'add_constraint_concentric' -> 'Add a concentric constraint.' It confirms a verb and a resource, but adds no scope, no subject (which two objects get constrained) and no differentiation from the sibling 'mate_concentric', which reads as the same operation.

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 or when-not-to-use guidance. The agent is not told how this differs from mate_concentric, nor whether it applies inside sketches, assemblies, or already-created geometry. Nothing in the text helps choose between it and the other add_constraint_* siblings.

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

add_constraint_equalD

Add a equal constraint.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_aYes
entity_bYes

TDQS

D1.3/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether the entities must already exist, whether the constraint is persistent, what happens on conflict with existing constraints, or whether the operation is reversible.

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

Conciseness2/5

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

The single sentence is short, but it is under-specified rather than concise, and it contains a grammatical error ('a equal'). Brevity here reflects missing information, not efficiency.

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

Completeness1/5

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

For a mutation tool with no annotations, no output schema, and two entirely undocumented required parameters sitting among a dozen sibling constraint operations, the description is far too thin to let an agent invoke it correctly.

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

Parameters1/5

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

Both required parameters (entity_a, entity_b) have 0% schema description coverage and the description adds no meaning — it never explains that these are the two entities being constrained equal, nor what form an entity reference takes.

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

Purpose2/5

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

The description is essentially a restatement of the tool name ('add_constraint_equal' → 'Add a equal constraint'), with no scope or distinguishing detail beyond the obvious. It does imply two entities are related by equality, but it never says what kind of entity is valid or how this differs from the many sibling add_constraint_* tools.

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

Usage Guidelines1/5

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

There is no guidance on when to use this constraint versus add_constraint_coincident, add_constraint_parallel, add_constraint_concentric, or the other constraint siblings, and no mention of prerequisites. An agent gets no basis for selecting this tool over alternatives.

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

add_constraint_fixedC

Add a fixed constraint.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idYes

TDQS

C2.1/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden. It says nothing about what a fixed constraint does to the entity (locking it in place), whether it's reversible, what permissions or preconditions are needed, or how it interacts with other constraints. 'Add a fixed constraint' restates the name with zero added context.

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

Conciseness3/5

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

Extremely short — only four words. It's front-loaded but so under-specified that brevity reflects omission rather than efficiency.

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

Completeness1/5

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

A geometry constraint tool with no annotations, no output schema, 0% parameter coverage, and no explanation of the fixed-constraint semantics is far too thin. The description leaves the agent unable to distinguish this from a dozen sibling constraint tools or to know what the constraint actually does.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate, but it doesn't mention entity_id at all. An agent cannot infer from the description that it must supply an entity identifier, nor what value format is expected.

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

Purpose3/5

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

States a verb (Add) and resource (fixed constraint), which is broader than a tautology but adds no differentiation. Among ~15 sibling add_constraint_* tools (coincident, parallel, tangent, etc.), 'fixed' is not explained — the agent can't tell what a fixed constraint does versus the others from the description alone.

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?

No when-to-use guidance, no alternatives named, no prerequisites. The description doesn't mention that the entity must exist or that this anchors geometry in place.

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

add_constraint_horizontalC

Add a horizontal constraint.

ParametersJSON Schema
NameRequiredDescriptionDefault
line_idYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations exist, so the description carries the full burden, yet it says nothing about behavior: whether the constraint is applied immediately, what happens on conflicting constraints, whether it requires a horizontal line, or what the response is. 'Add' implies mutation but no mutation details (permissions, reversibility) are given.

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

Conciseness3/5

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

The one-line description is front-loaded and not padded, but its brevity is under-specification rather than genuine conciseness. There is nothing structurally wrong, only too little content.

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

Completeness2/5

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

For a mutation tool with no annotations, no output schema, and an undocumented required parameter, the description omits essentially all the context an agent needs to invoke it correctly. It is markedly under-documented.

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

Parameters1/5

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

The single required parameter line_id has 0% schema description coverage, and the description does not mention it at all or explain what it identifies. The description fails to compensate for the documentation gap.

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?

States a specific verb ('Add') and a specific resource ('horizontal constraint'), so the operation is unambiguous. However, it offers no differentiation from the large family of sibling constraint tools (add_constraint_coincident, add_constraint_parallel, etc.), leaving the agent to infer selection.

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 guidance on when to use this constraint versus the many alternatives, nor any prerequisites (e.g., whether an entity must already be selected or that only line_id is supplied). Usage must be entirely inferred.

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

add_constraint_midpointD

Add a midpoint constraint.

ParametersJSON Schema
NameRequiredDescriptionDefault
line_idYes
point_idYes

TDQS

D1.7/5.0
Behavior1/5

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

With no annotations provided, the description carries the full behavioral burden, yet it discloses nothing: no mutation semantics, no required permissions, no note on whether the constraint is reversible or how it interacts with existing constraints on the point/line.

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

Conciseness3/5

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

A single short sentence with no filler, but the brevity stems from under-specification rather than tight editing — there is nothing to front-load because nothing is said.

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

Completeness1/5

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

No annotations, no output schema, no parameter documentation, and a one-line description for a constraint-creation tool with two required parameters. An agent lacks everything needed to call it correctly — which entity moves, what fails, what is returned.

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

Parameters1/5

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

Schema description coverage is 0% for the two required parameters. The description adds no meaning: it does not clarify that line_id identifies the line whose midpoint is used or how point_id relates to it, leaving the core semantics of the constraint ambiguous.

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

Purpose2/5

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

The description restates the tool name almost verbatim ("Add a midpoint constraint") without explaining the operation's semantics — e.g. that a point is constrained to the midpoint of a line. It doesn't distinguish itself from the many sibling add_constraint_* tools beyond the word 'midpoint'.

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?

No guidance on when to use this constraint versus alternatives such as add_constraint_coincident or add_constraint_symmetric, and no preconditions (e.g. point and line must already exist and be unconstrained) are stated.

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

add_constraint_parallelD

Add a parallel constraint.

ParametersJSON Schema
NameRequiredDescriptionDefault
line_aYes
line_bYes

TDQS

D1.5/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full disclosure burden. It does not state that this creates a persistent geometric relation, whether it modifies existing geometry, what selection state is required, or what errors occur when the inputs cannot be made parallel.

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

Conciseness2/5

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

The one-sentence form is brief but under-specified rather than economical. It spends no words on the information needed to invoke the tool and offers only a fragment of the name restated.

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

Completeness1/5

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

For a constraint-creation tool with two undocumented required parameters, no annotations, and no output schema, the description is far too thin. It omits the input contract, behavioral effects, and sibling differentiation that an agent needs to invoke it correctly.

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

Parameters1/5

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

Schema description coverage is 0% for the two required parameters, line_a and line_b. The description never mentions them, so an agent cannot learn what the two strings represent (entity IDs, names, handles) or what makes them valid inputs.

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

Purpose2/5

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

The description 'Add a parallel constraint' merely restates the tool name verbatim. It does not clarify what entity types are constrained, how it differs from siblings like add_constraint_perpendicular or mate_parallel, or what the resulting constraint means. The agent learns nothing beyond the name.

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 guidance, no prerequisites, and no alternatives named. The agent cannot tell whether this applies to sketch lines, 3D edges, or assembly components, nor when to choose it over the many other constraint and mate tools.

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

add_constraint_perpendicularD

Add a perpendicular constraint.

ParametersJSON Schema
NameRequiredDescriptionDefault
line_aYes
line_bYes

TDQS

D1.6/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden, yet it discloses nothing about behavior: not whether it modifies the model, requires selected entities, resolves geometry, or is reversible. For a mutation tool with zero annotation coverage this is a critical gap.

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

Conciseness2/5

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

It is a single short sentence with no padding, but that brevity is under-specification rather than conciseness — nothing is front-loaded because nothing of substance is present.

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

Completeness1/5

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

For a two-parameter mutation tool with no annotations, no output schema, no parameter documentation, and a large family of near-identical sibling constraint tools, the description is far too thin to support correct invocation.

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

Parameters1/5

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

Schema description coverage is 0% and there are two required parameters (line_a, line_b). The description never mentions them, so the agent must guess what identifiers these expect (handles, names, entity IDs) and how the perpendicular relationship is applied between them.

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

Purpose3/5

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

The description states a specific verb ('Add') and a specific constraint type ('perpendicular'), which does distinguish it from siblings like add_constraint_parallel or add_constraint_tangent. However, it does not explain what the constraint does or what geometry it relates, so it only marginally exceeds restating the tool name.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus the many other constraint tools, no prerequisites, and no indication of the state the model must be in. The agent is given nothing to route on.

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

add_constraint_symmetricD

Add a symmetric constraint.

ParametersJSON Schema
NameRequiredDescriptionDefault
axisYes
entity_aYes
entity_bYes

TDQS

D1.9/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about what happens to the referenced entities, whether it requires an axis of symmetry, whether it is reversible, or how failures are reported. It merely echoes the name.

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

Conciseness3/5

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

The single sentence is short and front-loaded, so there is no wasted prose. But its brevity reflects under-specification rather than efficient communication — it is minimal to a fault for a 3-parameter mutation tool.

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

Completeness1/5

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

With no annotations, no output schema, and zero parameter documentation, the description leaves the agent without the minimum information needed to call this tool correctly. The context signals show all three parameters are required, which the description never acknowledges.

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

Parameters1/5

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

Schema description coverage is 0% and all three parameters (entity_a, entity_b, axis) are undocumented in both schema and description. The description gives no hint that a symmetric constraint relates two entities about an axis, leaving the semantics of every parameter opaque.

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

Purpose3/5

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

States a specific verb (Add) and resource (symmetric constraint), so the operation is identifiable. However, it adds nothing beyond the tool name itself and does not distinguish it from the many sibling constraint tools in any meaningful way.

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 guidance on when to use this constraint versus alternatives (e.g. concentric, parallel, equal) and no mention of prerequisites or the modelling context in which a symmetric constraint applies. Only implied usage from the name.

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

add_constraint_tangentD

Add a tangent constraint.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_aYes
entity_bYes

TDQS

D1.9/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether the constraint triggers a solver update, whether it can fail on incompatible geometry, whether existing constraints conflict, or what is returned on success.

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

Conciseness3/5

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

A single short sentence with no wasted words, but the brevity is under-specification rather than efficiency; there is no structure because there is essentially no content.

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

Completeness1/5

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

For a two-parameter, mandatory-argument mutation tool with no annotations, no output schema, and zero schema documentation, the description is far too thin for an agent to invoke it confidently.

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

Parameters1/5

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

Schema description coverage is 0% and the description says nothing about entity_a/entity_b. The agent cannot tell whether these are entity IDs, names, handles, or what geometric types each may reference.

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

Purpose3/5

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

The description names a specific verb+resource ('Add a tangent constraint'), which is more than a bare tautology, but it adds nothing the tool name doesn't already convey and does not distinguish it from the many sibling constraints (coincident, parallel, perpendicular, concentric). An agent can identify the operation but gains no discriminating information.

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 statement of when to use this constraint versus other constraints, no prerequisites, and no mention of which entity combinations are valid. The usage context is implied only by the tool name.

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

add_constraint_verticalC

Add a vertical constraint.

ParametersJSON Schema
NameRequiredDescriptionDefault
line_idYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations and no output schema, the description carries the full disclosure burden, yet it only implies a mutating 'add' operation. It says nothing about whether the constraint is idempotent, what happens if line_id does not reference a valid line entity, whether the constraint can later be removed, or how failure is reported.

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

Conciseness3/5

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

One short, front-loaded sentence with no wasted words, but its brevity stems from under-specification rather than efficiency. It is not padded, yet it conveys almost nothing beyond the title.

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

Completeness2/5

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

For a mutation tool with no annotations, no output schema, and an undocumented required parameter, the definition is far too thin. It omits validation rules, error semantics, and any indication of how the new constraint relates to existing geometry, leaving the agent to guess at correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% and the single required parameter line_id is undocumented in the schema. The description does not mention line_id at all, so it neither explains that it must be the ID of an existing line entity nor compensates for the coverage gap. Only the self-evident parameter name carries meaning.

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

Purpose3/5

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

The description states a specific verb and resource ("Add a vertical constraint"), so its purpose is legible. But it essentially restates the tool name verbatim and does no work to distinguish it from the many sibling constraint tools (add_constraint_horizontal, add_constraint_concentric, add_constraint_coincident), all of which share the same 'add_constraint_*' pattern.

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 guidance on when to use this versus add_constraint_horizontal or the other constraint siblings, no prerequisites (e.g. that the referenced geometry must already exist), and no conditions or exclusions. The agent is left to infer everything from the name alone.

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

add_continued_dimensionD

Add continued dimensions.

ParametersJSON Schema
NameRequiredDescriptionDefault
pointsYes

TDQS

D1.6/5.0
Behavior1/5

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

No annotations are provided, so the description must carry the full behavioral burden. It says nothing about side effects, permissions, whether it modifies the drawing, what happens on invalid points, or what is returned. It is merely a restatement of the tool name.

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

Conciseness2/5

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

The description is a single short sentence and is front-loaded, but it is under-specified rather than appropriately concise. It omits essential information that an agent would need to invoke the tool correctly.

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

Completeness1/5

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

Given the complexity of the CAD dimensioning domain, the presence of many sibling dimension tools, no annotations, no output schema, and zero schema description coverage, the description is not complete enough for correct tool selection or invocation.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning for the single required parameter 'points'. It does not explain units, coordinate order, coordinate space, why a minimum of two points is required, or how those points define a continued dimension.

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

Purpose3/5

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

The description states a specific verb and resource ('Add continued dimensions'), so the general operation is clear. However, it does not explain what a 'continued dimension' is or how it differs from sibling dimension tools such as add_baseline_dimension, add_linear_dimension, or add_aligned_dimension. The resource term is therefore ambiguous in context.

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

Usage Guidelines1/5

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

There is no guidance about when to use this tool, when not to use it, or which sibling dimension tool is the alternative. With many dimension-related siblings, the absence of routing guidance is a severe gap.

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

add_coordinate_gridC

Add a coordinate grid using the provided extent and spacing.

ParametersJSON Schema
NameRequiredDescriptionDefault
layerNo
extentNo
spacingYes
drawing_idYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description must fully disclose mutation behavior. It says 'Add' but omits what entities are created, whether an active drawing is required, default layer handling, undo implications, and any side effects.

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?

The description is a single front-loaded sentence with no filler. It is appropriately brief, though its terseness borders on under-specification for a mutation tool.

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

Completeness2/5

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

For a 4-parameter mutation tool with no annotations and no output schema, the description is far too sparse. It does not cover required drawing_id, optional extent or layer semantics, or any behavioral context needed to invoke the tool correctly.

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

Parameters2/5

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

Schema coverage is 0% for four parameters, so the description should compensate. It mentions extent and spacing but omits drawing_id (required) and layer, and does not explain the extent object structure or spacing units.

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 uses a specific verb 'Add' with the resource 'coordinate grid', making the tool's basic action clear. It does not differentiate this tool from other add_* or map-drafting siblings, so it stops short of a 5.

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 guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The phrase 'using the provided extent and spacing' implies inputs but not usage context.

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

add_detail_viewD

Add a add_detail_view to a drawing.

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNo
centerNo
cut_lineNo
positionNo
solid_idNo
directionNo
view_typeNo
drawing_idYes
parent_view_idNo

TDQS

D1.1/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: whether the drawing must already exist, whether the view is created immediately or batched, what happens if parent_view_id is omitted, or what is returned. For a mutation tool with 9 parameters this is a complete void.

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

Conciseness2/5

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

It is a single short sentence with no waste, but its brevity comes from under-specification rather than economy. The duplicated article in 'a add_detail_view' also suggests careless generation.

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

Completeness1/5

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

For a 9-parameter, mutation-style drawing operation with no annotations, no output schema, and nested coordinate objects, the description supplies none of the information an agent needs to invoke it correctly. It is effectively absent.

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

Parameters1/5

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

With 9 parameters, nested objects (position, cut_line), and 0% schema description coverage, the description mentions zero parameters. An agent cannot know what scale, center, cut_line, direction, view_type, or parent_view_id mean or in what units they are expressed.

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

Purpose1/5

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

The description is a tautology: 'Add a add_detail_view to a drawing' simply restates the tool name and adds only the banal fact that it targets a drawing. It gives no indication of what a detail view is, how it differs from add_view, add_section_view, or add_auxiliary_view, and contains a grammatical redundancy that signals it was auto-generated.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus its many siblings (add_view, add_section_view, add_auxiliary_view, create_viewport, update_drawing_views). No prerequisites, no exclusions, no workflow context.

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

add_diameter_dimensionC

Add a diameter dimension.

ParametersJSON Schema
NameRequiredDescriptionDefault
circle_idYes
leader_pointYes

TDQS

C2.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, and it discloses nothing: no statement about whether this mutates the drawing, creates an annotation entity, requires a valid circle_id, or is undoable. An 'add' verb implies creation, but nothing about side effects or failure modes is given.

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

Conciseness3/5

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

The single short sentence is trim and front-loaded, but its brevity reflects under-specification rather than efficiency — there is no waste because there is almost no content.

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

Completeness2/5

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

For a mutation tool with a nested-object parameter, zero schema description coverage, no annotations, and no output schema, a four-word description is insufficient. An agent cannot reliably construct a valid call from this definition alone.

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

Parameters1/5

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

Schema description coverage is 0% and the description documents neither parameter. The agent must infer that circle_id references a circle entity and that leader_point is the nested {x,y} location for the dimension leader, with no help from either the schema or the description.

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

Purpose3/5

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

States a specific verb and resource ('add a diameter dimension'), so the basic action is identifiable. However, it does nothing to distinguish itself from the many sibling dimension tools, most notably the near-identical 'add_dimension_diameter', leaving the agent unable to tell which one to pick.

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?

No when-to-use guidance at all. The description does not say when a diameter dimension is preferable to add_radius_dimension, add_aligned_dimension, or the redundant add_dimension_diameter sibling, nor does it state prerequisites such as an existing circle.

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

add_dimension_angularD

Add a dimension_angular constraint.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
line_aYes
line_bYes

TDQS

D1.3/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether the dimension is associative/parametric, whether entities must already exist, what happens on failure, or what is returned.

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

Conciseness2/5

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

It is short, but this is under-specification rather than conciseness — a single sentence that adds no information beyond the tool name.

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

Completeness1/5

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

For a 3-parameter creation tool with no annotations, no output schema, and no parameter documentation, the description is completely inadequate to enable a correct call.

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

Parameters1/5

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

Three required parameters (line_a, line_b, value) with 0% schema description coverage, and the description explains none of them. An agent cannot tell whether line_a/line_b are entity handles, IDs, or names, nor what units 'value' uses.

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

Purpose2/5

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

The description only restates the tool name, saying it adds a 'dimension_angular constraint' without clarifying what such a dimension measures or what it applies to. Sibling add_angular_dimension exists with an almost identical name and no distinction is drawn between them, leaving the agent unable to disambiguate.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus add_angular_dimension or the many other add_*_dimension siblings. No prerequisites, no context, no exclusions.

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

add_dimension_diameterD

Add a dimension_diameter constraint.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
circle_idYes

TDQS

D1.8/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden, and it discloses nothing: not whether an entity must pre-exist, whether the target must be a circle, whether the constraint persists, or what happens on failure. Bare minimum not met.

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

Conciseness3/5

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

A single short sentence with no waste, but there is hardly any content to be concise about – the brevity reflects under-specification rather than discipline.

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

Completeness1/5

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

With no annotations, no output schema, 0% parameter description coverage, and crowded sibling space (multiple add_*dimension and constraint tools), the description leaves an agent unable to determine correct targets, units, or workflow.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate, but it says nothing about what circle_id or value mean (units? edge reference? identifier format?). Schema provides only property names and types.

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

Purpose2/5

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

The description 'Add a dimension_diameter constraint' restates the tool name with virtually no added specificity. Among dozens of sibling add_* tools, it does not distinguish what target this dimension applies to (the schema's circle_id hints it, but the description does not).

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?

No indication of when to use this versus add_radius_dimension, add_diameter_dimension, add_aligned_dimension, or other dimension siblings. No prerequisites, no context for choosing this tool.

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

add_dimension_linearD

Add a dimension_linear constraint.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNo
valueYes
point_aYes
point_bYes

TDQS

D1.3/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not say whether the constraint is persistent, what happens on failure, whether referenced points must exist, or what is returned.

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

Conciseness2/5

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

It is a single short sentence, but it is under-specified rather than concise — there is no wasted text because there is essentially no content. Brevity here reflects a lack of information, not efficient communication.

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

Completeness1/5

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

For a 4-parameter mutation tool with 0% schema coverage, no annotations, and no output schema, the description is completely inadequate. It offers nothing an agent needs in order to invoke the tool correctly.

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

Parameters1/5

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

Schema coverage is 0% across 4 parameters, and the description adds no meaning for point_a, point_b, value, or label. An agent cannot tell from either source what these parameters should reference or how value is interpreted.

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

Purpose2/5

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

The description only restates the tool name ('Add' + 'dimension_linear constraint') without explaining what a linear dimension constraint does or what geometry it applies to. It is especially unhelpful given siblings like add_linear_dimension, add_aligned_dimension, and the other add_dimension_* tools, none of which are distinguished from this one.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus the many sibling dimension tools, no prerequisites, and no mention of required selections or sketch context. Nothing tells an agent how to choose between it and add_linear_dimension.

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

add_dimension_radialD

Add a dimension_radial constraint.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
circle_idYes

TDQS

D1.3/5.0
Behavior1/5

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

No annotations are supplied, so the description carries the full behavioral burden, and it discloses nothing: not whether the dimension is associative, whether it requires an existing circle, whether it mutates the drawing, or what errors occur on failure.

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

Conciseness2/5

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

It is a single short sentence with no wasted words, but its brevity comes from under-specification rather than discipline. Short is not the same as concise when nothing informative is conveyed.

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

Completeness1/5

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

For a two-parameter mutation tool with no annotations, no output schema, and 0% parameter documentation, the description is completely inadequate. Nothing an agent needs to invoke it correctly is present.

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

Parameters1/5

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

Schema coverage is 0% for both parameters. 'circle_id' and 'value' are undocumented in both schema and description; the agent cannot tell whether circle_id references an entity ID or a named circle, nor whether 'value' is an override or an offset distance.

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

Purpose2/5

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

The description restates the tool name almost verbatim ('Add a dimension_radial constraint'), which is a tautology rather than an explanation of what gets created or where. It gives no hint that this places a radial dimension annotation on a circle entity, and it does nothing to distinguish itself from the sibling 'add_radius_dimension' or 'add_dimension_diameter'.

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

Usage Guidelines1/5

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

No when-to-use, when-not-to-use, or alternative guidance is provided at all. With three near-synonymous siblings (add_radius_dimension, add_dimension_diameter, add_aligned_dimension) in the tool list, the absence of routing guidance is actively harmful to tool selection.

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

add_explode_stepC

Add an explode step to an exploded view.

ParametersJSON Schema
NameRequiredDescriptionDefault
view_idYes
distanceYes
directionYes
assembly_idYes
component_idsYes

TDQS

C2.3/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden and discloses nothing. It does not say the tool mutates an existing view, whether the step is appended or replaces existing steps, whether the call is undoable/transactional, or what happens on invalid component or view ids.

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

Conciseness3/5

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

A single short sentence with no filler, and the action is front-loaded. It is concise, but the brevity stems from under-specification rather than efficiency, which caps the score at merely adequate.

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

Completeness2/5

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

This is a mutating CAD operation with five required geometric parameters, no annotations, no output schema, and no parameter documentation. The description supplies none of the prerequisite, side-effect, or return-value context an agent needs to invoke it correctly.

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

Parameters1/5

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

Schema description coverage is 0% across five required parameters (assembly_id, view_id, component_ids, direction, distance). The description mentions none of them, so an agent gets no meaning for the 3-vector direction convention, the units/scale of distance, or whether view_id must belong to assembly_id.

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 states a concrete verb and resource: it adds an explode step, and it scopes that step to an exploded view. An agent can tell roughly what the tool does, but nothing distinguishes it from siblings like create_exploded_view or animate_explode, which occupy the same exploded-view domain.

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 guidance, no mention of prerequisites (e.g., that an exploded view must already exist), and no routing to alternatives such as create_exploded_view for creating the view or animate_explode for playback. The agent must infer placement in the workflow entirely on its own.

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

add_gdt_frameD

Add symbol annotation add_gdt_frame.

ParametersJSON Schema
NameRequiredDescriptionDefault
datumNo
symbolNo
optionsNo
entitiesNo
positionNo
circle_idNo
roughnessNo
toleranceNo

TDQS

D1.1/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no statement of whether the frame is attached to entities, whether it requires a datum, what happens with the 'datum'/'symbol' fields, or any side effects. For an 8-parameter drawing-annotation mutation this is a serious gap.

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

Conciseness2/5

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

It is short, but the brevity comes from under-specification rather than efficiency. A single sentence that merely echoes the tool name does not earn its place.

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

Completeness1/5

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

For an 8-parameter annotation tool with no annotations, no output schema, and 0% schema coverage, the description is completely inadequate. Nothing an agent needs to call it correctly is present.

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

Parameters1/5

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

Schema description coverage is 0% across 8 parameters, including nested objects (position, options) and semantically loaded fields like datum, symbol, roughness, and tolerance. The description adds no meaning for any of them, leaving the agent to guess field formats and valid values.

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

Purpose1/5

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

The description is essentially a tautology, restating the tool name with the words 'Add symbol annotation' appended. It never explains what a GDT (geometric dimensioning and tolerancing) frame is, nor distinguishes it from the many adjacent annotation siblings such as add_surface_finish_symbol, add_weld_symbol, or add_center_mark.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool, when not to, or which sibling annotation tool to prefer. The agent is given nothing to route on.

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

add_leaderC

Add a leader annotation.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNo
pointsYes
contentNo
annotationNo

TDQS

C2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden, and it discloses almost nothing: it does not say whether the leader is attached to existing geometry, whether the operation is reversible, or what the call returns. Only the bare implication of a write operation is conveyed.

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

Conciseness2/5

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

The single sentence is short, but it is not concise in the useful sense — it is under-specified rather than economical. There is no front-loaded scoping or actionable information beyond the tool name.

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

Completeness1/5

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

With no annotations, no output schema, no parameter descriptions, and a large set of similar sibling tools, the definition is inadequate for correct invocation. An agent cannot determine valid inputs or how this leader differs from the multileader alternative.

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

Parameters1/5

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

Schema description coverage is 0% across four parameters, and the description explains none of them. Critical semantics such as requiring at least two points, the meaning of the opaque 'annotation' string, or allowed 'style' values are left entirely undocumented.

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

Purpose3/5

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

The description states a verb and resource ("Add a leader annotation"), so the basic action is identifiable, but it is essentially a restatement of the tool name and adds no distinguishing detail. Siblings such as add_multileader, add_text, and add_mtext make it important to say what kind of leader this creates, which is not done.

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 guidance on when to use add_leader versus add_multileader or the text/dimension tools. No prerequisites (e.g., an existing annotation handle, an active drawing) are mentioned, leaving the agent to infer context from the name alone.

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

add_legendC

Add a simple map legend annotation listing domain layers or categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
layerNo
titleNo
positionYes
drawing_idYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It implies a mutating annotation insert but says nothing about required preconditions (drawing_id must exist), whether the legend is undoable/removable, how layer/title affect placement, or what happens with duplicate or invalid items.

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?

A single front-loaded sentence with the verb first and zero filler. It is appropriately short, though the brevity is partly the cause of the missing detail elsewhere.

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

Completeness2/5

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

A mutation tool with 5 parameters (3 required, nested position object), no annotations, no output schema, and 0% schema description coverage. One sentence cannot cover the preconditions and parameter meaning an agent needs to call this correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must explain 5 parameters and it explains essentially none. 'domain layers or categories' loosely maps to the items array, but drawing_id, position (x/y), layer, and title are entirely unelaborated.

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?

States a specific verb+resource ('Add a ... map legend annotation') plus its content scope ('listing domain layers or categories'). It distinguishes itself reasonably from add_north_arrow/add_scale_bar by describing what the annotation contains, though it never names a sibling.

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?

No when-to-use guidance, no prerequisites, no alternatives. The word 'simple' hints at a scope boundary but never says when a different legend approach or tool is warranted, nor whether a drawing/layout must already exist.

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

add_linear_dimensionC

Add a linear dimension annotation.

ParametersJSON Schema
NameRequiredDescriptionDefault
p1Yes
p2Yes
styleNo
offsetYes

TDQS

C2.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It only restates the action ('Add') without disclosing required inputs, side effects, coordinate system expectations, or whether it modifies an existing drawing/document.

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

Conciseness3/5

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

The description is a single short sentence with no wasted words and is front-loaded. However, it is under-specified rather than informative, so its brevity reflects missing content more than disciplined conciseness.

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

Completeness2/5

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

For a mutation tool with four undocumented parameters, nested point objects, no annotations, and no output schema, this description is inadequate. It gives the agent almost nothing beyond the tool name to invoke the tool correctly.

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

Parameters1/5

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

Schema description coverage is 0% for four parameters (p1, p2, style, offset), including nested objects with x/y coordinates. The description provides no parameter meaning at all, leaving the agent unable to interpret p1, p2, offset, or style from either the schema or the description.

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

Purpose3/5

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

The description states a clear verb and resource ('Add a linear dimension annotation'), so the basic purpose is understandable. However, it fails to differentiate from near-identical siblings such as 'add_dimension_linear' and 'add_aligned_dimension', leaving the agent unable to choose between them without opening schemas.

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 guidance on when to use this tool versus the many related dimension tools (aligned, angular, radius, diameter, ordinate, baseline, continued). Usage is only implied by the tool name, with no explicit conditions or exclusions.

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

add_mtextC

Add a multi-line text annotation.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNo
widthYes
heightYes
contentYes
positionYes

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only says 'add', giving no information about whether the new entity is selected/returned, what happens on failure if position/width are invalid, or the coordinate/unit conventions expected for placement.

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

Conciseness3/5

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

The single sentence is front-loaded and free of filler, but it is under-specified rather than concise for a tool with five parameters and a nested position object. It earns its place but leaves the definition sparse.

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

Completeness1/5

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

A mutation tool with no annotations, no output schema, 0% parameter coverage, and a nested object parameter needs substantially more description than one sentence. Nothing tells the agent how to call it correctly or what it returns.

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

Parameters2/5

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

Schema description coverage is 0% across 5 parameters (content, position, width, height, style). The description only hints that content is text; it says nothing about position being an {x,y} object, that width/height must be positive, or what style accepts.

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?

States a specific verb and resource (add + multi-line text annotation), and the word 'multi-line' implicitly distinguishes it from the sibling add_text (single-line). However, it never names or contrasts the sibling explicitly, so the agent must infer the distinction.

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?

No when-to-use guidance, no prerequisites, and no mention of alternatives despite siblings add_text, add_leader, and add_multileader occupying adjacent use cases. The agent is left to guess which annotation tool to pick.

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

add_multileaderC

Add a multileader annotation.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNo
pointsYes
contentNo
annotationNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Add' implies a mutation/creation, but nothing is said about required context (active document/layer), what the new entity is attached to, or side effects; for a 0%-annotated mutation tool this is a significant gap.

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

Conciseness3/5

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

A single clean sentence with no padding and no wasted clauses, so it is not verbose. But it is essentially a restatement of the tool name and adds almost nothing, so it is terse to the point of under-specification.

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

Completeness1/5

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

Given four parameters at 0% schema coverage, no annotations, and no output schema, the description is far too thin. An agent has no basis for supplying style, content, annotation, or the points structure correctly.

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

Parameters1/5

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

Schema description coverage is 0% and the description adds no parameter meaning whatsoever. The four params -- style, points, content, annotation -- are undocumented, and the meaning of points (minItems 2, arrow vs. landing locations) and the content/annotation overlap are left entirely ambiguous.

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?

States a specific verb (Add) and resource (multileader annotation), which is a distinct CAD entity type. However, it does not differentiate this from the very similar sibling add_leader or from related annotation tools like add_text/add_mtext, leaving the agent to infer the distinction.

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?

No when-to-use guidance and no mention of when to prefer add_multileader over add_leader, add_text, or the various add_*_dimension tools. The description contains zero routing information.

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

add_north_arrowC

Add a north arrow symbol annotation for a map drawing.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo
layerNo
positionYes
drawing_idYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral burden. 'Add' implies a write/mutation operation, but the description does not disclose whether the drawing is modified in place, what permissions are needed, or what happens to existing annotations.

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

Conciseness3/5

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

The description is a single front-loaded sentence with no redundant wording. However, it is too sparse to be considered appropriately sized for a tool with four undocumented parameters; brevity here reflects under-specification rather than efficient conciseness.

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

Completeness2/5

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

With no annotations, no output schema, and 0% schema description coverage, the description should do more to explain required inputs and behavior. It states the basic purpose but leaves the agent without enough information to call the tool correctly, especially regarding drawing_id, position, size, and layer.

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

Parameters1/5

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

There are 4 parameters with 0% schema description coverage, including required drawing_id and a nested position object. The description mentions none of these parameters, so it does not compensate for the missing schema documentation. An agent must infer all parameter meanings from names alone.

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 gives a specific verb and resource: 'Add a north arrow symbol annotation for a map drawing.' This is clear enough to distinguish it from unrelated siblings like create_box or add_dimension_linear, but it does not explicitly differentiate it from similar annotation tools such as add_scale_bar or add_legend.

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?

The phrase 'for a map drawing' implies a context, but there is no explicit guidance on when to use this tool versus alternatives or what prerequisites exist. No when-to-use, when-not-to-use, or sibling routing information is provided.

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

add_ordinate_dimensionC

Add an ordinate dimension.

ParametersJSON Schema
NameRequiredDescriptionDefault
axisYes
pointYes
datum_pointYes

TDQS

C2.1/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It says nothing about side effects, required coordinate frame, mutation impact, undo behavior, or what happens if the dimension references invalid points.

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

Conciseness2/5

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

The single sentence is under-specified rather than concise. For a mutation tool with three required parameters and nested objects, this level of brevity omits information the agent needs to call it correctly.

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

Completeness1/5

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

With no annotations, no output schema, and zero parameter description coverage in the schema, the description is completely inadequate for this tool. It leaves the agent without guidance on required inputs, coordinate semantics, or behavioral effects.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning for any of the three required parameters (point, datum_point, axis). It does not explain the coordinate expectations, the role of the datum point, or the axis enum beyond what the schema already shows.

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 states a clear verb and resource: 'Add an ordinate dimension.' An agent can tell this creates an ordinate dimension, but the description does not differentiate it from the many sibling dimension tools such as add_aligned_dimension or add_baseline_dimension.

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 guidance about when to use an ordinate dimension versus other dimension types, nor any prerequisites or contextual conditions. The agent is left to infer usage entirely from the tool name.

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

add_radius_dimensionD

Add a radius dimension.

ParametersJSON Schema
NameRequiredDescriptionDefault
arc_idYes
leader_pointYes

TDQS

D1.5/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full disclosure burden, and it discloses nothing. It does not say whether this mutates the drawing, whether the arc must already exist and be committed, whether the operation is undoable, or how leader_point affects placement.

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

Conciseness2/5

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

A single five-word sentence is not concise so much as under-specified; it is front-loaded only because there is nothing else to front-load.

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

Completeness1/5

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

For a mutation tool with a nested-object parameter, no annotations, no output schema, and zero parameter documentation, the definition is completely inadequate. An agent cannot reliably construct a correct call from this description.

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

Parameters1/5

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

Two required parameters with 0% schema description coverage, including a nested leader_point object with x/y. The description mentions neither arc_id nor leader_point, so the agent gets no explanation of what the arc reference is or how the leader point is interpreted. Full compensation was required and none was given.

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

Purpose2/5

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

The description is a verbatim prose restatement of the tool name 'add_radius_dimension' — there is no information beyond what the identifier already encodes. It also fails to distinguish this tool from near-identical siblings such as add_dimension_radial and add_diameter_dimension that appear in the same toolset.

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?

No when-to-use guidance, no prerequisites, and no mention of the sibling dimension tools an agent would have to choose between. The only hint of usage is inferable from the name itself.

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

add_scale_barC

Add a simple scale bar annotation to a map drawing.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNo
layerNo
positionYes
segmentsNo
drawing_idYes
segment_lengthYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral-disclosure burden. It implies a mutation ('Add'), but does not describe side effects, whether the scale bar is created on a layout or model space, required drawing context, return behavior, or undo semantics.

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

Conciseness3/5

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

The description is a single front-loaded sentence with no wasted words, which is structurally clean. However, it is arguably too terse for a six-parameter nested-object tool with no schema descriptions, leaving necessary context absent.

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

Completeness1/5

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

Given six parameters, 0% schema description coverage, no annotations, and no output schema, the description is not complete enough for reliable invocation. It never explains coordinates, units, required drawing state, or the role of optional parameters such as segments, label, and layer.

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

Parameters1/5

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

Schema description coverage is 0% across six parameters, and the description adds no meaning for any of them. It does not explain drawing_id, position coordinates, segment_length units, segments count, label, or layer, leaving the agent to infer all parameter semantics from names and types alone.

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 states a specific verb ('Add') and resource ('scale bar annotation') and scopes it to a 'map drawing.' This distinguishes it from other annotation tools like add_north_arrow or add_legend in practice, but it does not explicitly name or differentiate from those siblings.

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?

The description gives no explicit when-to-use guidance, prerequisites, or alternative tools. The phrase 'to a map drawing' provides minimal context, but an agent receives no instruction on when this scale bar tool should be chosen over related drawing/annotation tools.

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

add_section_viewD

Add a add_section_view to a drawing.

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNo
centerNo
cut_lineNo
positionNo
solid_idNo
directionNo
view_typeNo
drawing_idYes
parent_view_idNo

TDQS

D1.1/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full disclosure burden, and it discloses nothing. It does not state whether this mutates the drawing, requires a specific drawing state, how the cut_line/direction/view_type interact, or what the result is.

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

Conciseness2/5

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

The single sentence is brief, but its brevity comes from under-specification rather than economy — it is a duplicated-word tautology with no informational content.

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

Completeness1/5

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

For a 9-parameter mutation tool with no annotations, no output schema, nested objects, and 0% schema coverage, the definition is completely inadequate. An agent cannot reliably invoke it.

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

Parameters1/5

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

Schema description coverage is 0% across 9 parameters, including ambiguous ones like direction, view_type, solid_id, parent_view_id, and the nested cut_line array of positions. The description supplies zero clarification, leaving the agent with no way to populate these correctly.

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

Purpose1/5

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

The description is a circular restatement of the tool name ('Add a add_section_view to a drawing'), which conveys no meaning an agent couldn't already infer. It fails to explain what a section view is or how it differs from the many sibling view-creation tools (add_view, add_detail_view, add_auxiliary_view, create_viewport).

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus add_view, add_detail_view, or add_auxiliary_view, nor any mention of prerequisites such as requiring an existing drawing or cut line. The agent is left entirely to inference.

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

add_surface_finish_symbolD

Add symbol annotation add_surface_finish_symbol.

ParametersJSON Schema
NameRequiredDescriptionDefault
datumNo
symbolNo
optionsNo
entitiesNo
positionNo
circle_idNo
roughnessNo
toleranceNo

TDQS

D1.3/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses nothing about whether this mutates the drawing, what permissions are needed, what the symbol attaches to, or how 'datum', 'roughness', and 'tolerance' affect the result. Total absence of behavioral context.

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

Conciseness2/5

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

It is a single short sentence with no wasted words, but it is under-specified rather than concise: it conveys no information beyond the name it echoes, so the brevity reflects missing content.

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

Completeness1/5

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

Given 8 undocumented parameters, a nested position object, no annotations, and no output schema, the description is grossly inadequate. It gives an agent nothing to construct a valid call for what appears to be a drawing annotation operation.

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

Parameters1/5

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

There are 8 parameters at 0% schema description coverage, including a nested 'position' object and an open-ended 'options' object. The description adds zero meaning for any of them, so an agent cannot infer the role of entities, symbol, datum, roughness, or tolerance.

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

Purpose2/5

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

The description 'Add symbol annotation add_surface_finish_symbol' is essentially a restatement of the tool name with no explanation of what a surface finish symbol annotation is or what it accomplishes. Beyond the verb 'add', an agent learns nothing distinguishing this from siblings like add_weld_symbol or add_gdt_frame.

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

Usage Guidelines1/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The many sibling annotation tools (add_leader, add_center_mark, add_gdt_frame) are not referenced, leaving the agent no basis for routing.

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

add_textC

Add a single-line text annotation.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNo
heightYes
contentYes
positionYes
rotationNo

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. 'Add' implies a mutation, and 'single-line' hints at the content constraint, but nothing is said about coordinate space, what layer the annotation lands on, undo/transaction behavior, or whether the operation is reversible.

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

Conciseness3/5

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

A single short, front-loaded sentence with no filler, which is structurally sound. But the brevity here reflects under-specification rather than economical precision, so it does not earn more than a middling score.

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

Completeness2/5

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

For a five-parameter mutation tool with no annotations, no output schema, and a nested object parameter, the description omits nearly everything an agent needs: units, coordinate frame, style format, and return information. It is far too thin for the tool's complexity.

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

Parameters2/5

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

Schema description coverage is 0% across five parameters (content, position, height, style, rotation), including a nested position object. The description adds only a weak constraint that content must be single-line; it does not explain units for height, the reference point for position, or what style expects.

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?

States a specific verb and resource ('Add ... text annotation'), and the qualifier 'single-line' implicitly distinguishes it from the sibling add_mtext. However, it never names or contrasts with that sibling, so differentiation still requires the agent to infer it from the description text alone.

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 guidance on when to use this versus add_mtext or add_leader, no exclusions, and no mention of prerequisites such as an active document or layer. The agent is left to guess the selection criteria from the name alone.

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

add_viewD

Add a add_view to a drawing.

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNo
centerNo
cut_lineNo
positionNo
solid_idNo
directionNo
view_typeNo
drawing_idYes
parent_view_idNo

TDQS

D1.5/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It doesn't say whether the drawing must be active, whether the view is attached to a parent, what view_type/direction values are valid, or what the call returns.

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

Conciseness2/5

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

It is a single short sentence, but it is also grammatically broken ('a add_view') and conveys almost no information. Brevity here reflects under-specification rather than efficient communication.

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

Completeness1/5

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

For a 9-parameter tool with nested objects, 0% schema coverage, no annotations, and no output schema, this description is nowhere near adequate. An agent has no basis for supplying required or optional parameters correctly.

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

Parameters1/5

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

Schema description coverage is 0% across 9 parameters, and the description explains none of them. Meanings of scale, center, cut_line, solid_id, direction, view_type, and parent_view_id are entirely undocumented in both places.

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

Purpose2/5

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

The description 'Add a add_view to a drawing' essentially restates the tool name and adds only the target resource (a drawing). It never explains what a 'view' is here or how this differs from siblings like add_section_view, add_detail_view, or add_auxiliary_view, leaving the agent unable to distinguish it from those tools.

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 guidance, no prerequisites, and no mention of alternatives such as add_section_view or create_viewport. The only implied context is that a drawing must exist, which is not stated.

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

add_weld_symbolD

Add symbol annotation add_weld_symbol.

ParametersJSON Schema
NameRequiredDescriptionDefault
datumNo
symbolNo
optionsNo
entitiesNo
positionNo
circle_idNo
roughnessNo
toleranceNo

TDQS

D1.9/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden and delivers nothing. It does not state whether this mutates the drawing, what permissions are needed, what happens to the symbol after placement, or any side effects. For a mutation tool with zero annotation coverage, this is a serious omission.

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

Conciseness3/5

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

The description is a single short sentence with no waste, so it is concise. However, the conciseness is achieved through under-specification rather than efficiency, and the sentence awkwardly repeats the tool name as its own object ('Add symbol annotation add_weld_symbol').

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

Completeness1/5

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

With 8 parameters at 0% schema coverage, no annotations, no output schema, and nested objects, the description should carry substantial weight. It provides essentially nothing an agent needs to call the tool correctly, falling far short of the complexity of the tool.

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

Parameters1/5

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

Schema description coverage is 0% across 8 parameters, including nested objects (position with x/y) and an open-ended options object. The description adds no parameter information whatsoever, leaving all eight parameters undocumented. The description had a clear opportunity to explain symbols, datum, tolerance, roughness, and the position object but did not.

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

Purpose3/5

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

The description states a verb and a resource ('Add symbol annotation'), which is enough to identify the operation. However, it provides no sibling differentiation, which matters because the sibling list contains many annotation-adding tools like add_surface_finish_symbol, add_gdt_frame, add_center_mark, and add_center_line. An agent cannot tell from this text what distinguishes a weld symbol from these other annotation types.

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 guidance on when to use this tool versus alternatives, nor any prerequisites. Given the dense population of annotation tools in the sibling list, the absence of routing guidance is a meaningful gap, though the tool name itself provides some directional signal.

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

animate_explodeC

Return a simple explode animation plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
fpsNo
view_idYes
assembly_idYes

TDQS

C2.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Return' and 'plan' weakly imply a non-mutating, informational output, but the description never states that it has no side effects, what the plan format is, or whether it requires an existing exploded view. It adds almost no behavioral context beyond the name.

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

Conciseness3/5

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

It is a single, front-loaded sentence with no obvious waste, which is structurally fine. But it is under-specified rather than complete, and the word 'simple' is filler that adds no actionable information.

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

Completeness1/5

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

Given no annotations, no output schema, and 0% parameter description coverage, the description is the only source of guidance an agent has, and it supplies essentially none. It does not explain the return artifact, required context, or how the inputs shape the plan, making it inadequate for a 3-parameter tool.

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

Parameters1/5

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

Schema description coverage is 0% and the description mentions none of the three parameters (assembly_id, view_id, fps). With both the schema and description silent on parameter meaning and constraints such as which assembly/view must already exist, the description fails to compensate for the coverage gap.

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

Purpose3/5

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

The description states a verb ('Return') and a resource ('explode animation plan'), so the broad purpose is inferable. However, 'simple explode animation plan' is vague about what the plan contains, and it does not distinguish this tool from close siblings like create_exploded_view or add_explode_step. That puts it at vague-but-not-tautological.

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 guidance, no prerequisites (e.g., that an assembly_id must already exist), and no mention of alternatives like create_exploded_view. The agent is left to infer when this tool is appropriate from the name alone.

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

apply_thesis_templateC

Apply a stored thesis/map template to an existing drawing and persist layout/export metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
figure_noNo
drawing_idYes
template_nameYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden. It hints at a write side effect ('persist layout/export metadata') but never says whether the operation overwrites existing layout settings, what happens if the template name is unknown, whether it is reversible, or who may invoke it. For a mutation tool with zero annotation coverage this is a real gap.

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?

One sentence, front-loaded with the verb and resource, with the secondary persistence effect appended. No padding, though it is terse enough that it omits needed detail.

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

Completeness2/5

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

With no annotations, no output schema, and 0% parameter coverage, the description is the only source of behavioral and parameter information, and it leaves both under-specified. An agent cannot reliably determine required inputs beyond the obvious two or the side-effect semantics.

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

Parameters2/5

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

Schema description coverage is 0% across four parameters. The description implicitly covers drawing_id ('existing drawing') and template_name ('stored ... template'), but says nothing about title and figure_no, which the 'layout/export metadata' phrase only vaguely gestures at. It does not compensate for the parameter documentation gap.

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 gives a specific verb ('Apply') plus a specific resource ('a stored thesis/map template to an existing drawing'), and adds a second effect ('persist layout/export metadata'). That is enough to distinguish it from the drawing/map-layout siblings. It does not name or contrast any sibling tool, so it stops short of a 5.

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 statement of when to use this versus alternatives such as create_map_layout or add_legend, and no prerequisites (e.g. that the named template must already exist and the drawing must already be open). The usage context is only implied by 'existing drawing'.

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

array_polarC

Create polar array copies around a center. Angle is in radians and includes the source entity.

ParametersJSON Schema
NameRequiredDescriptionDefault
unitNo
angleNo
countYes
centerYes
entity_idsYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full behavioral burden. It discloses the angle-unit convention (radians) and that the angle includes the source entity, which is genuinely useful. However, it omits whether the source entities are preserved, duplicated, or moved; whether the operation is destructive; and whether any permissions or placed-entity constraints apply.

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?

Two tightly packed sentences; the unit convention and source-inclusion rule are front-loaded and every clause earns its place. No filler.

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

Completeness2/5

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

For a five-parameter, nested-object, no-output-schema mutation tool with zero annotations and zero schema descriptions, the description is far too thin. It leaves the agent to guess parameter meaning, side effects, and return behavior.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate for five undocumented parameters. It only clarifies 'angle' semantics (radians, includes source), leaving 'center', 'count', 'entity_ids', and 'unit' with no semantic help beyond their names. The unit enum and required-vs-optional distinction are unaddressed.

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?

States a specific verb and resource ('Create polar array copies around a center'), clearly distinguishing it from array_rectangular. The operation type is unambiguous, though the description could mention it operates on entity_ids to fully anchor the resource.

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?

No guidance on when to use polar array vs. array_rectangular or mirror_2d, nor any mention of prerequisites or conditions that select this tool over siblings. The agent must infer usage from the name alone.

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

array_rectangularC

Create rectangular array copies using row and column spacing in the current units.

ParametersJSON Schema
NameRequiredDescriptionDefault
dxYes
dyYes
colsYes
rowsYes
unitNo
entity_idsYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses that copies are created in 'current units' but says nothing about whether source entities are preserved, what the units default to, or that the unit parameter overrides 'current units'. Selection-set quantities (rows-1 x cols-1 copies) are unstated.

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?

A single efficient sentence that front-loads the verb and resource with zero filler.

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

Completeness2/5

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

A mutation tool with no annotations, no output schema, and 0% schema coverage deserves more: which entities are copied vs. retained, how many copies result, and how unit interacts with dx/dy spacing are all missing.

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

Parameters2/5

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

Schema description coverage is 0% across 6 parameters. The description only glosses 'rows/cols/dx/dy' and 'current units', but does not explain that dx/dy are spacings, what the unit override does, or how entity_ids are consumed. It only partially compensates for a total coverage gap.

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?

States a specific verb (Create) and resource (rectangular array copies) plus the mechanism (row and column spacing). It is distinguishable from its closest sibling array_polar, though it doesn't explicitly name the alternative.

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?

No when-to-use, when-not-to-use, or alternative guidance. The agent must infer that this is the rectangular counterpart to array_polar from the name alone.

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

attach_raster_layerB

Attach a GeoTIFF on disk to the session as a raster basemap layer. Returns the assigned layer id and parsed metadata. Use list_raster_layers / render_raster_layer_png afterwards.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
nameNo
pathYes
visibleNo

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description must carry the full burden. It discloses the state change (attaching a layer to the session) and the return (layer id plus parsed metadata), but says nothing about failure behavior for a bad path, idempotency, or whether the layer is visible by default.

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?

Two short sentences, front-loaded with the action and resource, followed immediately by the follow-up tool hint. No filler.

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 mutation-flavored tool with four undocumented parameters, no annotations, and no output schema, the description covers the action and return shape but leaves parameter meaning and error behavior unaddressed. It is minimally adequate rather than complete.

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

Parameters2/5

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

Schema description coverage is 0% and all four parameters (id, name, path, visible) are undocumented in the schema. The description only hints at 'path' via 'a GeoTIFF on disk'; id, name, and visible are left entirely unexplained, so the description fails to compensate for the coverage gap.

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?

States a specific verb and resource: 'Attach a GeoTIFF on disk to the session as a raster basemap layer'. An agent can distinguish this from import_geotiff_metadata or get_raster_layer. It stops short of explicitly contrasting with the sibling import_geotiff_metadata, which also handles GeoTIFFs.

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?

'Use list_raster_layers / render_raster_layer_png afterwards' gives post-attach workflow guidance, which is useful. But there is no when-to-use-this vs. import_geotiff_metadata guidance, nor prerequisites such as whether the file must exist or the session must be in a particular state.

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

autocad_activate_documentA

Activate an already-open AutoCAD document by its exact name or full path and update the binding to that document. Does not open files. Use autocad_list_documents to identify the target.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses that the operation requires an already-open document and that it 'updates the binding' to the target, but says nothing about failure behavior when the name matches nothing, whether the prior binding is lost, or any permission requirements — notable gaps for a state-changing operation.

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?

Three short sentences, no waste, with the core action and its key constraint ('does not open files') front-loaded before the pointer to the lookup tool.

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

Completeness4/5

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

For a one-parameter activation tool with no annotations and no output schema, the description covers the essential: what it does, the precondition, and how to obtain the argument. Only failure/edge-case behavior is absent, which is a minor gap.

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?

Schema coverage is 0% for the single parameter, so the description must compensate. It does: the document argument accepts an 'exact name or full path' (and must be exact), which is meaningful disambiguation not present in the bare string schema.

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?

Specific verb (activate) plus resource (an already-open AutoCAD document), with the scope qualifier 'already-open' and 'Does not open files'. This cleanly distinguishes it from any file-opening sibling and from autocad_attach/detach.

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

Usage Guidelines4/5

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

States the precondition (document must already be open, this does not open files) and routes the agent to autocad_list_documents to find the target. It gives clear context but does not explicitly contrast with autocad_attach or autocad_detach, which are the nearest ambiguous siblings.

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

autocad_attachA

Bind this MCP server to a COM-reachable AutoCAD application window/process and document. Use a decimal windowHandle and document name/full path returned by status/list calls; omit them to select the current target. activate defaults to true and activates the selected document; false only establishes the binding without activating it. Later commands reject if the bound document is no longer active. COM may not expose every same-version AutoCAD process.

ParametersJSON Schema
NameRequiredDescriptionDefault
activateNo
documentNo
windowHandleNo

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and discloses key behavior: it binds the server, activate defaults to true, later commands reject if the bound document is no longer active, and COM may not expose every same-version process. It does not describe error behavior on failed binding or what happens if already bound, but the core behavioral traits are covered.

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 description is front-loaded with the binding purpose and then adds only necessary detail about parameters, activation behavior, and COM limitations. Every sentence earns its place, and the structure flows logically from purpose to usage to caveats.

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

Completeness4/5

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

Given the tool's complexity, no annotations, and no output schema, the description is largely complete: it covers purpose, parameter sourcing, activation semantics, a critical dependency (bound document must remain active), and a COM limitation. It stops short of explaining return values or failure modes, which would be helpful for a tool that establishes a binding.

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?

Schema description coverage is 0%, so the description must compensate, and it does: it explains that windowHandle is a decimal string from status/list calls, that document is a name or full path, and that activate defaults to true and activates the selected document. All three parameters gain meaning beyond the schema's type information.

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?

The description states a specific verb and resource: bind the MCP server to an AutoCAD application window/process and document. It distinguishes this binding action from activation by explaining that activate defaults to true and that false only establishes the binding without activating it. An agent can tell this apart from sibling tools like autocad_activate_document.

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

Usage Guidelines4/5

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

It explains where to get windowHandle and document values (from status/list calls) and clarifies that omitting them selects the current target. It also describes the activate flag's effect, giving clear context for when to use each behavior. However, it does not explicitly name alternative tools or state when not to use this tool.

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

autocad_detachA

Clear this MCP server's AutoCAD binding. Does not close AutoCAD, close a document, or discard drawing changes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden, and it does useful work by disclosing that the operation is non-destructive: it does not close AutoCAD, close a document, or discard drawing changes. What is missing is whether re-attachment is possible or whether the binding must be re-established afterward, but the safety profile is well conveyed.

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?

Two short sentences, scope stated first and non-behavior stated second. Every clause earns its place and nothing is redundant with the name.

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

Completeness4/5

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

For a zero-parameter, no-output-schema teardown tool, the description covers scope and non-destructive behavior, which is close to what an agent needs. Only the post-condition (state of the session after detaching) is left unstated.

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?

The tool takes zero parameters, so there is nothing to document and the description appropriately adds no parameter chatter. Baseline 4 applies for a no-parameter tool.

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?

States a precise verb and resource ('Clear this MCP server's AutoCAD binding') and pairs it with an explicit statement of what it does NOT do, which cleanly separates it from potently destructive siblings like delete_entity or close-document behavior. An agent can identify this as the counterpart to autocad_attach without opening any schema.

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?

Usage is implied by the attach/detach pairing in the sibling list, and the negation clause hints at when it is safe, but the description never explicitly says when to call this versus autocad_attach or whether it is required before shutdown. Adequate but with a clear gap in routing guidance.

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

autocad_get_variablesA

Read 1–50 AutoCAD system variables from the live document, for example CMDACTIVE, CMDNAMES, CLAYER or INSUNITS. Use readback to verify command effects; an idle state alone does not prove command success.

ParametersJSON Schema
NameRequiredDescriptionDefault
namesYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It adds a useful behavioral note about verification semantics and reading from the live document, but says nothing about error handling for unknown variable names, permission/auth needs, or the shape of the returned values.

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?

Two tight sentences with zero waste; the core action and scope are front-loaded before the verification guidance.

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

Completeness4/5

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

For a single-parameter read tool with no output schema or annotations, the description covers what it reads, how many, examples, and a usage caution. Only the return shape and failure behavior are left unstated, which are minor gaps here.

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?

Schema description coverage is 0%, so the description must compensate. It reinforces the 1–50 count constraint from maxItems/minItems and provides example variable names, which communicates the naming convention the regex enforces and what kinds of values are valid.

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?

States a specific verb (Read) and resource (AutoCAD system variables) with scope ("from the live document") and concrete examples (CMDACTIVE, CLAYER, INSUNITS) that make the resource unambiguous among many autocad_* siblings.

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

Usage Guidelines4/5

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

Gives a clear usage condition: use readback to verify command effects, since an idle state alone does not prove success. This implies the workflow relationship with autocad_send_command but does not explicitly name that sibling or state when not to use this tool.

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

autocad_list_documentsA

List COM-reachable AutoCAD applications and their open documents. Returns data.applications and data.documents with window/process identity for target selection. COM may not expose every same-version AutoCAD process.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does add genuine behavioral context: it discloses the return shape (data.applications, data.documents with window/process identity) and a real limitation ("COM may not expose every same-version AutoCAD process"). It does not explicitly confirm it is a side-effect-free read, but for a list tool the disclosure of the enumeration caveat is meaningful.

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?

Three short sentences, front-loaded with what it lists, then what it returns, then the caveat. Every sentence earns its place with no filler.

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

Completeness4/5

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

For a zero-parameter discovery tool with no output schema and no annotations, the description supplies the return structure and a key limitation, which is enough for an agent to call and interpret it correctly. It could be slightly richer by noting it is a read-only, side-effect-free probe, but nothing essential is missing.

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?

The tool takes zero parameters, so there is no schema semantic to add and the baseline is 4. The description's note about window/process identity relates to outputs rather than inputs, which is harmless but not compensating for any parameter gap.

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?

States a specific verb+resource ("List ... AutoCAD applications and their open documents") with the qualifying scope "COM-reachable". It is distinguishable from siblings like autocad_status or autocad_list_layers, though it never explicitly names a sibling or contrasts with them, so it stops short of a 5.

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?

The phrase "for target selection" and "list ... applications" implies this is a discovery step preceding autocad_attach, so usage is implied rather than stated. There is no explicit when-to-use/when-not guidance or named alternative (e.g., autocad_status), which keeps this at a minimum-viable 3.

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

autocad_list_layersB

List layers from the live AutoCAD document through COM, respecting the current application/document binding. Separate from the internal CAD session's list_layers.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so the description carries the full burden. It mentions 'through COM' and 'respecting the current application/document binding', which hints at COM interop and dependency on an active AutoCAD connection, but doesn't specify required permissions, error conditions, or whether it requires an attached session. There's no mention of what happens if no document is bound or if COM fails.

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?

Two concise sentences that are front-loaded with the primary purpose and then the differentiation. No wasted words; all information is relevant.

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

Completeness2/5

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

For a tool with no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't explain the return format (list of layers?) or the behavior of the 'limit' parameter. It also doesn't clarify what 'respecting the current application/document binding' entails operationally (e.g., what happens if not attached).

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

Parameters2/5

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

Schema description coverage is 0% for a single optional 'limit' parameter. The description doesn't explain what 'limit' does (e.g., maximum layers to return) or its constraints (max 500). The schema has the type and range but no description, so the description should compensate, but it doesn't mention the parameter at all.

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?

States a specific verb (List) and resource (layers) plus the source (live AutoCAD document through COM). It distinguishes itself from the sibling 'list_layers' by explicitly naming it and the source difference (internally 'internal CAD session' vs live AutoCAD). This is clear, though the phrase 'respecting the current application/document binding' is a bit abstract without further context.

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

Usage Guidelines4/5

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

Provides clear context: use this to list layers from a live AutoCAD instance, as opposed to the internal CAD session's list_layers. It doesn't explicitly state when to choose one over the other beyond the source distinction, but the implication is clear. No explicit exclusions or prerequisites are given.

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

autocad_list_modelspace_entitiesA

List entities from the live AutoCAD document's ModelSpace, respecting the current binding. Optional filters: layer, objectName, limit. Separate from the internal CAD session's list_entities.

ParametersJSON Schema
NameRequiredDescriptionDefault
layerNo
limitNo
objectNameNo

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does disclose meaningful context: entities come from the live AutoCAD document and results honor the current binding. It is silent on read-only safety, whether the limit is a cap vs. required, and pagination/ordering behavior, so a fair but incomplete picture.

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 short sentences, front-loaded with the core action and scope. The disambiguating sentence earns its place; there is no filler, though slightly more could be said about the filters without bloat.

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 no-annotation, no-output-schema list tool, the description covers scope and the sibling distinction but leaves the return payload (entity types, handles, attributes) and filter semantics entirely unspecified. Adequate as a minimum-viable definition, not complete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it merely repeats the property names (layer, objectName, limit) with no added meaning — no matching semantics for layer, no admissible objectName values, no explanation that limit caps result count. An agent learns nothing beyond the raw schema keys.

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?

States a specific verb+resource (list entities) scoped to the live AutoCAD document's ModelSpace, and explicitly distinguishes itself from the similarly named internal list_entities sibling. An agent can tell which entity-listing tool to reach for without opening a schema.

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

Usage Guidelines4/5

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

Gives a clear operating condition ('respecting the current binding') and names the alternative it is not (the internal CAD session's list_entities). It does not, however, address other plausibly overlapping siblings such as autocad_list_documents or find_entities_by_layer, so routing is only partially disambiguated.

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

autocad_send_commandA

Submit a raw command to the live AutoCAD document. Rejects a busy document or a bound document that is no longer active. Example: _.ZOOM _E. waitForIdle defaults to false; true polls for idle for timeoutMs (1000–30000 ms) after the COM SendCommand call returns. A separate 45-second bridge timeout bounds blocking COM calls. Result state is submitted, idle_observed or timeout; none proves semantic command success. timeout is an MCP error with result data. Query intended results afterward. Submission is not retried; after an error or timeout do not resend before inspecting the drawing.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYes
timeoutMsNo
waitForIdleNo

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries full burden and does so richly: rejection conditions, waitForIdle polling semantics, a separate 45-second bridge timeout, possible result states, the caveat that no state proves semantic success, MCP-error-on-timeout behavior, and a no-retry policy. This is unusually thorough failure-mode disclosure.

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?

Front-loaded with the core purpose and example, then builds out constraints, timing, and failure semantics. Dense but each sentence conveys distinct operational information; slightly packed but nothing is clearly wasted.

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

Completeness4/5

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

For a complex, annotation-free tool with no output schema, the description covers failure modes, timing, and result-state semantics thoroughly. Minor gap: no guidance on which structured siblings supersede it or formatting rules for the command string.

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?

Schema coverage is 0%, so the description must compensate. It explains waitForIdle's default and polling window, the timeoutMs range (1000-30000) and its relationship to idle polling, and gives a command syntax example. The command parameter itself could use more formatting guidance, but the two behavioral params are well covered.

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?

States a specific verb and resource ("Submit a raw command to the live AutoCAD document") and includes a concrete example (`_.ZOOM _E`). It is clearly distinguishable from the many structured autocad_* and geometry siblings as the raw escape-hatch tool.

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

Usage Guidelines4/5

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

Gives clear operating context: rejects busy/inactive documents, explains when waitForIdle should be toggled, and instructs to query intended results afterward and not to resend after error/timeout. It does not, however, explicitly state when to prefer this raw tool over the structured siblings.

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

autocad_statusA

Inspect a running AutoCAD application through COM: window/process identity, current binding, active document and idle state. This does not establish a persistent binding or operate on the internal CAD session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it declares the COM transport, the read-only inspection nature, and explicitly disclaims persistent binding and internal-session side effects. It omits failure behavior (e.g., what happens when no AutoCAD instance is running), which is a real gap for a status probe.

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?

Two tight sentences, front-loaded with the verb and resource, followed by the scope disclaimer. Every clause carries information; nothing is redundant.

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

Completeness4/5

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

With no output schema and no annotations, the description compensates by enumerating the inspected fields, which stands in for a return-value description. It is nearly self-sufficient; only error/edge-case behavior when AutoCAD is absent is missing.

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?

The tool takes zero parameters, so the baseline is 4. The description correctly implies a no-argument call by describing the target application rather than any filter or identifier the caller must supply.

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?

Names a specific verb (Inspect) and a precise resource (a running AutoCAD application via COM), then enumerates the inspected aspects: window/process identity, binding, active document and idle state. It contrasts itself with the attach/binding tools by negating their behavior, but never names the sibling (e.g., autocad_attach) that an agent should pick instead, so differentiation is implied rather than explicit.

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

Usage Guidelines4/5

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

The closing sentence effectively routes usage: 'does not establish a persistent binding or operate on the internal CAD session' tells the agent this is a non-mutating probe and that binding-related needs belong elsewhere. There is no explicit 'use when X, not when Y' clause, but the exclusions give clear context.

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

batch_generate_pdfC

Generate summary PDF files for one or more drawings and write them into an output directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_dirYes
drawing_idsYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations and no output schema, so the description carries the full behavioral burden. It says files are written to an output directory but not whether files are overwritten, how filenames are derived, whether the directory must pre-exist, what happens on partial failure, or what the return value reports. For a tool with filesystem side effects and zero structured safety metadata, this is a significant gap.

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?

A single front-loaded sentence that names the action, the input, and the output destination with no filler. It is efficient, though terse enough that the missing details feel like omission rather than deliberate brevity.

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 batch operation with two required parameters, no annotations, and no output schema, the description covers the core what/where but omits return semantics (file paths? status?), overwrite behavior, and failure handling. Adequate as a minimum-viable description, not complete for a filesystem-writing batch tool.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It does convey that drawing_ids accepts one or more drawing identifiers and that output_dir is a target directory path, which maps both required parameters to meaning. However, it adds no format detail (id syntax, path form, filename collision behavior) beyond that.

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?

States a specific verb (generate, batch) and resource (summary PDF files for drawings), plus the destination side-effect (write into an output directory). It clearly distinguishes itself from the singular generate_pdf and from batch_generate_svg by naming the plural drawing input and PDF output. It stops short of explaining what a 'summary PDF' contains, which keeps it from a 5.

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?

No guidance on when to prefer this over generate_pdf (single drawing) or batch_generate_svg, despite both being siblings in the same tool list. The 'one or more' phrasing hints at batching but the agent gets no explicit rule for choosing between them.

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

batch_generate_svgC

Generate SVG files for one or more drawings and write them into an output directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_dirYes
drawing_idsYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided, so the description carries the full burden. It discloses that files are written to disk, but not whether existing files are overwritten, whether the directory must pre-exist, permissions/errors, or per-drawing failure behavior for a batch operation. Key mutation semantics are missing.

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?

A single efficient sentence with no filler, front-loaded with the action and resource. Appropriately sized, though brief enough to leave the gaps above.

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

Completeness2/5

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

For a mutating batch filesystem tool with no annotations, no output schema, and 0% parameter coverage, the description is too thin. It omits return/progress semantics, overwrite behavior, and directory handling that an agent needs to call it safely.

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

Parameters2/5

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

Schema coverage is 0% and the description does not describe either parameter. It implies drawing_ids (the drawings) and output_dir (the output directory), but adds no format hints (e.g., id format, relative vs absolute path) beyond what the schema's bare types provide.

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?

States a specific verb ('Generate') with resource ('SVG files') and scope ('one or more drawings'), plus the side effect ('write them into an output directory'). Clear, though it does not name or distinguish itself from the close sibling 'generate_svg' or 'batch_generate_pdf'.

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?

No when-to-use vs alternatives guidance. Given sibling 'generate_svg' exists, the agent cannot tell from the description whether batch_generate_svg is a superset, when to prefer one over the other, or what prerequisites exist. The 'batch' scope is only implied.

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

begin_transactionA

Start a nested editing transaction; pair with commit_transaction or rollback_transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It usefully states that the transaction is nested and must be paired with commit or rollback, but it does not explain transaction scope, what happens to uncommitted edits, or any limitations on nesting depth.

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 description is a single concise sentence with the core action front-loaded and the lifecycle relation immediately following. Every part of the sentence earns its place.

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

Completeness4/5

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

For a parameterless transaction-control tool with no output schema and no annotations, the description provides the essential lifecycle context: start a nested editing transaction and end it with commit or rollback. It could say more about nested transaction behavior, but it is sufficient for correct invocation.

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?

The tool takes zero parameters, so the baseline is 4. The description does not add parameter semantics, but there are no parameters to document.

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?

The description states a specific verb and resource: 'Start a nested editing transaction.' It distinguishes the tool from its transaction-control siblings by explicitly naming the commit_transaction and rollback_transaction counterparts, so an agent can tell what this tool initiates.

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

Usage Guidelines4/5

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

The pairing instruction 'pair with commit_transaction or rollback_transaction' gives clear context for how and when this tool is used. It does not explicitly state when not to use it or how to choose between commit and rollback, but the immediate usage relationship is clear.

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

boolean_intersectC

intersect two 3D solids and return a simplified composite result.

ParametersJSON Schema
NameRequiredDescriptionDefault
solid_id_aYes
solid_id_bYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It hints that a result is returned ('simplified composite result') but says nothing about whether the two input solids are consumed or retained, what 'simplified' means, whether the operands must overlap, or what happens on non-intersecting input.

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?

A single efficient sentence with the operation front-loaded. Nothing wasted, though it is arguably under-specified rather than maximally concise.

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

Completeness2/5

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

For a destructive-in-effect geometry operation with no annotations and no output schema, the description omits critical context: operand fate, result identity/type, and failure modes. It should do considerably more given the total absence of structured behavioral data.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It tells the agent the two arguments are 3D solids, which maps to solid_id_a/solid_id_b, but adds no detail on ID format, validity requirements, or whether the operands must be solids of the same body.

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?

States a specific verb and resource: 'intersect two 3D solids' plus the output nature ('simplified composite result'). This is clearly distinguishable from boolean_union and boolean_subtract by the verb itself, though the description never names those siblings to sharpen the boundary.

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?

No when-to-use guidance, no prerequisites, and no mention of the obvious alternatives (boolean_union, boolean_subtract) despite them being adjacent siblings. The agent must infer usage entirely from the name and verb.

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

boolean_subtractC

subtract two 3D solids and return a simplified composite result.

ParametersJSON Schema
NameRequiredDescriptionDefault
solid_id_aYes
solid_id_bYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It discloses that the result is a 'simplified composite result,' but omits critical details: whether input solids are retained or consumed, error conditions, and what 'simplified' actually means. This is a mutation-like operation and the description does not clarify its side effects.

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 description is a single, front-loaded sentence with zero waste. It immediately states the action and result without unnecessary preamble. Structurally, it is as concise as possible for the information it conveys.

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

Completeness2/5

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

Given a boolean subtraction on 3D solids, the description is insufficient. It lacks operand order, destructive semantics, prerequisites, and meaningful return details, and there are no annotations or output schema to compensate. An agent would need external knowledge to call this correctly.

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

Parameters2/5

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

Schema coverage is 0% for two required parameters. The description says 'subtract two 3D solids' but never maps solid_id_a and solid_id_b to operands or clarifies the subtraction order (A minus B vs. B minus A). It adds almost no meaning beyond the parameter names themselves.

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 uses a specific verb and resource: 'subtract two 3D solids.' This clearly identifies the operation, though it does not explicitly differentiate from siblings like boolean_union or boolean_intersect. The verb itself provides implicit differentiation, so the purpose is clear but not maximally sharp.

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 guidance on when to use this tool versus alternatives such as boolean_union or boolean_intersect. The description offers no context, prerequisites, or exclusions—only the basic operation. An agent must infer usage entirely from the tool name and description.

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

boolean_unionC

union two 3D solids and return a simplified composite result.

ParametersJSON Schema
NameRequiredDescriptionDefault
solid_id_aYes
solid_id_bYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It discloses that the result is a 'simplified composite', but does not state whether the input solids are consumed, whether the operation is reversible, what happens on failure, or any permission requirements.

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?

A single, front-loaded sentence with zero filler. The core operation is stated immediately and no sentence is wasted.

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

Completeness2/5

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

For a boolean operation with no annotations, no output schema, and 0% parameter coverage, the description is too sparse. It omits usage context, parameter details, and behavioral specifics such as whether the original solids remain and how errors are handled.

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

Parameters1/5

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

Schema description coverage is 0% and the description does not explain the two parameters beyond restating that they represent two solids. It does not clarify ID format, source, or the distinct roles of solid_id_a and solid_id_b, so it adds no meaning beyond the schema.

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?

States a specific verb ('union'), resource ('two 3D solids'), and outcome ('simplified composite result'). It clearly distinguishes itself from sibling boolean_subtract and boolean_intersect by operation name, though it does not explicitly route between them.

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?

No guidance on when to use this tool versus boolean_subtract, boolean_intersect, or other modeling operations. There are also no prerequisites or conditions given (e.g., solids must exist, must be valid 3D solids).

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

chamfer_2dC

Create a simple chamfer line between two lines.

ParametersJSON Schema
NameRequiredDescriptionDefault
unitNo
dist1Yes
dist2Yes
line_id_aYes
line_id_bYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden, yet it only states the action. It does not disclose whether the original lines are trimmed or modified, whether the operation is reversible, what happens on invalid or non-intersecting line IDs, or whether any permissions are needed.

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?

A single front-loaded sentence with no padding beyond the mildly redundant word 'simple.' It is efficiently sized, though the brevity reflects under-specification rather than disciplined economy.

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

Completeness2/5

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

For a five-parameter mutating geometry tool with no annotations, no output schema, and 0% schema description coverage, the description is far too thin. It omits parameter meaning, edge-case behavior, and return information, leaving an agent unable to call it confidently.

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

Parameters2/5

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

Schema description coverage is 0% across five parameters, and the description adds no meaning: dist1/dist2 are never explained (offset distances? along which line?), the two line IDs are only vaguely implied by 'between two lines,' and the optional unit enum is unaddressed. This fails to compensate for the coverage gap.

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?

States a specific verb ('Create') and resource ('chamfer line between two lines'), so an agent knows the core operation. However, it does not distinguish itself from sibling tools like fillet_2d or chamfer_3d, leaving the agent to infer the 2D vs 3D and fillet vs chamfer boundaries.

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?

No when-to-use guidance is provided, and no alternatives are named. The agent is not told when to choose chamfer_2d over fillet_2d or chamfer_3d, nor what preconditions (existing lines, valid IDs) must hold.

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

chamfer_3dC

Create a simplified chamfered copy of a solid.

ParametersJSON Schema
NameRequiredDescriptionDefault
angleNo
guidesNo
radiusNo
path_idNo
distanceNo
edge_idsNo
face_idsNo
profilesNo
solid_idNo
directionNo
thicknessNo
open_facesNo
profile_idNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. "Copy" usefully implies the operation is non-destructive to the original solid, but nothing is said about which geometry (edges, faces, profiles) is affected, what happens with conflicting parameters, or what the call returns for a 13-parameter mutation tool.

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

Conciseness3/5

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

The single sentence is front-loaded and free of filler, but at eight words it is under-specified rather than concise for a tool with 13 parameters. Brevity here comes at the cost of missing information.

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

Completeness1/5

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

A 13-parameter tool with 0% schema coverage, no annotations, and no output schema is left almost entirely undocumented. The description provides no parameter mapping, no return expectations, and no safety or failure behavior, so it is inadequate for correct invocation.

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

Parameters1/5

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

Schema description coverage is 0% across 13 parameters, and the description names none of them. An agent has no way to know whether angle, radius, distance, thickness, guides, path_id, profiles, or open_faces are required, mutually exclusive, or dimension-dependent.

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 states a specific verb and resource ("Create a simplified chamfered copy of a solid") and even hints that the result is a new copy rather than an in-place edit. It does not, however, differentiate itself from close siblings such as fillet_3d, chamfer_2d, or draft_angle, so the agent must infer 3D-vs-2D and chamfer-vs-fillet distinctions from the name alone.

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 guidance, no prerequisites, and no mention of alternatives. With sibling tools like fillet_3d and chamfer_2d in the same namespace, the absence of any routing instruction is a real gap.

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

check_clearanceC

Check if minimum distance meets a clearance threshold. Accepts entity ids or assembly component ids; use assembly_id to scope component lookup.

ParametersJSON Schema
NameRequiredDescriptionDefault
assembly_idNo
component_aYes
component_bYes
min_clearanceYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not state whether the check is read-only, what happens on failure (e.g., error vs boolean result), whether it requires the entities to belong to the same assembly, or any side effects. With a mutation-adjacent threshold check and zero annotations, this is a significant gap.

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?

Two compact sentences that front-load the purpose and then add the id/scope clarification. No extraneous text, though the second sentence could be clearer about the id duality.

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

Completeness2/5

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

With no annotations, no output schema, and 0% parameter description coverage, the description does not provide enough context for an agent to invoke the tool correctly. It omits return semantics (boolean vs error), units, and the relationship between component ids and assembly_id.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for all four parameters. It only clarifies that component_a and component_b can be entity ids or assembly component ids, and that assembly_id scopes component lookup. It does not explain the unit or semantics of min_clearance, nor whether component ids must be from the same assembly, leaving half the parameter space undocumented.

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?

States a specific verb (Check) and resource (minimum distance vs a clearance threshold), which distinguishes it from generic measurement tools like measure_minimum_distance and check_interference. It is clear what the tool does, though it does not explicitly contrast itself with those close siblings.

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 explicit guidance on when to use this tool versus alternatives such as measure_minimum_distance or check_interference. The second sentence hints that entity ids and assembly component ids are both accepted, but it does not explain when to pass an assembly_id or how the threshold check differs from a raw distance measurement.

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

check_interferenceC

Check component interference using transformed component bounding boxes.

ParametersJSON Schema
NameRequiredDescriptionDefault
toleranceNo
assembly_idYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It hints at the mechanism (bounding-box based, therefore approximate) but says nothing about whether the check mutates state, permission requirements, how results are reported, or the tolerance's effect.

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?

A single front-loaded sentence with no filler. It is efficient, though the sparseness reflects missing content rather than tight editing.

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

Completeness2/5

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

With no annotations, no output schema, and zero schema-description coverage, the description is the only source of truth, yet it omits return semantics (does it list interfering pairs?), tolerance meaning, and usage context. Inadequate for a 2-parameter analysis tool.

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

Parameters2/5

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

Schema description coverage is 0% for both parameters. The description never explains assembly_id (which assembly is inspected) or tolerance (units, direction, default behavior), leaving the most consequential input entirely undocumented.

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?

States a specific verb+resource ('check component interference') and adds the method ('transformed component bounding boxes'), so the agent knows this is a geometry-collision check. It does not distinguish itself from the closely related sibling check_clearance, which an agent would need to disambiguate the two.

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?

No guidance on when to use this versus check_clearance or measure_minimum_distance, no prerequisites (e.g., assembly must exist/populated), and no exclusions. The agent must infer usage entirely from the name.

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

commit_transactionA

Commit the innermost active transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It identifies a state-changing commit and scopes it to the innermost transaction, but omits whether the operation is irreversible, what happens to outer transactions, error behavior when no transaction is active, and permission requirements.

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?

A single front-loaded sentence with no filler. It delivers the essential action and scope immediately.

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 simple zero-parameter transaction control tool, the description states the action and nested scope. However, with no annotations and no output schema, it leaves gaps around transaction state requirements and side effects that an agent might need before calling.

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?

The tool takes zero parameters, so the schema is trivially complete; the baseline for zero-parameter tools is 4. The description adds no parameter information, but none is needed.

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?

States a specific verb ('Commit') and resource ('innermost active transaction'), making clear it finalizes the current transaction. This distinguishes it from sibling transaction controls like begin_transaction and rollback_transaction without ambiguity.

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?

No guidance on when to use this versus rollback_transaction or push_undo_checkpoint, nor any prerequisite about needing an active transaction. The agent must infer usage from the verb alone.

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

compute_cut_fill_volumeC

Estimate cut/fill volume inside a polygon from enclosed elevated sample points and a base elevation.

ParametersJSON Schema
NameRequiredDescriptionDefault
boundary_idYes
base_elevationYes
sample_point_idsNo

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It hints that only sample points enclosed by the polygon count, but says nothing about read-only vs. mutating behavior, required permissions, cut/fill sign convention, units, or what the computed result looks like.

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?

A single front-loaded sentence with no filler. The resource and computation are stated immediately, though terseness comes at the cost of the guidance noted above.

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

Completeness2/5

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

For a 3-parameter computation with no output schema and no annotations, the description is thin: it never states return values/units, the cut vs. fill sign convention, or behavior when sample points fall outside the boundary. An agent can call it, but cannot predict its result.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate, and it partially does by mapping all three parameters conceptually (polygon = boundary_id, elevated sample points = sample_point_ids, base elevation = base_elevation). It omits, however, that sample_point_ids is optional and gives no format or unit guidance for elevations.

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?

Specific verb ('Estimate') plus resource ('cut/fill volume') and a clear scope ('inside a polygon'). It does not, however, distinguish itself from the near-identical sibling compute_grid_surface_volume, so an agent must guess which volume tool applies.

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 guidance, no prerequisites, and no mention of the competing sibling compute_grid_surface_volume. The agent can infer usage from the sentence, but nothing steers the choice between the two volume tools.

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

compute_grid_surface_volumeC

Estimate surface volume from elevated point samples and a representative cell area.

ParametersJSON Schema
NameRequiredDescriptionDefault
cell_areaYes
base_elevationYes
sample_point_idsNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, and it delivers very little. The word 'Estimate' implies an approximate rather than exact result, which is a small useful signal, but nothing is said about units, precision, permissions, or how missing sample points are handled.

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?

A single efficient sentence with the resource front-loaded and no filler. It is well-sized, though its brevity is partly under-specification rather than tight craft.

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

Completeness2/5

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

For a 3-parameter computational tool with no annotations, no output schema, and 0% schema description coverage, the description is far too thin. It omits the role of base_elevation, the units/return format, and how the calculation handles the optional sample_point_ids, leaving the agent guessing.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate and only partially does. It loosely maps to sample_point_ids ('elevated point samples') and cell_area ('representative cell area'), but says nothing about base_elevation or expected units/formats for any of the three parameters.

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 names a specific verb and resource ('Estimate surface volume') and states the inputs it operates on ('elevated point samples and a representative cell area'). However, it does not differentiate itself from siblings like compute_cut_fill_volume or measure_volume/measure_surface_area, so an agent cannot tell from the description alone which volume tool applies.

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 explicit when-to-use guidance, no prerequisites, and no named alternatives. The phrase 'from elevated point samples and a representative cell area' hints at the suitable input scenario but never states when this tool should be chosen over compute_cut_fill_volume or similar siblings.

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

compute_section_areaC

Sample elevated points along a profile line and compute the section area against a baseline elevation.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_offsetNo
profile_line_idYes
sample_point_idsNo
baseline_elevationYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It says nothing about whether the computation is read-only, what permissions are needed, how many points are sampled or at what spacing, error behavior for missing/invalid profile lines, or performance limits. 'Sample elevated points' hints at interpolation but leaves the actual behavior opaque.

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?

A single efficient sentence that front-loads the action and mechanism with no filler. It is appropriately sized, though the brevity comes at the cost of the missing parameter and behavioral detail.

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

Completeness2/5

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

For a computation tool with no annotations, no output schema, and 0% schema coverage, the description is too thin. It omits what the result represents (units, sign convention for fill vs cut), how the optional parameters affect sampling, prerequisites, and error cases.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It only mentions 'profile line' and 'baseline elevation', corresponding to the two required parameters, but never explains max_offset or sample_point_ids, which are two of the four parameters. Half the parameters are left semantically undocumented.

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?

States a specific verb+resource ('compute the section area') with the mechanism ('sample elevated points along a profile line') and the reference frame ('against a baseline elevation'). It is clearly distinguishable from the nearest siblings compute_cut_fill_volume and compute_grid_surface_volume, though it doesn't explicitly say how it differs from 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?

The description implies the prerequisite (a profile line must exist, points are sampled along it), which gives implicit context for when the tool applies. However, it never states when-to-use versus alternatives like compute_cut_fill_volume or when-not to use it. Guidance is inferred rather than explicit.

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

create_arcA

Create a circular arc: centre (cx,cy), radius, startAngle and endAngle in radians (counterclockwise from +X; mathematical Y-up). Radius uses unit (default mm). Stored as coords [cx,cy,r,startAngle,endAngle] in mm.

ParametersJSON Schema
NameRequiredDescriptionDefault
cxYes
cyYes
unitNo
layerNo
radiusYes
endAngleYes
startAngleYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses key behavioral traits: angles are in radians, counterclockwise from +X, Y-up coordinate system, radius uses the unit parameter (default mm), and the arc is stored as coords [cx,cy,r,startAngle,endAngle] in mm. It does not mention layer behavior or side effects, but the coordinate and storage conventions are substantial context beyond the schema.

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 description is two sentences, front-loaded with the core action and immediately followed by essential coordinate and unit conventions. Every sentence earns its place with no redundancy.

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

Completeness4/5

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

For a creation tool with 7 parameters, no annotations, and no output schema, the description provides enough to call it correctly: geometry, coordinate system, angle units, default unit, and storage format. It could mention layer behavior or return semantics, but those gaps are minor.

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?

Schema description coverage is 0%, so the description must compensate. It meaningfully explains cx, cy, radius, startAngle, endAngle, and unit (default mm, angle semantics in radians). It omits any explanation of the 'layer' parameter, which is the only notable gap.

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?

The description states a specific verb ('Create') and resource ('circular arc') and lists the defining parameters. It clearly distinguishes this tool from siblings like create_circle, create_ellipse, and create_spline by naming the exact geometry produced.

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?

The description implies usage ('Create a circular arc') but provides no explicit when-to-use or when-not-to-use guidance, nor does it name alternative tools such as create_circle or create_polyline for related geometry.

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

create_assemblyC

Create an empty assembly.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses one useful trait - the assembly is created empty - but says nothing about required permissions, where the assembly is stored, whether the call is reversible, or what identifier is returned for later add_component calls.

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?

A single short sentence with zero padding and the action front-loaded. It is concise, though the brevity edges toward under-specification rather than crispness.

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

Completeness2/5

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

For a mutation tool with one undocumented parameter, no annotations, and no output schema, the definition is too thin: it omits the name argument's role, the resulting assembly's identity, and any follow-up workflow (add_component, mate_*). Only the 'empty' nuance adds value.

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

Parameters2/5

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

There is one required parameter ('name') with 0% schema description coverage, so neither schema nor description explains it. The description does not mention the name at all, leaving constraints such as uniqueness and the minLength=1 requirement undocumented.

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?

States a specific verb and resource ('Create an ... assembly') and adds the qualifier 'empty' that tells the agent no components are populated. It does not differentiate from nearby siblings such as create_group, create_block, or create_component, so it falls short of a 5.

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?

The description gives no indication of when to create an assembly versus a group, block, or component, and no prerequisites (e.g. whether a project/document must be open) are stated. Usage must be inferred entirely from the name.

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

create_blockC

Create a block definition from entity ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
entitiesYes
base_pointYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full burden of disclosure. It never says whether the source entities are consumed/replaced, whether the new definition is attached to the document, what permissions or active document state are required, or whether the action is undoable.

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?

A single short sentence, front-loaded with the action and resource. Nothing is wasted, but the terseness also means nothing is added, so it is efficient rather than exemplary.

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

Completeness2/5

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

For a mutating tool with no annotations, no output schema and an undocumented nested base_point object with 3 required parameters, this one-liner leaves the agent without the behavioral or parameter context needed to invoke it confidently.

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

Parameters2/5

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

Schema description coverage is 0% across 3 required parameters. The phrase 'from entity ids' loosely maps to the 'entities' array, but 'name' and the nested 'base_point' object (x/y required, optional z) are not clarified beyond the schema's own type constraints.

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?

States a specific verb and resource ('create a block definition') plus the source of its content ('from entity ids'). It distinguishes the creation step from its clear siblings insert_block, explode_block and edit_block, though it never names them explicitly.

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 guidance on when to use this versus insert_block, edit_block or the primitive creators (create_box, create_sphere). No preconditions, no note on whether the source entities must already exist in the drawing.

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

create_boundary_polygonC

Create a study boundary or management zone polygon with domain metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
unitNo
layerNo
pointsYes
attributesNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description must carry the full behavioral burden, yet it only says 'with domain metadata' without explaining what that metadata is, whether the polygon is closed automatically, what entity/ID is returned, or how units are applied. It is little more than a restated purpose.

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?

A single short, front-loaded sentence with no filler. It earns its place structurally but is terse to the point of under-specification rather than efficiently complete.

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

Completeness2/5

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

For a 5-parameter creation tool with nested objects, no annotations, and no output schema, the description omits coordinate/unit handling, closure, return value, and metadata semantics, leaving the agent under-informed before calling it.

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

Parameters2/5

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

Schema description coverage is 0% across 5 parameters, and the description only vaguely gestures at 'domain metadata' (loosely the attributes param). It says nothing about points ordering/min-3 closure, the unit enum, or the layer field, so it fails to compensate for the coverage gap.

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?

States a specific verb ('Create') and resource ('polygon') and qualifies it with the domain intent ('study boundary or management zone'), which meaningfully separates it from the generic sibling create_polygon.

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?

No guidance on when to use this instead of create_polygon, create_polyline, or create_rectangle, and no prerequisites or context. The domain phrasing hints at a mapping/GIS use case but never states it as a rule.

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

create_boxC

Create a box solid at origin with width, height, and depth.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNo
yNo
zNo
unitNo
depthYes
layerNo
widthYes
heightYes

TDQS

C2.5/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden. It states nothing about units defaulting, whether the box is added to the current document/layer, whether it's parametric or fixed geometry, or whether it returns an entity handle.

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?

One efficient sentence with the essential dimensions front-loaded. It's appropriately terse, though it could be slightly more informative without bloating.

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

Completeness2/5

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

For a geometry-creation tool with 8 parameters (5 undocumented in both schema and description), no annotations, and no output schema, the description leaves too much implicit: coordinate placement semantics, unit behavior, layer assignment, and whether the result is added to the active document.

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

Parameters2/5

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

Schema description coverage is 0% and there are 8 parameters. The description mentions only width/height/depth; it says nothing about x/y/z positioning offsets, the 'unit' enum values or default, or the 'layer' parameter. With required params documented in the schema only by name, the description fails to compensate for the coverage gap.

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?

States a specific verb and resource ('Create a box solid') plus the three required dimensions, which clearly distinguishes it from siblings like create_sphere and create_cylinder. However, it doesn't explicitly acknowledge those siblings or clarify scope beyond the primitive type.

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?

No guidance on when to use this tool versus create_prism, boolean_union, or other solid-creation siblings. A user wanting a rectangular solid could reasonably be unsure whether create_box or create_prism is appropriate.

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

create_circleC

Create a circle with centre (cx,cy) and radius. Lengths use unit (default mm).

ParametersJSON Schema
NameRequiredDescriptionDefault
cxYes
cyYes
unitNo
layerNo
radiusYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It states that lengths use the given unit with mm default, which is useful, but says nothing about whether the circle is added to the current layer, whether it can be undone, or what constraints apply (e.g., radius must be > 0).

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?

One efficient sentence that front-loads the primary purpose and adds the unit default as a secondary clause. No filler.

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

Completeness2/5

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

For a creation tool with no annotations, no output schema, and five parameters (three required), the description is materially incomplete. It omits layer behavior, validation rules (radius > 0), and whether the circle is a 2D entity (given siblings like create_sphere and create_cylinder, clarity on dimensionality matters).

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It does explain the unit default (mm) and that lengths use that unit, which adds meaning beyond the enum schema, but it doesn't mention the exclusiveMinimum constraint on radius, the optional layer parameter, or how cx/cy are interpreted (absolute vs relative).

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?

States a specific verb (Create) and resource (circle) with the geometric parameters named. Doesn't explicitly differentiate from siblings like create_ellipse or create_polygon, but the resource is specific enough that an agent can distinguish it.

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?

No guidance on when to use this tool versus alternatives (create_ellipse for ovals, create_polygon for polygons, or create_arc for partial curves). Only an implicit default-value statement about units.

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

create_coneC

Create a frustum or cone solid.

ParametersJSON Schema
NameRequiredDescriptionDefault
cxNo
cyNo
czNo
unitNo
layerNo
heightYes
topRadiusYes
bottomRadiusYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It only says the tool creates a solid and omits mutating side effects, undo/transaction behavior, coordinate system, units, layer defaults, and error conditions.

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?

A single front-loaded sentence with no filler or redundancy. It is structurally clean and immediately tells the agent the tool's core action.

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

Completeness1/5

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

With eight parameters, no annotations, no output schema, and no parameter descriptions, a one-sentence description is far too thin. It states the shape created but omits required inputs, coordinate handling, units, and creation behavior.

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

Parameters2/5

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

Schema description coverage is 0% across eight parameters. The description hints at frustum/cone geometry but never names or explains cx, cy, cz, height, topRadius, bottomRadius, unit, or layer, so it does not compensate for the missing schema documentation.

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?

States a specific creation verb and concrete geometric resource ('frustum or cone solid'), which clearly identifies the tool's action. However, it does not explicitly differentiate itself from sibling primitives such as create_cylinder, create_revolution, or loft beyond the resource name.

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?

Provides no guidance on when to use this tool versus alternatives like create_cylinder, create_revolution, loft, or sweep. Prerequisites, exclusions, and typical use contexts are absent.

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

create_cylinderC

Create a vertical cylinder solid.

ParametersJSON Schema
NameRequiredDescriptionDefault
cxNo
cyNo
czNo
unitNo
layerNo
heightYes
radiusYes
segmentsNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not say whether the solid is added to modelspace, how units/layer defaults are resolved, what the origin/cx-cy-cz offsets are, whether the operation is undoable, or what is returned.

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?

A single short, front-loaded sentence with no filler. It is efficient, though the extreme brevity is a symptom of missing content rather than tight writing.

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

Completeness2/5

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

For an 8-parameter solid-creation tool with 0% schema coverage, no annotations, and no output schema, the description omits almost everything an agent needs: parameter meanings, units, placement semantics, and return behavior.

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

Parameters2/5

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

Schema description coverage is 0% and the description names none of the 8 parameters. Required radius/height, centroid offsets cx/cy/cz, unit enum, layer, and segments must all be inferred from bare schema keys, so the description fails to compensate for the coverage gap.

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 states a specific verb plus resource ('Create a vertical cylinder solid'), so an agent knows exactly what primitive is produced and that its axis is vertical. It is clear on its own but does not distinguish itself from siblings like create_cone or create_prism beyond the resource name.

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 guidance about when to use this over alternatives such as create_cone/create_prism/create_sphere, nor about prerequisites like an active layer or units. The 'vertical' qualifier is the only selection hint.

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

create_drawingC

Create a drawing sheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
templateNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden and delivers almost nothing: it does not say whether the sheet is persisted, where it is placed, what happens if a sheet of that name exists, or whether template omission has defaults for a mutation operation.

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?

A single short, front-loaded sentence with no filler. It is efficient, though the terseness is a symptom of under-specification rather than disciplined density.

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

Completeness2/5

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

For a creation/mutation tool with no annotations, no output schema, and 0% parameter documentation, the description is markedly incomplete — an agent cannot tell what it gets back or how the sheet name/template behave.

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

Parameters2/5

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

Schema description coverage is 0% for both parameters, and the description mentions neither 'name' nor 'template'. It does not explain name uniqueness or what a template string refers to, so it fails to compensate for the undocumented schema.

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 states a clear verb+resource pair (create a drawing sheet), so an agent knows the operation is a new-drawing creation. However, it offers no differentiation from the many drawing/view siblings such as create_viewport, add_view, or create_map_layout.

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 guidance, no prerequisites, and no mention of alternatives among the numerous sibling tools. The agent is left to infer that a drawing sheet must exist before viewport/view creation.

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

create_ellipseC

Create an ellipse with radii and rotation.

ParametersJSON Schema
NameRequiredDescriptionDefault
cxYes
cyYes
rxYes
ryYes
unitNo
layerNo
rotationNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral burden. It doesn't disclose whether the operation is undoable, whether it requires an active layer or document, whether it works in 2D or 3D space, or what the return value is. These are important for a creation tool in a CAD environment.

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

Conciseness3/5

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

The single sentence is concise and front-loaded with the core action, but it is overly terse given the complexity of the tool. It earns its place by stating the essential purpose, yet it wastes no words on useful additional context.

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

Completeness1/5

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

With no annotations, no output schema, and 0% schema description coverage, the description is far too sparse. An agent lacks information about required parameters, coordinate system, return behavior, and safety profile. For a 7-parameter creation tool, this is critically incomplete.

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

Parameters1/5

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

Schema description coverage is 0% and none of the 7 parameters are documented. The description only alludes to 'radii' and 'rotation', but does not explain any parameter names, units, defaults, constraints (e.g., exclusiveMinimum for radii), or the purpose of optional parameters like 'layer' or 'unit'.

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?

States a specific verb and resource ('Create an ellipse') and mentions the key controllable attributes (radii, rotation). It is clearly distinguishable from siblings like create_circle or create_box, though it doesn't explicitly contrast itself with those alternatives.

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?

No guidance on when to use this tool versus alternatives such as create_circle or create_rectangle. There is no mention of prerequisites, coordinate system, or the intended context for creating an ellipse.

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

create_exploded_viewC

Create an exploded view definition for an assembly.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
assembly_idYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it only says 'create.' It does not disclose whether this mutates the assembly in place, whether it persists to the project/document, what happens if a definition with the same name exists, or what it returns. For a mutation tool with zero annotation coverage this is a substantial gap.

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?

A single efficient sentence with the action front-loaded and zero filler. It is under-specified rather than verbose, but conciseness itself is good.

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

Completeness2/5

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

Given a two-required-parameter mutation tool with no annotations, no output schema, and 0% parameter documentation, the description is not complete enough for confident invocation. It should at least explain the parameters and its relationship to the explode/animate siblings.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for both parameters and it does not: neither 'name' nor 'assembly_id' is mentioned or explained. The agent learns nothing about naming constraints or whether assembly_id refers to an existing assembly created by create_assembly.

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 states a specific verb and resource: 'Create an exploded view definition for an assembly.' An agent can tell this creates an exploded-view definition rather than geometry. However, it offers no differentiation from closely related siblings like add_explode_step or animate_explode, leaving the boundary between them to inference.

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 guidance, no prerequisites (e.g., must an assembly already exist?), and no routing to alternatives such as add_explode_step or animate_explode. The agent must guess which of the explode-related tools applies.

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

create_groupC

Create a named group from entity ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
entity_idsYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states a create action but does not mention permissions, side effects, error conditions, or what happens to existing entities, leaving important behavioral traits unspecified.

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?

The single sentence is front-loaded and contains no wasted words. However, it is arguably too terse for a tool with multiple parameters and no other documentation.

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

Completeness2/5

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

The tool is a mutation operation with no output schema, no annotations, and 0% schema description coverage. The description does not explain return behavior, required permissions, or parameter constraints, leaving it incomplete for an agent to invoke correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate but does not. It merely restates the property concepts ('named' for name, 'entity ids' for entity_ids) without adding format, constraints, or meaning beyond what the schema property names already imply.

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 states a specific verb and resource: create a named group from entity ids. It clearly distinguishes the action from siblings like ungroup or select_group, though it does not explicitly name alternatives.

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 guidance on when to use this tool versus alternatives such as create_assembly or select_group. The only implied usage is grouping entities, which is not elaborated.

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

create_layerB

Create a named layer with optional color (e.g. #ff0000). Layers are keyed by name; default geometry layer is "0".

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
colorNo

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and it partially delivers: it discloses that layers are keyed by name (implying uniqueness semantics) and that a default geometry layer '0' exists. It omits error behavior on duplicate names, persistence, and whether the operation requires a transaction, which are meaningful for a mutation tool.

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?

Two short sentences, zero filler, with the core action front-loaded before the keying detail. Every clause adds information.

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 2-parameter tool with no output schema and no annotations, the description covers the action, parameters, and keying but leaves return values, duplicate-name behavior, and permissions unaddressed. Adequate but with clear gaps.

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?

Schema coverage is 0%, so the description must compensate, and it does reasonably: 'name' is explained as the key (implying required/unique), and 'color' is given a concrete format example '#ff0000'. It still doesn't state accepted color formats exhaustively or the failure mode for an empty name, 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?

States a specific verb and resource ('Create a named layer'), so an agent immediately knows what the tool does and can distinguish it from delete_layer/rename_layer/set_layer_color. It does not, however, explicitly name or differentiate itself against those sibling tools, so it stops short of the 5 tier.

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 guidance, no prerequisites, and no mention of alternatives like create_layer vs. the many other create_* tools or autocad_list_layers. The note about the default '0' layer is domain context, not usage routing, so this is essentially no guidance.

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

create_lineC

Create a line from (x1,y1) to (x2,y2). Lengths use unit (default mm).

ParametersJSON Schema
NameRequiredDescriptionDefault
x1Yes
x2Yes
y1Yes
y2Yes
unitNo
layerNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and only states the default unit. It omits mutation side effects, default layer behavior, whether the line is immediately committed, required permissions, and return information.

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?

Two concise sentences with the action and coordinate meaning front-loaded, and no wasted words. It is efficient but perhaps overly terse given the six-parameter tool with no annotations.

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

Completeness2/5

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

For a six-parameter mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is insufficient. It leaves layer semantics, return behavior, and side effects unexplained.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It maps x1,y1,x2,y2 to line endpoints and gives the default unit, but completely omits the optional 'layer' parameter and any other parameter constraints.

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 uses a specific verb ('Create') and resource ('line'), and defines the line by its endpoints (x1,y1) to (x2,y2). It clearly distinguishes this from a point or a polyline in practice, but does not explicitly contrast with siblings like create_polyline or create_arc.

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?

No when-to-use guidance or alternatives are provided. The purpose implies usage, but there is no explicit context for choosing create_line over create_polyline or create_arc.

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

create_map_layoutC

Create a map-oriented drawing layout using current project extent and drawing scale metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
marginNo
templateNo
sheet_sizeNoA3

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It reveals that the tool reads existing project extent and scale state, but says nothing about what gets created or persisted, what happens if extent/scale are unset, permissions, or whether the operation is reversible.

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?

A single front-loaded sentence with no filler or redundancy. It is well-formed, though it is thin for the amount of structured information left undocumented.

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

Completeness2/5

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

For a 4-parameter mutation tool with no annotations, no output schema, and 0% schema documentation, the description is materially incomplete: parameter meanings, defaults (e.g. sheet_size='A3'), and error behavior are all omitted.

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

Parameters1/5

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

Schema description coverage is 0% and four parameters exist (name, margin, template, sheet_size), yet the description names none of them. Instead it references 'project extent' and 'drawing scale', which are not even parameters of this tool, so it adds no parameter meaning at all.

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?

States a specific verb and resource ('Create a map-oriented drawing layout'), making the tool's function clear. It does not differentiate from nearby siblings such as create_drawing, create_viewport, or apply_thesis_template, so an agent cannot tell from the text alone which layout-producing tool to pick.

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?

The phrase 'using current project extent and drawing scale metadata' implies a precondition (set_map_extent / set_drawing_scale must be run first), which is useful implied usage. However, there is no explicit when-to-use guidance, no exclusions, and no named alternative among the drawing/viewport siblings.

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

create_monitoring_wellC

Create a monitoring well point with optional depth and screened interval metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
unitNo
depthNo
layerNo
well_idNo
screen_toNo
attributesNo
screen_fromNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It says 'Create' but doesn't disclose whether this requires a project/CRS context, whether the point is committed immediately or within a transaction, whether it returns an ID, or how it interacts with the many transaction tools (begin_transaction, commit_transaction) in the catalog. For a mutation tool with zero annotation coverage this is a significant gap.

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?

Single efficient sentence, appropriately front-loaded with the verb and resource. No waste, though it is arguably undersized for the complexity of 9 parameters and the many sibling tools.

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

Completeness2/5

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

For a 9-parameter mutation tool with no annotations, no output schema, and 0% schema description coverage, the one-sentence description is inadequate. It leaves coordinate system requirements, units, screen interval semantics (screen_from/screen_to), and the attributes object entirely unexplained.

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

Parameters2/5

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

Schema description coverage is 0% across 9 parameters, and the description only hints at two of them ('optional depth and screened interval metadata'). Critical params like x/y (required), unit enum, well_id, layer, and attributes are entirely undocumented in both the schema and the description. The description fails to compensate for the coverage gap.

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?

States a specific verb (create) and resource (monitoring well point) with the key metadata fields (depth, screened interval). However, it doesn't distinguish itself from siblings like create_sampling_point or create_point, which an agent could easily confuse it with in this dense catalog.

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?

No when-to-use guidance, no conditions, no alternatives mentioned. In a catalog with create_point, create_sampling_point, create_box, etc., the description offers nothing to help the agent decide when a monitoring well is the right entity vs. a sampling point or generic point.

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

create_pointB

Create a point at (x, y). Coordinates are converted from unit (default mm) to internal mm. Optional layer is a layer name (created if missing).

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
unitNo
layerNo

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose useful behavior: unit conversion to internal mm, the mm default, and the side effect that a missing layer is created. It omits other behavioral traits an agent would want, such as what the tool returns, whether it operates on a sketch plane or 3D space, and error handling.

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?

Three short sentences, front-loaded with the core action, then two focused notes on unit and layer behavior. No filler.

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 4-param creation tool with no annotations and no output schema, the description covers the non-obvious parameter semantics but leaves return value, coordinate-space assumptions, and failure modes unstated. Adequate but with clear gaps.

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

Parameters3/5

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

Schema description coverage is 0% across 4 params, so the description must compensate. It does explain `unit` (default mm, converted to internal mm) and `layer` (name, auto-created), but x/y formatting and the full semantics of the layer argument remain thin.

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?

States a specific verb and resource ('Create a point at (x, y)') with the geometry semantics made explicit, so an agent can distinguish it from create_line/create_circle without opening the schema. It does not, however, name or contrast any sibling primitive creators.

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?

No statement of when to use this versus the many other primitive-creation siblings (create_line, create_circle, create_box, etc.), and no prerequisites or context (e.g. active document/sketch) are given. Usage is only inferred from the verb.

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

create_polygonC

Create a polygon path from vertices. closed selects closed vs open stroke in preview (stored on entity properties). Points use unit (default mm).

ParametersJSON Schema
NameRequiredDescriptionDefault
unitNo
layerNo
closedYes
pointsYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It mentions that `closed` is stored on entity properties and used for preview stroke, which is useful context, but doesn't cover whether this requires an active document, layer existence, or other prerequisites. For a mutation tool with no annotations, this is a significant gap.

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?

Two sentences, front-loaded with the core action. The second sentence efficiently covers two parameter behaviors. No wasted words, though the backtick formatting for `closed` and `unit` is slightly informal for a tool definition.

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

Completeness2/5

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

For a 4-parameter mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It should at least mention prerequisites (active document, layer existence) and describe the `points` and `layer` parameters more fully. The current text leaves too many gaps for an agent to invoke correctly without trial and error.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It explains `closed` (selects closed vs open stroke) and `unit` (default mm), covering 2 of 4 parameters. However, `points` (the required vertex list) and `layer` receive no explanation in the description, leaving half the parameters undocumented in both schema and description.

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?

States a specific verb (Create) and resource (polygon path from vertices), clearly distinguishing it from siblings like create_polyline or create_rectangle. It doesn't explicitly name alternatives, but the verb-resource pairing 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?

No guidance on when to use create_polygon vs alternatives like create_polyline, create_boundary_polygon, or create_rectangle. The description explains parameters but offers no context for tool selection among the many creation siblings.

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

create_polylineB

Create a polyline. If closed is true, stroke is closed in SVG preview. Points use unit (default mm).

ParametersJSON Schema
NameRequiredDescriptionDefault
unitNo
layerNo
closedYes
pointsYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It adds one useful behavioral detail—closed affects the SVG preview stroke—and specifies the default unit, but it omits side effects, layer behavior, permissions, and whether the polyline is created in modelspace or the current coordinate system.

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?

Three short sentences are front-loaded with the action and contain no filler. Each sentence carries information, and the most important creation statement comes first.

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

Completeness2/5

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

Given no annotations, no output schema, and 0% schema description coverage, the description is too sparse for a create operation with four parameters. It does not say what layer is used, how points are connected, what happens when closed is false, or what the tool actually returns.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It adds meaning for unit by giving a default of mm and ties points to that unit, and explains closed's SVG effect, but it does not explain the points array structure or the layer parameter, leaving clear gaps.

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?

States a specific verb 'Create' and resource 'polyline', so the core purpose is clear. However, among many sibling creation tools such as create_polygon, create_line, and create_spline, it does not differentiate when a polyline is the correct choice, so it stops short of 5.

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?

The description gives no when-to-use guidance, no prerequisites, and no alternatives. It only states what the tool creates and a small behavior of the closed flag, leaving the agent to infer usage from the name and sibling list.

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

create_prismC

Create a prism from a 2D profile entity and height.

ParametersJSON Schema
NameRequiredDescriptionDefault
unitNo
layerNo
heightYes
profile_idYes

TDQS

C2.7/5.0
Behavior2/5

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

There are no annotations, so the description carries the full behavioral burden. It says only that a prism is created, without disclosing whether the result is a solid or surface, how the profile is treated (closed vs open), what layer or unit behavior applies, or what side effects occur.

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?

The description is a single front-loaded sentence with no wasted words. It is efficient and readable, though its brevity reflects the overall lack of detail rather than an optimal balance for a four-parameter creation tool.

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

Completeness2/5

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

Given four parameters, no annotations, no output schema, and 0% schema description coverage, the description is too sparse. It omits sibling differentiation, unit/layer handling, profile validation rules, and any expectation for the returned entity.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It explains profile_id and height by mapping them to '2D profile entity' and 'height', but the optional 'unit' and 'layer' parameters receive no explanation beyond the enum values already present in the schema.

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 states a specific verb and resource ('Create a prism') and identifies the required inputs (2D profile entity and height). It clearly separates this from primitive creators like create_box or create_sphere, though it does not explicitly compare itself to profile-based siblings like sweep or create_revolution.

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?

The description gives no guidance on when to use this tool versus alternatives such as create_box, sweep, or create_revolution. It implies usage only by stating the required inputs, leaving the agent to infer the appropriate context.

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

create_profile_lineC

Create a profile line used for section sampling and resource/environment transects.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
unitNo
layerNo
pointsYes
attributesNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It says the tool creates a profile line but omits whether the operation mutates the document, whether at least two points are required, how layers or attributes are applied, and what side effects or return behavior to expect.

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

Conciseness2/5

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

The description is a single short sentence and is front-loaded with the core action, but it is under-specified for a tool with five parameters and nested point objects. It reads as too thin rather than carefully concise.

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

Completeness2/5

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

For a creation tool with five parameters, nested point objects, no annotations, and no output schema, the description is substantially incomplete. It establishes the domain purpose but omits parameter semantics, behavioral details, and any output or side-effect guidance.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not mention any of the five parameters: name, unit, layer, points, or attributes. It gives no meaning beyond what the raw schema already provides, leaving the required nested points array and optional unit enum entirely undocumented in prose.

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 states a specific verb (Create) and resource (profile line) and adds the intended domain use for section sampling and resource/environment transects. It is clearer than the generic create_line sibling, though it does not explicitly distinguish itself from other line-creation tools.

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?

The phrase 'used for section sampling and resource/environment transects' gives implied usage context, but there is no explicit guidance on when to choose this over create_line, create_polyline, or create_sampling_point. No exclusions or prerequisites are stated.

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

create_rectangleB

Axis-aligned rectangle: corner (x,y), width, height, optional cornerRadius. Lengths use unit (default mm). Y increases upward; (x,y) is the lower-left corner. Stored as coords [x,y,width,height] in mm; cornerRadius in properties.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
unitNo
layerNo
widthYes
heightYes
cornerRadiusNo

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden and does add non-obvious context: the default unit (mm), the Y-up coordinate convention, that (x,y) is the lower-left corner, and how the shape is stored ([x,y,width,height] in mm, cornerRadius in properties). It says nothing about return values, permissions, or side effects on layers, so it is helpful but incomplete.

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?

Two dense sentences with the shape definition front-loaded and zero filler. It is efficient, though the storage-format clause is somewhat cryptic without further explanation of the property key.

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 7-parameter creation tool with no annotations and no output schema, the description covers the geometry semantics well but omits the `layer` parameter and any statement about what the tool returns or where the entity is placed. Adequate but with visible gaps.

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?

Schema description coverage is 0%, so the description must compensate, and it does for six of seven parameters: x, y, width, height, cornerRadius, and the unit enum (described only as 'default mm'). The `layer` parameter is left completely undocumented, which is the one clear gap.

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 states precisely what is created (an axis-aligned rectangle) and defines its geometry via corner, width, height and optional cornerRadius, which clearly separates it from the curved/3D siblings like create_circle or create_box. It does not explicitly name a sibling alternative, so it falls short of a 5.

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 indication of when to choose this over create_polygon, create_box, or other primitives, nor any prerequisites or exclusions. An agent must infer usage entirely from the name and the shape definition.

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

create_revolutionC

Create a simplified revolved solid from a 2D profile around an axis.

ParametersJSON Schema
NameRequiredDescriptionDefault
axisYes
unitNo
angleNo
layerNo
profile_idYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and says nothing about whether this is a mutation, whether it consumes or requires an existing profile, what 'simplified' means (e.g. no self-intersection handling), or whether the axis must be coplanar with the profile. A creation tool with zero annotation coverage needs more than a single sentence.

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?

One front-loaded sentence with zero filler. It is efficient, though its brevity is also the source of the definition's gaps rather than a virtue of restraint.

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

Completeness2/5

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

For a 5-parameter mutation tool with no annotations, no output schema, a nested axis object, and an angle parameter that changes the result shape, the description is far too thin. An agent knows what it creates but not the constraints, defaults, or consequences of invocation.

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

Parameters2/5

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

Schema description coverage is 0% across 5 parameters, so the description must compensate, yet it only loosely maps to profile_id and axis. The angle parameter (exclusiveMinimum 0, implying partial revolutions), unit enum, and layer are never mentioned, leaving meaningful behavior undocumented in both description and schema.

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?

States a specific verb (Create), a specific resource (revolved solid), and the construction method (from a 2D profile around an axis), which distinguishes it from primitive siblings like create_box, create_sphere, and create_cylinder. The word 'simplified' is unexplained but does not obscure the core purpose.

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?

No guidance on when to choose a revolution over siblings like create_cylinder, create_cone, or loft/sweep, which overlap in producing solids of revolution. No prerequisites such as whether profile_id must reference an existing closed profile, and no exclusions.

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

create_sampling_pointC

Create a resource/environment sampling point with optional label, elevation, and attribute metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
unitNo
labelNo
layerNo
elevationNo
attributesNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It confirms this is a creation operation but says nothing about permissions required, whether the point persists, coordinate system assumptions, or return behavior. For a mutation tool with zero annotation coverage, this is a significant gap.

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?

A single efficient sentence with no waste, front-loading the core action and resource.

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

Completeness2/5

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

Given 7 parameters, required coordinates, a nested attributes object, and no annotations or output schema, the description is far too thin. It omits coordinate format, unit defaults, layer behavior, and attribute structure, leaving the agent under-informed for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0% across 7 parameters, so the description must compensate. It lists only three optional fields (label, elevation, attribute metadata) and omits required x/y coordinates, unit, and layer entirely, leaving critical semantics undocumented.

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?

States a clear verb (Create) and resource (resource/environment sampling point), which is more specific than the generic sibling names. However, it does not distinguish from create_point or similar siblings, leaving the agent to infer the difference.

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?

No guidance on when to use this tool versus alternatives like create_point or create_monitoring_well. The description implies a specific domain (resource/environment sampling) but offers no explicit conditions or prerequisites.

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

create_sphereC

Create a sphere solid.

ParametersJSON Schema
NameRequiredDescriptionDefault
cxNo
cyNo
czNo
unitNo
layerNo
radiusYes
segmentsNo

TDQS

C2.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it offers almost none. It does not state whether the operation is a solid boolean, what coordinate system or layer defaults apply, whether it modifies the active document, or whether it is undoable.

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

Conciseness3/5

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

The single sentence is tight and front-loaded with the verb, so it wastes no words. It is concise only because it is under-specified, not because it communicates efficiently.

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

Completeness1/5

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

With 7 parameters, 0% schema description coverage, no annotations, and no output schema, the description is far too thin for the tool's complexity. An agent has no basis for choosing units, placement, or segment counts without guessing.

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

Parameters1/5

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

Schema description coverage is 0% across 7 parameters, and the description adds no meaning for any of them. Critical semantics such as the meaning of cx/cy/cz (center), the default unit, the effect of layer, and the tessellation role of segments are undocumented anywhere.

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

Purpose3/5

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

The description names a specific verb and resource ('Create a sphere solid'), which is enough to separate it from create_box, create_cylinder, and create_torus. However, 'solid' is the only added information beyond the tool name, so it sits at the minimum-viable level for a CAD primitive tool.

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 guidance on when to use this versus the other primitive-creation siblings, nor any mention of prerequisites such as an active document, project, or layer context. An agent must infer all usage context from the sibling list.

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

create_splineC

Create a control-point spline entity.

ParametersJSON Schema
NameRequiredDescriptionDefault
unitNo
layerNo
degreeNo
controlPointsYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and delivers almost none. It does not say what layer/unit defaults apply, whether a document must be open, what coordinate space is assumed, or what the call returns. 'Control-point' is the only construction detail disclosed.

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

Conciseness3/5

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

A single front-loaded sentence with no padding, which is structurally efficient. But at this length it is under-specified rather than concise for a tool with four parameters and no annotations.

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

Completeness2/5

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

No annotations, no output schema, and 0% schema description coverage leave the description as the sole source of context, and one sentence cannot cover it. An agent lacks defaults, return behavior, and coordinate assumptions needed to call this reliably.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate for four undocumented parameters, and it barely does. 'Control-point' loosely points at controlPoints, but unit, layer, and degree are never explained and the controlPoints format (min 2 points, x/y required) is left entirely to the schema.

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?

States a specific verb and resource ('Create a control-point spline entity'), and 'control-point' distinguishes it from a fit-point spline. However, it gives no differentiation from the many other create_* geometry siblings (create_polyline, create_arc, etc.), so an agent learns the type but not why to choose it.

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 guidance on when to use this vs alternatives such as create_polyline or create_arc, nor any prerequisites (e.g. an open drawing/project). The agent must infer usage entirely from the tool name.

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

create_tableC

Create a table annotation.

ParametersJSON Schema
NameRequiredDescriptionDefault
colsYes
rowsYes
styleNo
positionYes

TDQS

C2.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it says nothing about which document/layer the table is placed in, what units position uses, or what happens on the returned object. Only the bare mutation is implied by 'Create'.

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

Conciseness3/5

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

A single short sentence with no padding, so it is concise, but the brevity reflects under-specification rather than efficient information density. There is nothing to front-load because nothing meaningful is stated.

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

Completeness2/5

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

For a 4-parameter tool with a nested object, no annotations, and no output schema, the description is too thin. An agent cannot infer how to build the position object or what rows/cols mean without guesswork.

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

Parameters1/5

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

Schema description coverage is 0% across 4 parameters, including a nested position object with x/y, yet the description mentions none of rows, cols, style, or position semantics. It fails to compensate for the schema gap at all.

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

Purpose3/5

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

The description supplies a verb and resource ('Create a ... table annotation'), which is marginally more than the bare name. However, it is close to a tautology: 'annotation' adds little, and nothing distinguishes it from the many other create_* siblings such as create_box or add_text.

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 context, no prerequisites, and no mention of alternatives like set_table_cell for filling cells after creation. The only implied guidance is that it creates rather than edits, which is already obvious from the name.

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

create_torusC

Create a torus solid.

ParametersJSON Schema
NameRequiredDescriptionDefault
cxNo
cyNo
czNo
unitNo
layerNo
majorRadiusYes
minorRadiusYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden. It says the result is a solid, but does not disclose side effects, required coordinate system, layer behavior, units, or whether the entity is immediately added to the model.

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

Conciseness3/5

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

The description is a single front-loaded sentence with no wasted words. However, it is too terse to be considered appropriately sized for a 7-parameter solid creation tool.

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

Completeness1/5

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

Given no annotations, no output schema, 7 parameters, and 0% schema description coverage, the description is incomplete. It omits essential details about parameters, units, placement, and layer assignment needed to invoke the tool correctly.

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

Parameters1/5

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

Schema description coverage is 0% and the description adds no parameter meaning. It does not explain majorRadius, minorRadius, the optional center coordinates, unit, or layer, leaving all 7 parameters undocumented semantically.

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 states a specific verb and resource: "Create a torus solid." It clearly identifies the primitive being created, though it does not explicitly differentiate from siblings like create_sphere or create_cylinder beyond the tool name itself.

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?

The description provides no guidance on when to use this tool versus alternatives such as create_box, create_sphere, or create_cylinder. It simply states the operation without context, exclusions, or prerequisites.

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

create_viewportC

Create a viewport entity.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
view_typeYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations provided, so the description carries the full burden. It gives no disclosure of permissions, constraints, what a viewport entity is, or what happens on creation. One sentence restating the name does not meet the bar for a mutation tool with zero annotation coverage.

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

Conciseness3/5

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

A single short sentence – not wasteful, but also under-specified rather than concise. It is front-loaded trivially.

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

Completeness2/5

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

For a mutation tool with no annotations, no output schema, and 0% parameter documentation, the description is far too thin. It omits what an agent needs to call the tool correctly.

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

Parameters2/5

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

Schema description coverage is 0% for two required parameters ('name', 'view_type'). The description adds nothing about their formats, valid values (e.g. possible view_type values), or meaning, so it fails to compensate for the coverage gap.

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

Purpose3/5

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

States a specific verb+resource ('Create a viewport entity'), but the term 'viewport entity' is vague in a CAD context and the description does not differentiate this from the numerous sibling creation tools (create_box, create_group, create_assembly, etc.). An agent can know it creates something, but not distinctively what.

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?

No when-to-use guidance, no prerequisites, no mention of alternatives. Given the many sibling creation tools, the absence of any routing signal leaves the agent to guess.

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

define_attributeC

Define an attribute on a block definition.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYes
promptYes
block_nameYes
default_valueYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It implies a write operation on a block definition but says nothing about permissions, reversibility, side effects, or what happens if the block does not exist. This is minimal behavioral context.

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

Conciseness3/5

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

The description is a single front-loaded sentence with no wasted words, which is structurally clean. However, it is arguably too terse for a tool with four required parameters and no other documentation, so it is merely adequate rather than well-sized.

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

Completeness1/5

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

Given four required parameters with no schema descriptions, no annotations, and no output schema, the description is incomplete. It does not explain parameter meanings, behavioral details, or return information, leaving the agent with insufficient context to invoke the tool correctly.

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

Parameters1/5

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

The schema has 0% parameter description coverage, and the tool description does not mention any of the four required parameters (block_name, tag, prompt, default_value). The description therefore adds no meaning beyond the bare parameter names.

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 states a specific verb ('Define') and resource ('attribute on a block definition'), making the tool's purpose clear. However, it does not distinguish itself from sibling tools like edit_block, create_block, or add_text, which an agent might otherwise consider.

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 guidance on when to use this tool versus alternatives, no prerequisites, and no context about when it is appropriate. The description only states what it does, leaving usage entirely to inference.

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

delete_entityC

Remove an entity by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies deletion but does not disclose whether removal is permanent, whether it can be undone, whether it cascades to dependent entities, what permissions or confirmations are required, or what the call returns. For a destructive operation this is a significant gap.

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?

The single sentence is front-loaded with the action and resource and contains no filler. It is efficient, though for a destructive tool it is arguably undersized rather than optimally concise.

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?

The tool is structurally simple (one required string parameter, no output schema, no annotations), so the description covers the core invocation. However, it omits destructive semantics such as permanence and undo behavior, which an agent would benefit from knowing before calling.

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

Parameters2/5

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

Schema description coverage is 0% and the single required parameter entity_id is undocumented in the schema. The description adds only the phrase 'by id', which lightly signals that a string identifier is expected but gives no format, type, or example. This does not sufficiently compensate for the missing schema coverage.

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 states a specific verb (Remove) and resource (entity) and identifies the lookup key (by id). It is clear enough to distinguish from create_* and layer-related siblings, though it does not explicitly call out which entity types are affected or how it differs from other deletion tools like delete_layer.

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 guidance on when to use this tool, no prerequisites, no alternatives, and no conditions under which it should be avoided. The agent is left to infer usage entirely from the name.

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

delete_layerA

Delete a layer by name. Entities on that layer are reassigned to the default layer 0.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

A4.2/5.0
Behavior4/5

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

The description discloses a highly specific and important consequence: entities on the deleted layer are reassigned to the default layer 0 rather than being deleted. With no annotations provided, the description carries the full burden, and it partially does so by clarifying this destructive side effect – though it omits whether operations are reversible and if permissions are required.

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?

Two sentences plus a dependent clause, all earning their place with zero waste. The critical side effect is front-loaded immediately after the action.

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

Completeness4/5

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

The description is compact and complete for a single-parameter destructive tool. It covers the action, the identifier, and the major side effect on entities. It could have mentioned whether the deletion can be undone, but given the absence of an output schema and the minimal schema, it is largely sufficient.

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?

The description adds meaning by declaring that the 'name' parameter identifies the layer to be deleted, which is slightly more specific than the schema's bare 'type: string, minLength: 1' with 0% coverage. It does not need to describe other parameters since none exist. The baseline for zero params is 4, but here there is 1 param with no schema description, and the description provides enough context to call the tool correctly.

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?

The description states a specific verb (Delete) and resource (layer) with an exact scope qualifier ('by name'). Among many layer-related siblings (create_layer, rename_layer, set_layer_visible, remove_raster_layer), the destructive nature of this tool is made explicit and distinct.

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?

There is no explicit when-to-use guidance or mention of alternatives, but the destructive nature of the tool makes its purpose self-evident. The description implies context through its purpose but does not state when to prefer this over siblings like remove_raster_layer.

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

draft_angleC

Create a simplified drafted copy of a solid.

ParametersJSON Schema
NameRequiredDescriptionDefault
angleNo
guidesNo
radiusNo
path_idNo
distanceNo
edge_idsNo
face_idsNo
profilesNo
solid_idNo
directionNo
thicknessNo
open_facesNo
profile_idNo

TDQS

C2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies creation of a copy (a write operation) but does not describe side effects, permissions, whether the original solid is modified, or what 'simplified' means.

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

Conciseness2/5

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

The description is a single short sentence, but it is under-specified rather than appropriately concise for a 13-parameter geometric operation. It has no structural elaboration to help an agent invoke the tool correctly.

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

Completeness1/5

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

For a complex CAD tool with 13 undocumented parameters, no annotations, and no output schema, the description is far too thin. It lacks usage, behavioral, parameter, and return-value context.

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

Parameters1/5

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

There are 13 parameters with 0% schema description coverage. The description only indirectly references a solid and does not name or explain angle, radius, path_id, direction, thickness, or any other parameter, so it adds no parameter semantics.

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

Purpose3/5

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

States a specific verb ('Create') and resource ('simplified drafted copy of a solid'), but it is vague about what a 'drafted copy' actually is and does not differentiate from sibling solid-creation or modification tools like shell, offset, loft, or sweep.

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?

No when-to-use guidance, no alternatives, and no prerequisites are given. The agent must infer all routing and context from the tool name and siblings.

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

dwg_tools_statusA

Report whether LibreDWG's dwg2dxf / dxf2dwg binaries are available on PATH so import_dwg / export_dwg can actually convert. Returns the resolved binary paths when present.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose meaningful behavior: it inspects PATH and returns resolved binary paths when present. It implies a read-only diagnostic but never explicitly states it has no side effects or whether a missing binary is an error versus an empty result.

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?

A single front-loaded sentence with no waste; the core assertion comes first and the downstream consequence follows immediately.

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?

For a parameterless diagnostic with no output schema, the description covers what is checked, why it matters, and what is returned when successful. Nothing an agent needs in order to call it correctly is missing.

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?

Zero parameters, so there is nothing to document and no schema semantics to add to. Baseline of 4 applies.

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?

States a specific verb (Report whether) and resource (LibreDWG dwg2dxf/dxf2dwg binaries on PATH), and names the exact siblings it serves (import_dwg / export_dwg). An agent can distinguish it from the other status tools (geometry_backend_status, autocad_status) without opening the schema.

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

Usage Guidelines4/5

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

The phrase 'so import_dwg / export_dwg can actually convert' tells the agent the condition under which this check matters, effectively routing it before DWG import/export. It does not, however, explicitly say 'call this before import_dwg' or state when to skip it.

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

edit_blockC

Return a block definition for editing.

ParametersJSON Schema
NameRequiredDescriptionDefault
block_nameYes

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. 'Return a block definition' suggests a read operation, but 'for editing' creates ambiguity about whether it mutates state. It doesn't explain what the returned definition contains, whether editing occurs as a side effect, or any permissions/constraints—inadequate for a tool with a mutating-sounding name and zero structured behavioral cues.

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

Conciseness3/5

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

It's a single short sentence, which is concise, but the content is vague rather than front-loaded with useful detail. Brevity without information isn't efficient structure here.

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

Completeness2/5

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

No annotations, no output schema, and 0% schema description coverage mean the description must carry everything. It doesn't explain the return value, editing semantics, or how it relates to sibling block tools. For a tool with such a rich set of related siblings, this leaves the agent under-informed.

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

Parameters3/5

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

Only one parameter (block_name) with 0% schema description coverage. The description doesn't add meaning to block_name beyond what the name implies, but with a single required string parameter the baseline is 3 per the rule for low-coverage single-param cases.

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

Purpose2/5

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

The description restates the name in a tautological way: 'Return a block definition for editing' adds no specific verb+resource information beyond what 'edit_block' already implies. It doesn't clarify whether this retrieves data, prepares a block for editing, or performs the edit itself, and gives no differentiation from siblings like insert_block or explode_block.

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?

No guidance on when to use this tool versus alternatives. The phrase 'for editing' hints at a use case, but there's no statement about when this should be called nor what the alternative would be. With many sibling block-related tools, this is a notable gap.

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

explode_blockB

Explode an inserted block group back into loose entities.

ParametersJSON Schema
NameRequiredDescriptionDefault
instance_idYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It does disclose the core transformation: an inserted block group is converted into loose entities, which implies a mutating operation. However, it does not state whether the explosion is reversible, what happens to the original block definition or attributes, or whether specific permissions are required.

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 description is a single, front-loaded sentence with no wasted words. It immediately states the action and result, which is appropriate for such a simple tool.

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

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and 0% parameter description coverage, the description is incomplete. It covers the basic purpose but omits the required parameter's semantics, usage context, and behavioral side effects such as reversibility or impact on the block definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one parameter, instance_id, and schema description coverage is 0%, so the description should compensate by explaining the parameter's meaning. It refers to an "inserted block group" but never mentions instance_id or clarifies how to identify the target block instance.

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?

The description gives a specific verb ("Explode") and a specific resource ("an inserted block group"), and it states the result ("back into loose entities"). This clearly distinguishes it from block-creation tools like create_block/insert_block and group tools like ungroup.

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?

The description explains what the tool does but provides no guidance on when to use it versus alternatives such as edit_block, ungroup, or create_exploded_view. It also omits prerequisites, like whether the block instance must already be inserted.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_3mfC

Export entities to 3MF-like text.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
entity_idsNo

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden but discloses almost nothing. It does not say whether the export writes to a file on disk, returns a string, overwrites on conflict, or what happens when entity_ids is omitted (it is not required). 'Text' hints at output format but conflicts with the presence of a 'path' parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and wastes no words, but its brevity comes at the cost of under-specification rather than efficiency. It is concise without being informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterized export tool with no annotations, no output schema, no parameter descriptions, and ambiguous file-vs-text semantics, the description is far too thin. An agent cannot reliably determine how to invoke it or what side effects to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for two undocumented parameters, and it does not. 'Entities' loosely hints at entity_ids, but 'path' is never explained, and the fact that neither parameter is required is left entirely silent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a clear verb ('Export') and resource ('entities') plus a target format (3MF), which is enough to know roughly what it does. However, '3MF-like text' is hedged and ambiguous about whether a file is written or text is returned, and it does nothing to distinguish this from the many sibling exporters (export_step, export_stl, export_obj, export_iges, export_dwg).

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 guidance, no mention of prerequisites, and no differentiation from the large family of export_* siblings. The only signal is the implied format, so the agent must infer context entirely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_dwgA

Export the current 2D scene to DWG by writing a DXF and converting via LibreDWG's dxf2dwg. Returns base64 DWG bytes; pass path to also write to disk. Run dwg_tools_status to confirm dxf2dwg is installed.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
entity_idsNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden well: it discloses the DXF intermediate step, LibreDWG dependency, base64 return value, and optional disk write via `path`. It still omits overwrite behavior, error handling, and whether `entity_ids` narrows the export scope.

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 description is front-loaded: it leads with what the tool does, then return/disk behavior, then prerequisite. Every sentence adds useful information without repetition.

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?

It explains the return value and external dependency despite having no output schema, but it leaves `entity_ids` completely unexplained and says nothing about failure modes or how exporting a subset of entities affects the scene.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain both parameters. It clarifies `path` as an optional disk-write target, but `entity_ids` is never mentioned, leaving half the parameters undocumented.

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?

The description states a specific verb and resource: exporting the current 2D scene to DWG. It distinguishes itself from siblings by naming the DXF-to-DWG conversion pipeline via `dxf2dwg`, so an agent can separate it from `export_dxf` and other export tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear prerequisite: run `dwg_tools_status` to confirm `dxf2dwg` is installed. This is useful routing guidance, but it does not explicitly say when to choose `export_dwg` over `export_dxf` or other export formats.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_dxfB

Export 2D entities to DXF (internal mm). Optional entity_ids limits which entities are written.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idsNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full burden and mostly does not. It discloses the unit system (internal mm), which is genuinely useful, but says nothing about where the file is written, whether an existing file is overwritten, or what the call returns.

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?

Two compact sentences, no redundancy, and the core purpose plus unit convention are front-loaded ahead of the optional-parameter note. Nothing extraneous.

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 simple one-optional-parameter export with no output schema, the description covers purpose, units, and parameter scope. It still omits the output destination and return value, which an agent calling an export tool reasonably needs to know.

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?

Schema description coverage is 0% and the single parameter has no schema documentation, but the description compensates: it explains that entity_ids is optional and that supplying it restricts the export to those entities. That is the essential semantic meaning for this parameter.

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?

States a specific verb and resource (export 2D entities to DXF) and adds the unit convention, so the agent knows exactly what the tool emits. It does not differentiate itself from the many sibling exporters (export_dwg, export_step, export_svg), which would have been easy to do.

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 indication of when to choose DXF over the sibling export formats, nor any prerequisite or precondition. The sentence about entity_ids is scope, not usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_geojsonB

Export 2D entities to a GeoJSON FeatureCollection while preserving layer and properties metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
entity_idsNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, and it does disclose two meaningful behaviors: only 2D entities are exported, and layer plus properties metadata is preserved in the output. However, it says nothing about where the file is written, whether an existing file at 'path' is overwritten, or what happens to 3D entities in the selection.

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?

A single front-loaded sentence with the action, scope, output format, and metadata guarantee packed in with zero filler. Nothing needs trimming and the key information leads.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations, no output schema, zero parameter documentation, and two optional parameters whose omission behavior is unspecified, the description is too thin. It never clarifies what a call without 'path' or 'entity_ids' does, nor how filtering and file output interact.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for both parameters, so the description must compensate and largely does not: 'path' (output destination) and 'entity_ids' (which entities to export) are never explained or even referenced. The only oblique hint is the '2D entities' scope wording, which loosely maps to the entity selection.

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?

States a specific verb (Export), resource (2D entities), and output format (GeoJSON FeatureCollection), which differentiates it from the many other export_* siblings such as export_step, export_svg, and export_shapefile. It stops short of explicitly naming the nearest alternative (export_shapefile) for the same geospatial domain.

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?

The phrase '2D entities' implies a scope constraint, but there is no explicit when-to-use guidance, no statement of when to prefer this over export_shapefile or export_dxf, and no prerequisite information (e.g. CRS setup). The agent must infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_gltfC

Export entities to GLTF-like text.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
entity_idsNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not disclose that this is a write operation to a file path, whether an existing file is overwritten, whether it fails when entity_ids is omitted, or any output/return behavior. Only the terse 'GLTF-like text' hints at the result format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short, front-loaded sentence with no filler, which is structurally clean. However the brevity here reflects under-specification rather than efficient concision, since essential information is simply absent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an export tool with zero annotation coverage, no output schema, and 0% parameter documentation, the description is far too thin. The agent has no information about where output goes, what gets exported by default, or how this differs from the adjacent export_* tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and neither parameter is named or explained. The word 'entities' loosely implies entity_ids, but 'path' (the file destination) and the optionality of both parameters are not addressed anywhere in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (export) and target format (GLTF), so the agent knows the general operation. But 'GLTF-like text' is vague and it gives no differentiation from the many sibling exporters (export_obj, export_stl, export_3mf, export_step, export_dwg). An agent cannot tell from the text why it would pick GLTF over another export format.

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 guidance, no mention of alternatives among the large set of sibling exporters, and no prerequisites (e.g., whether entities must exist or a path must be writable). The agent is left to infer everything about selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_igesC

Export entities to IGES-like text.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
entity_idsNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full behavioral burden, and it discloses almost nothing: it does not say whether output is written to the path or returned as a string, what happens when entity_ids is omitted (export everything vs. nothing), whether existing files are overwritten, or what format/permissions the path requires. "IGES-like text" is the only behavioral hint, and it is ambiguous rather than clarifying.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single front-loaded sentence with no filler, which is structurally sound, but the brevity reflects under-specification rather than economy of expression. Nothing is wasted, yet too little is said for a tool with two undocumented parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and 0% schema description coverage, the description is the only source of information and is far too thin for a two-parameter export tool. An agent cannot confidently determine output destination, default selection scope, or failure modes from what is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters (path, entity_ids) have 0% schema description coverage, so the description must compensate and does not. "Export entities" weakly implies entity_ids selects which entities, but the meaning, default behavior, and requiredness of path and entity_ids are left entirely to inference.

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 pairs a specific verb ("Export") with a specific resource ("entities") and names the target format (IGES), so an agent can tell it apart from export_step or export_stl by format. It stops short of a 5 because "IGES-like text" hedges on the actual output artifact and the description never contrasts itself with the many sibling exporters.

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 guidance, no stated prerequisites, and no mention of when to prefer IGES over the numerous alternate export formats (STEP, STL, OBJ, SVG, GLTF, 3MF, DWG) in the sibling list. Usage is only inferable from the format name itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_objC

Export entities to OBJ-like text.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
entity_idsNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden but discloses almost nothing. It says 'to OBJ-like text' while the schema has a 'path' parameter, leaving ambiguous whether it writes a file, returns a string, or both. Permissions, failure modes, and side effects are unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no padding, which is efficient. However the brevity crosses into under-specification rather than true conciseness, since essential detail is simply absent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an export tool with no annotations, no output schema, and 0% parameter coverage, the description is too thin. It leaves the format semantics, destination behavior, and parameter meanings unresolved for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for both parameters and the description compensates for neither. It never explains what 'path' means (file vs directory) or what 'entity_ids' accepts, and with zero required parameters it doesn't clarify the default scope.

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?

States a specific verb (export) and resource (entities to OBJ format), and the format name distinguishes it from siblings like export_step and export_stl. The qualifier 'OBJ-like' is slightly imprecise, but an agent can still tell it apart from other export tools.

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 guidance and no mention of alternatives among the many export siblings (export_step, export_iges, export_stl, export_gltf). The agent is left to infer that this is for OBJ output purely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_shapefileB

Export 2D entities as a zipped ESRI Shapefile package and optionally write it to disk.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
entity_idsNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose two useful traits: the output is packaged as a zip and the disk write is optional. It stops short of explaining what happens when 'path' is omitted (in-memory result?), what permissions are needed, or how the 2D-only restriction affects 3D entities.

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?

A single front-loaded sentence with no filler. The verb, scope, and format come first, and the optional behavior is tacked on last, which is the right ordering.

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?

No annotations, no output schema, and 0% parameter coverage mean the description must do more work than it does. It adequately conveys the output packaging, but an agent still lacks guidance on parameter usage, undefined-path behavior, and the choice among sibling export formats.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% for both parameters, so the description is the only clue: 'optionally write it to disk' implies 'path' is the optional disk target. It says nothing about what 'entity_ids' accepts or what happens if it is empty/omitted, so it only partially compensates for the coverage gap.

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?

States a specific verb ('Export'), resource ('2D entities'), and output format ('zipped ESRI Shapefile package'), so the agent knows exactly what the tool produces. It does not, however, distinguish itself from the many other export_* siblings (export_geojson, export_dwg, export_dxf), leaving the format choice to the agent's domain knowledge.

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?

The phrase 'optionally write it to disk' hints at two operating modes but never says when to use one over the other, nor when this tool should be preferred over the sibling exporters (e.g., export_geojson) or paired with import_shapefile. No context, prerequisites, or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_stepC

Export entities to STEP-like text.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
entity_idsNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full behavioral load. It conveys only that an export produces 'STEP-like text' but says nothing about file writing, path handling, side effects, permissions, overwrite behavior, or whether the output is returned or saved.

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?

The description is a single, front-loaded sentence with no padding. It is concise, though its extreme brevity contributes to ambiguity rather than clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, 0% schema description coverage, and two undocumented parameters, the description is insufficient for correct invocation. It identifies the operation and format but omits essential details about behavior, parameters, and results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for both parameters, and the description does not compensate. 'Entities' loosely hints at entity_ids, but the path parameter is unmentioned, and no details clarify what the parameters mean or how they should be supplied.

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 states a specific verb ('Export'), resource ('entities'), and target format ('STEP-like text'), which distinguishes it from sibling export tools like export_iges and export_stl. It is clear enough to select in context, though 'STEP-like' and 'entities' are somewhat vague.

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?

The description gives no guidance on when to use this tool versus alternatives such as import_step, export_iges, export_stl, or export_dwg. The format name provides implicit context, but there are no conditions, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_stlC

Export entities to STL-like text.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
entity_idsNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It indicates an export to text, but does not explain whether it writes a file, overwrites existing files, requires permissions, or what happens if parameters are omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no wasted words. However, it is arguably too sparse for a tool with undocumented parameters and many sibling export formats, and 'STL-like text' is imprecise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The definition lacks annotations, an output schema, and parameter descriptions. For an export tool with two parameters and no structured documentation, the description does not provide enough context to invoke it correctly or understand its side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not clarify the meaning of the two parameters. It vaguely references 'entities' but says nothing about 'path' or how entity_ids are interpreted.

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 states a clear verb and resource: export entities to STL-like text. It does not distinguish this tool from sibling export formats such as export_obj or export_3mf, but the core action is understandable.

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?

No guidance is given about when to use this tool versus other export tools. The only implied usage comes from the tool name and the word 'STL', with no explicit context or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_svgD

Export entities to SVG-like text.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
entity_idsNo

TDQS

D1.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden and fails: it never says whether output goes to the 'path' on disk or is returned inline, whether it is read-only, whether it overwrites an existing file, or what 'SVG-like' means versus real SVG. Nothing beyond a restated purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence with no filler, but it is terse to the point of being under-specified rather than genuinely efficient. There is no sentence to cut because there is essentially no content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter export tool with no annotations, no output schema, and no parameter documentation, the description supplies almost nothing an agent needs: not the output destination, not the default entity set, not the relationship to the sibling SVG generators and exporters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for both parameters, and the description explains neither. The meaning of 'path' (output file? directory?) and whether 'entity_ids' is optional (which entities are exported by default when omitted) are left entirely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

It states a verb ('Export') and a resource ('entities') plus a target format, but 'SVG-like text' is ambiguous and there is no differentiation from the many sibling exporters (export_dxf, export_step, generate_svg, batch_generate_svg, render_preview_svg). An agent cannot tell from this text whether it writes a file or returns a string.

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?

No guidance on when to choose this over generate_svg, batch_generate_svg, render_preview_svg, or the other export_* siblings. No preconditions, no mention of which entities are eligible.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extendC

Extend a line-like entity by 20 percent.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idYes
boundary_entitiesNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the mutation (extend by 20 percent) but says nothing about which end extends, whether it is reversible/undoable, what boundary_entities constrain, or error behavior on non-line entities.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with nothing wasted and the action front-loaded, but it is under-specified relative to the tool's complexity rather than genuinely well-proportioned.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A geometry mutation tool with no annotations, no output schema, and undocumented parameters needs more than a magnitude statement. The agent lacks what it needs to call this correctly on edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it explains neither entity_id (only implied as 'line-like entity') nor the optional boundary_entities, which is completely unaddressed despite likely controlling extension limits.

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?

States a specific verb (extend) and a specific resource class (line-like entity) with a concrete magnitude of 20 percent. It is clearly distinct from offset/trim in intent, though it doesn't name siblings explicitly.

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?

No guidance on when to use this versus offset, trim, or fillet_2d, and no preconditions. The agent must infer that this only applies to open line-like geometry.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fillet_2dC

Create a simple arc fillet between two lines using their intersection midpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
unitNo
radiusYes
line_id_aYes
line_id_bYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, but it omits key questions: whether the two lines are trimmed to the new arc, what happens when the radius does not fit at the intersection, and what the tool returns. The midpoint-placement note is the only behavioral detail offered.

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?

A single front-loaded sentence with no filler; the core operation is stated immediately. It is efficient, though extremely terse for a 4-parameter geometry operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter mutation with no annotations, no output schema, and 0% schema coverage, the description is too thin. It should at minimum clarify units, ID format, and the effect on the source lines.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 4 parameters, so the description must compensate. It loosely maps to radius and the two lines but says nothing about the unit parameter or the expected format of the line IDs, leaving a required enum and two ID fields undocumented.

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 gives a specific verb+resource ("Create a simple arc fillet between two lines") and adds the placement mechanism ("using their intersection midpoint"). An agent can distinguish this from fillet_3d and chamfer_2d, though the description never names those alternatives.

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?

No when-to-use guidance and no routing to alternatives such as chamfer_2d or fillet_3d, despite these being adjacent siblings. The reader is left to infer that this is the 2D/line-based variant.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fillet_3dC

Create a simplified filleted copy of a solid.

ParametersJSON Schema
NameRequiredDescriptionDefault
angleNo
guidesNo
radiusNo
path_idNo
distanceNo
edge_idsNo
face_idsNo
profilesNo
solid_idNo
directionNo
thicknessNo
open_facesNo
profile_idNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry full behavioral burden. It hints at creating a copy (non-destructive), but doesn't disclose what 'simplified' means, whether the original solid is modified, required input combinations, or output format. This is a significant gap for a 13-parameter mutation tool.

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?

The description is a single, front-loaded sentence with no waste, but it is overly terse and misses opportunities to clarify key usage details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 undocumented parameters, no annotations, and no output schema, the description is completely inadequate for an agent to invoke the tool correctly or understand its behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, meaning none of the 13 parameters are documented. The description provides no information about what parameters are needed or how they interact (e.g., which of solid_id, edge_ids, face_ids are required, or how radius/angle/distance apply).

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 states a specific verb ('Create') and resource ('simplified filleted copy of a solid'), which distinguishes it from siblings like create_box or create_sphere. 'Simplified' likely refers to fillet approximation, but the description doesn't explain this nuance or differentiate from chamfer_3d or shell.

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 guidance on when to use this tool versus alternatives like chamfer_3d or shell, nor any preconditions such as needing an existing solid or selecting appropriate edges/faces.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_entities_by_layerC

Return entities assigned to a specific layer name.

ParametersJSON Schema
NameRequiredDescriptionDefault
layer_nameYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It states only that entities are returned, without disclosing read-only safety, behavior for a nonexistent layer, empty-result handling, or any return-format details.

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 definition is a single front-loaded sentence with no wasted words. It is appropriately sized for the tool's simple purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but no output schema exists and the description does not explain what a returned entity looks like or how layer-name matching works. For an agent calling this tool correctly, the description leaves meaningful behavioral and output interpretation gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single required parameter. The description says 'specific layer name,' which restates the parameter name but adds no detail about matching semantics, case sensitivity, or format, so it does not compensate for the missing schema documentation.

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 states a clear verb ('Return') and resource ('entities assigned to a specific layer name'), immediately distinguishing the filter dimension from generic listing. However, it does not explicitly differentiate itself from siblings such as find_entities_by_property or find_entities_in_region.

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?

No when-to-use guidance is given. The description offers no context for choosing this tool over list_entities, find_entities_by_property, or find_entities_in_region, and it does not mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_entities_by_propertyC

Find entities by direct field or property-bag value using exact matching.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueNo
propertyYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It does disclose one useful trait — matching is exact, not fuzzy or substring — but says nothing about case sensitivity, scope (all entities vs. current document), pagination, or result shape for what is clearly a query operation.

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?

A single tight sentence with the mechanism front-loaded after the core action. No filler, no restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter lookup with no annotations, no output schema, and zero schema description coverage, the description leaves important gaps: which entity types are searched, the search scope, and what is returned. It is usable but under-specified for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It does add genuine meaning by clarifying that 'property' can be either a direct entity field or a property-bag key, and that 'value' is matched exactly. However, it never explains valid field names, the value's expected type (the schema leaves 'value' untyped), or key syntax.

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?

Clear verb+resource (find entities) with the distinguishing mechanism spelled out: 'direct field or property-bag value using exact matching.' An agent can tell it apart from find_entities_by_layer by the lookup key, though the description never explicitly names the sibling tools it competes with.

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?

No when-to-use guidance, no prerequisites, and no mention of siblings like find_entities_by_layer, find_entities_in_region, or list_entities. Usage is only implied by the verb, leaving the agent to infer when this lookup is preferable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_entities_in_regionC

Find entities whose bounding boxes intersect the given region.

ParametersJSON Schema
NameRequiredDescriptionDefault
x1Yes
x2Yes
y1Yes
y2Yes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. 'Find' suggests a read-only lookup, but the description does not disclose the return format, whether the search is limited to a coordinate space or model, how bounding boxes are computed, or any performance or scope characteristics.

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?

A single front-loaded sentence with no wasted words. It states the action and the selection rule directly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a spatial query tool with four undocumented numeric parameters, no annotations, and no output schema, the description is too thin. It omits coordinate semantics, return shape, and scope of the search, which an agent needs to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain the four numeric parameters. It alludes to a 'region' but does not specify that x1/y1 and x2/y2 are corner coordinates, their order, whether they are min/max, units, or coordinate system, leaving the parameters largely ambiguous.

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 states a specific verb ('Find') and resource ('entities'), plus the precise selection criterion ('bounding boxes intersect the given region'). It implicitly distinguishes itself from sibling lookups like find_entities_by_layer or find_entities_by_property, though it does not name those alternatives explicitly.

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?

The description offers no guidance on when to use this spatial query versus other entity-listing tools, no prerequisites, and no exclusions. The only implied context is that the caller already has a region, which is minimal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_pdfC

Generate a minimal PDF summary for a drawing.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
scaleNo
drawing_idYes
paper_sizeYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full behavioral burden. It signals that a PDF file will be generated but omits whether it overwrites an existing file, where the output is written, what permissions are needed, and what the return value is.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and free of fluff, but its extreme brevity reflects under-specification rather than carefully structured conciseness. It is minimally viable as a sentence but lacks useful structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and 0% parameter description coverage, the description must be self-sufficient. One vague sentence is not enough for a file-generating tool with four parameters and two required inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are 4 parameters with 0% schema description coverage, and the description mentions none of them. It does not explain drawing_id, paper_size, path, or scale, so it adds no parameter semantics beyond the schema.

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?

States a specific verb 'Generate' and resource 'PDF summary for a drawing', which is more informative than the tool name alone. However, it does not distinguish itself from sibling tools such as generate_svg or batch_generate_pdf, so it falls short of a 5.

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?

The description gives no when-to-use guidance, no alternatives, and no prerequisites such as whether the drawing must exist or whether paper_size requires a specific format. It only implies a drawing context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_svgC

Generate SVG for selected entities or the full scene.

ParametersJSON Schema
NameRequiredDescriptionDefault
viewportNo
entity_idsNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It never says whether the SVG is returned inline, written to a file path, or how the result is delivered, nor does it mention any permissions or side effects — a key unknown for a generation/export tool.

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?

A single, front-loaded sentence with no waste. It is efficient, though its brevity is partly achieved by omitting needed detail rather than by tight writing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and 0% schema description coverage on a 2-parameter tool, the description should carry far more weight. It omits return/delivery format, parameter meaning, and relationship to sibling export tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and neither parameter is described. The phrase 'selected entities' loosely maps to entity_ids, but the viewport parameter is never explained, and the interaction between the two (e.g., whether entity_ids overrides viewport) is left entirely to inference.

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?

States a specific verb and output ('Generate SVG') plus the scope of what is rendered ('selected entities or the full scene'). It does not explicitly differentiate itself from close siblings like export_svg, render_preview_svg, or batch_generate_svg, so it falls short of a 5.

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?

No when-to-use guidance is given. With siblings such as export_svg, render_preview_svg, batch_generate_svg, and export_pdf in the list, the agent gets no signal about which of these to pick or under what conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

geometry_backend_statusA

Report the current 3D geometry backend. Returns one of: { backend: "occt", available: true, version? } when OpenCascade.js is loaded, { backend: "occt-error", available: false, reason } when load failed, or { backend: "mock", available: false, reason } when running with the lightweight fallback. Use this to verify whether STEP/STL/IGES/GLTF tools are running on real OCCT or on stubbed geometry.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden, and it does well: it discloses the three possible states (occt/occt-error/mock), that availability can be false, and that a 'reason' field accompanies failures. It does not explicitly state read-only/no-side-effect, but the diagnostic framing makes it clear.

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?

Front-loaded with purpose, then the three enumerated return shapes, then the use case. Dense but every clause maps to distinct behavior; the return-shape list is justified since no output schema exists, though it is a single long sentence.

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?

With no output schema, the description fully compensates by enumerating all three return shapes and their fields (backend, available, version, reason), which is exactly what an agent needs to interpret the result. Nothing material is missing.

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?

The tool takes zero parameters, so the baseline is 4. There is nothing for the description to add or clarify beyond an empty schema.

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?

States a specific verb (Report) and resource (current 3D geometry backend), and it is clearly distinguishable from the geometry-creation/import siblings. An agent can tell immediately this is a diagnostic probe, not a modeling operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly gives the when: 'Use this to verify whether STEP/STL/IGES/GLTF tools are running on real OCCT or on stubbed geometry.' It names the downstream tools it informs but offers no explicit when-not or alternatives (e.g., dwg_tools_status is a sibling status tool it doesn't distinguish itself from).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_bounding_boxC

Compute a bounding box for all entities or a selected subset.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idsNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not disclose whether this is read-only, whether it requires a loaded document, what is returned (a point pair, coordinates?), or whether the result is stored anywhere. Significant behavioral gaps remain.

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?

Single efficient sentence with the scope front-loaded. No waste, though it is arguably under-specified rather than concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No annotations, no output schema, and 0% parameter coverage. For a measurement tool, the description should at least indicate the return form and whether it is a safe read. It leaves too much for the agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description only obliquely references the entity_ids parameter via 'or a selected subset'. It does not clarify that omitting the parameter computes over all entities or the expected ID format.

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?

States a specific verb (Compute) and resource (bounding box) with scope (all entities or a selected subset). It is distinguishable from the many create_* siblings, though it overlaps somewhat with measure_bounding_box, which is not differentiated.

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?

No guidance on when to use this versus measure_bounding_box, nor any context about the result. 'All entities or a selected subset' implies the parameter's effect but gives no when/when-not.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_curve_lengthC

Measure length or perimeter for a 2D entity in internal millimetres.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full behavioral burden. It discloses the unit (internal millimetres), which is valuable, but omits whether this is a read-only query, what happens for non-2D entities, and what the return value looks like.

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?

A single front-loaded sentence with no filler; the unit constraint is placed at the end efficiently. It is appropriately sized for a trivial one-parameter tool, though extremely terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a measurement tool with no annotations and no output schema, the description is thin: it does not state the return type/format or how it relates to the near-identical measure_perimeter sibling. An agent lacks enough to confidently call it over alternatives.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single entity_id parameter is undocumented in both schema and description. The phrase 'a 2D entity' only hints at what entity_id must reference, adding marginal meaning without explaining accepted identifiers or format.

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 states a specific verb (measure) and resource (length/perimeter of a 2D entity), clearly conveying the operation. However, it does not differentiate from the sibling measure_perimeter, which sounds nearly identical, leaving ambiguity about which tool to pick.

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?

No guidance on when to use this versus measure_perimeter, measure_distance, or measure_area. The only implied scoping is '2D entity', which is minimal and not framed as a when/when-not condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_edge_listC

Return simplified edge ids for a solid.

ParametersJSON Schema
NameRequiredDescriptionDefault
solid_idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, yet it discloses almost nothing beyond the name. It doesn't explain what 'simplified' means, whether the ids are stable or session-scoped, or the shape of the returned data, which matters for a query tool in a CAD topology family.

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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though so terse that the brevity edges toward under-specification rather than crisp conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and an undocumented parameter, an agent has no information about return format, id semantics, or failure modes. Given the complexity of the surrounding topology/geometry toolset, the definition is too thin to call the tool reliably.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and there is one required parameter, solid_id, with no type details or accepted identifier format (handle, name, GUID?) anywhere. The description only obliquely implies solid_id refers to a solid, adding essentially no meaning over the raw schema.

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?

States a specific verb ('Return') and resource ('edge ids') scoped to a solid, so an agent can distinguish it from the neighboring get_face_list and get_vertex_list by entity type. The qualifier 'simplified' is unexplained, which slightly muddies the promise, but the core purpose 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?

No guidance on when to prefer this over get_topology, get_face_list, or get_vertex_list, and no prerequisites (e.g., the solid must exist or be loaded). The agent must infer usage purely from the tool name and the sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_entity_propertiesC

Return one entity record by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. 'Return' implies a read operation, but it does not state what happens when the id is missing, whether permissions are required, or any other behavioral detail beyond the bare operation.

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 description is a single, front-loaded sentence with no wasted words. Its brevity is appropriate for a simple getter, even though it leaves other dimensions under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no annotations and no output schema, so the description should provide more context about return records, errors, or id sourcing. It is too sparse to fully prepare an agent to invoke the tool correctly in the broader CAD/project sibling set.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the only parameter is entity_id. The description adds only 'by id,' which restates the parameter name without giving format, source, or validity constraints. It does not compensate for the missing schema-level documentation.

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 states a clear verb-resource pair: return one entity record identified by id. It is distinguishable from broad list/search siblings, but it does not explicitly contrast with close alternatives such as list_entities, get_entity_type, or find_entities_by_property.

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 guidance on when to use this tool versus siblings. The agent can infer it is a single-entity lookup, but the description provides no context, prerequisites, or alternative-selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_entity_typeC

Get the entity type string for a specific entity id.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not say whether the entity must exist, what happens for an unknown id, whether the call is read-only, or what form the 'type string' takes. For a lookup tool with zero annotation coverage this is a real gap, though the operation is inherently simple.

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?

One short sentence, front-loaded with verb and resource and free of padding. Efficient, though it is sparse enough that it borders on under-specification rather than true conciseness.

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?

There is no output schema, and the description does address the return value ('entity type string'), which covers the single most important missing piece. However, error behavior for invalid ids and the expected id format remain undocumented for a tool whose schema and annotations are both bare.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and there is one parameter. The description at least conveys that entity_id identifies a specific entity, which the bare schema does not, but adds no format guidance (id string shape, where ids come from).

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?

States a specific verb and resource: 'Get the entity type string for a specific entity id.' An agent knows exactly what is returned, though it does not distinguish this from the many other entity-introspection siblings such as get_entity_properties or get_topology.

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?

No when-to-use guidance and no mention of alternatives. With ~15 sibling tools operating on entity metadata, the description gives no signal about when this narrow 'type string' lookup is preferred over get_entity_properties.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_face_listC

Return simplified face ids for a solid.

ParametersJSON Schema
NameRequiredDescriptionDefault
solid_idYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: not whether the solid must pre-exist, whether the ids are stable across edits, what 'simplified' means, or the return shape. Read-only nature is only implied by the verb 'return'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the key constraint front-loaded and no wasted words, which is good structure. The terseness tips into under-specification for a tool with no other documentation surface to lean on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no annotations, and 0% parameter coverage, the description needed to explain the return value (what a face id actually is) and the solid_id format. It delivers only a bare one-line purpose, leaving the agent unable to predict the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the single required solid_id parameter has no documented semantics anywhere. The description only implies it identifies a solid and says nothing about accepted format (handle, GUID, name) or error behavior for invalid ids.

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?

States a specific verb (return) and resource (face ids) scoped to a solid, so an agent knows the output is a face identifier list rather than geometry. However, it does not differentiate itself from siblings like get_face_normal, get_topology, or get_edge_list, and the qualifier 'simplified' is left unexplained.

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 guidance, no exclusions, and no pointer to an alternative such as get_topology or get_vertex_list. The agent must infer that this is the lighter-weight option for face enumeration from context alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_face_normalC

Return a simplified face normal for an axis-aligned face id.

ParametersJSON Schema
NameRequiredDescriptionDefault
face_idYes
solid_idYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It implies a read-only operation and hints that the result is snapped/simplified to axis directions, but it never states the return format, whether a normal is returned as a vector or enum, or what happens for non-axis-aligned or curved faces.

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?

A single short sentence with no wasted words, front-loading the action. It is efficient, though the terseness contributes to the under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description should explain the returned value, but it does not. Combined with 0% parameter coverage and no annotations, an agent lacks enough information to call this tool confidently for anything beyond the most obvious case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for both solid_id and face_id, so the description had room to compensate but does not. It only loosely implies face_id refers to an axis-aligned face; the meaning and accepted format of solid_id are entirely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb (Return) and resource (simplified face normal), but it does not differentiate itself from nearby siblings like get_face_list, get_topology, or get_entity_properties. The qualifiers 'simplified' and 'axis-aligned' hint at a specific behavior without defining it, leaving the agent to guess what 'simplified' means.

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 indication of when to call this tool versus alternatives such as get_face_list or get_topology, and no prerequisites (e.g., whether the face must be planar or axis-aligned) are given. The agent must infer usage entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_layer_listC

Alias for listing all layers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden and delivers almost nothing. It implies a read, but does not state read-only safety, scope (current drawing vs. all documents), ordering, or what the return looks like.

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?

A single six-word sentence with no filler, front-loading the fact that it is an alias. It is efficient, though its brevity is partly under-specification rather than disciplined conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 0-param, no-annotation, no-output-schema tool whose entire value is being an alias, the description should say what it aliases and when to prefer it. As written, it does not resolve the ambiguity created by the two overlapping layer-listing siblings.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies for a parameterless tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Listing all layers" gives a clear verb and resource, but the operative word is "Alias" – it never names the sibling it aliases. With both list_layers and autocad_list_layers present, an agent cannot tell which canonical tool this duplicates or how it differs.

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?

No when-to-use statement and no alternatives named. The description never explains when an agent should pick this alias over list_layers or autocad_list_layers, leaving the choice purely to guesswork.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mass_propertiesC

Return mass properties based on simplified volume and material density.

ParametersJSON Schema
NameRequiredDescriptionDefault
solid_idYes

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations, so the description carries the burden. It discloses a meaningful behavioral model: output is based on a simplified volume and material density, implying approximation rather than exact measurement. It doesn't state read-only nature, units, or that the solid must exist/have material assigned.

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?

Single efficient sentence, front-loaded with the verb and result. No filler, though it is short enough that it could carry more without bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A measurement/computation tool with no annotations, no output schema, and undocumented parameters. The description does not cover return structure, units, material prerequisite, or the simplified-volume caveat's implications, leaving real gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

One parameter (solid_id) with 0% schema description coverage. The description implies the input is a solid but doesn't document solid_id's format or source. With only 1 param and no enum/nesting, baseline 3 with modest gap is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb (return) and resource (mass properties) tied to a solid via simplified volume and material density. However, it does not distinguish itself from close siblings like measure_volume, measure_centroid, or measure_moment_of_inertia, which an agent could confuse with this.

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?

No when-to-use guidance. Given the dense cluster of measurement siblings (measure_volume, measure_moment_of_inertia, measure_centroid), the description should route the agent, but it offers no conditions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_parameterC

Get a parameter by name.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full behavioral disclosure. 'Get' implies a read, but the description says nothing about permissions, error behavior, return format, or side effects, leaving significant gaps for a retrieval tool.

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?

A single front-loaded sentence with no wasted words. It is efficient, though perhaps excessively terse for a tool whose parameter semantics and return behavior are otherwise undocumented.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and no parameter descriptions, the description does not explain what a parameter is, what the return value looks like, or how errors are handled. An agent lacks enough context to invoke it confidently beyond guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single 'name' parameter. 'By name' only restates the schema property without clarifying matching rules, case sensitivity, or expected format, adding minimal semantic value.

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?

States a specific verb ('Get') and resource ('parameter') and scope ('by name'), making it clear it retrieves a single parameter rather than listing them. However, it does not explicitly differentiate itself from siblings like list_parameters, set_parameter, or update_parameter.

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?

Provides no guidance on when to use this tool versus alternatives such as list_parameters or get_entity_properties. There are no prerequisites, exclusions, or conditions mentioned, leaving usage entirely implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_project_crsB

Return current project georeferencing metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It implies a read-only getter but says nothing about what is returned, whether a project must be open, or what happens if no CRS is set. For a metadata getter with zero annotation coverage, this is thin.

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?

A single short sentence with the resource front-loaded and no filler. Nothing can be trimmed without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should describe the shape of the returned georeferencing metadata and any preconditions. As written, an agent cannot anticipate the keys or units it will receive.

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?

The tool takes zero parameters, so there is no parameter semantics to document; the baseline of 4 applies. The description does not need to explain inputs.

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?

States a specific verb (Return) and resource (current project georeferencing metadata), which is enough to distinguish it from write-oriented CRS tools like set_project_crs. However, it does not name or differentiate itself from near siblings such as get_project_info or list_known_crs, leaving overlap to inference.

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 guidance on when to use this versus alternatives such as get_project_info or list_known_crs, nor any stated preconditions (e.g., that a project must be loaded). Usage must be inferred entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_project_infoB

Return current project metadata and scene counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. 'Return' implies a read with no side effects, but it does not state whether a project must be open, whether anything is mutated, or how costly the call is. It discloses only the rough content of the response.

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?

A single front-loaded sentence with no filler. For a zero-argument getter, this is appropriately sized and every word carries information.

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?

With no output schema, no annotations, and no parameters, the description is the only source of context, and 'project metadata' remains vague about which fields are returned. It is minimally adequate for a simple getter but does not compensate for the absent structured data.

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?

The tool takes zero parameters, which is the baseline-4 case: there are no argument semantics to explain. The description adds nothing beyond the empty schema, but nothing is missing either.

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?

States a specific verb (return) and resource (current project metadata plus scene counts), so the agent knows exactly what this tool fetches. It does not distinguish itself from related getters such as get_project_crs or get_mass_properties, so it stops short of a 5.

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 guidance, no stated preconditions (e.g. a project must be loaded), and no mention of alternatives. The agent must infer applicability purely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_raster_layerB

Return one raster layer record by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full behavioral burden. It only implies a read operation via 'Return' but does not describe error behavior, permissions, or what happens if the id is missing; the description adds minimal behavioral context.

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 description is a single front-loaded sentence with no wasted words. It is appropriately sized for a simple retrieval tool.

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 low-complexity read-by-id tool with no output schema, the description is minimally sufficient to call the tool. However, it omits what fields a raster layer record contains and does not explain the missing-id case, leaving some gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for one undocumented parameter. Saying 'by id' clarifies that the id parameter is the lookup key selecting a specific raster layer record, but it does not specify format or constraints beyond the schema's minLength.

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 states a specific verb and resource: return a single raster layer record identified by id. It is clear what the tool does, though it does not explicitly differentiate itself from sibling tools like list_raster_layers or render_raster_layer_png.

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?

The description implies usage when an id is known, but it offers no explicit guidance on when to use this tool versus list_raster_layers or other raster layer operations. There are no stated prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_topologyC

Return simplified brep-like topology for a solid.

ParametersJSON Schema
NameRequiredDescriptionDefault
solid_idYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description must carry the full behavioral burden. It implies a read operation and mentions 'simplified' topology, but it does not state permissions, side effects, output characteristics, or error behavior.

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?

The description is a single front-loaded sentence with no wasted words. However, it is arguably too terse for a tool whose behavior and output are otherwise undocumented.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and 0% parameter description coverage, the definition should explain much more about what 'simplified brep-like topology' returns and how to use solid_id. The one-sentence description leaves critical gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one required parameter with 0% description coverage, so the description must compensate. It says only 'for a solid,' which does not add format, source, or expected value information beyond the schema's solid_id field name.

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 states a specific verb and resource: 'Return simplified brep-like topology for a solid.' That is enough to understand the general operation, but it does not distinguish this tool from sibling topology getters such as get_face_list, get_edge_list, or get_vertex_list.

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?

No when-to-use guidance, prerequisites, or alternatives are provided. The description does not explain when an agent should choose this tool over the many related topology and geometry inspection tools available.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_vertex_listC

Return solid bbox corner vertices.

ParametersJSON Schema
NameRequiredDescriptionDefault
solid_idYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden, yet it discloses almost nothing: not the number of vertices returned, their coordinate system, ordering, or what happens if solid_id is invalid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler, but it is arguably too terse given the ambiguity of 'bbox corner vertices'. Every word earns its place, yet more structure was needed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and an undocumented parameter, the definition is incomplete for a data-returning tool. The return format is the most important thing an agent needs here and it is entirely absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and there is one required parameter, solid_id. The description implies it identifies a solid but gives no format guidance (name vs. handle vs. UUID), leaving the schema's untyped string ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb ('Return') and a resource ('solid bbox corner vertices'), so the basic operation is identifiable. However, the phrasing is compressed jargon and does not distinguish it from siblings like get_edge_list, get_face_list, or measure_bounding_box.

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?

No indication of when to use this tool versus alternatives such as measure_bounding_box or get_topology, and no prerequisites or exclusions stated. Usage is only weakly implied by the phrase 'solid bbox'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_csv_pointsC

Import CSV rows into point entities for sampling points or monitoring wells while preserving tabular attributes.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo
pathNo
unitNo
layerNo
contentNo
encodingNo
x_columnNo
y_columnNo
z_columnNo
id_columnNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. 'Import' implies creation of entities, but it never says whether existing points are merged or duplicated, what permissions are needed, how source vs destination CRS are handled via the unit parameter, or what happens on malformed rows. Only 'preserving tabular attributes' adds any behavioral signal.

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?

A single front-loaded sentence with no filler; verb, resource, target domains, and the attribute-preservation property come in order. It is short, though the brevity is partly under-specification rather than discipline.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter mutation tool with zero annotation coverage and no output schema, the description is far too thin. It omits the file/encoding duality, coordinate-column mapping, units, and the layer target, all of which the agent must know to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 10 parameters, so the description must compensate and largely does not. It alludes to attribute columns ('preserving tabular attributes') but never explains kind, path vs content vs encoding, unit, layer, or the x/y/z/id column mappings, which are the parameters an agent most likely gets wrong.

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?

States a specific verb (import) and resource (CSV rows into point entities) with the domain scope (sampling points or monitoring wells) and a key property (tabular attributes preserved). It is clearly distinguishable from the CAD import siblings (import_step, import_dxf), though it never names create_point or create_sampling_point as the non-CSV alternative.

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?

The description names the target entity kinds but gives no when-to-use guidance, no prerequisites (must the layer exist? must CRS be set?), and no comparison against siblings like create_sampling_point or import_geojson. The agent must infer usage entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_dwgA

Import DWG by piping through LibreDWG's dwg2dxf. Provide either path (DWG on disk) or base64 content. Falls back with an error if dwg2dxf is not installed (run dwg_tools_status to check).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
contentNo
encodingNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses the conversion mechanism and the failure mode (errors if dwg2dxf is not installed), which are non-obvious behaviors. It does not state what entities are created, whether it mutates/clears the current drawing, or permission requirements.

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?

Three tight sentences, front-loaded with the core action, then input options, then the failure/check note. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an import tool with no output schema and no annotations, this covers the inputs, mechanism, and failure mode adequately. It leaves unstated what happens on success (entities created, document state), which is the main remaining gap.

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?

Schema coverage is 0%, so the description must compensate. It adds real meaning for two of three parameters ('path' = DWG on disk, 'content' = base64), which the bare schema types do not convey. It omits the 'encoding' enum parameter entirely, so it falls short of fully covering the inputs.

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?

States a specific verb (import) and resource (DWG) and even discloses the mechanism (piping through LibreDWG's dwg2dxf), which implicitly differentiates it from import_dxf. It stops short of explicitly naming sibling alternatives like import_dxf or import_step, so it doesn't reach the top bar.

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?

It gives practical guidance on input selection ('Provide either path or content') and a prerequisite check ('run dwg_tools_status to check'), which is useful context. However, it never states when to choose this tool over import_dxf/import_step/import_iges, so alternative routing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_dxfA

Import DXF content (UTF-8 text or base64) into the scene: ensures layers exist and adds LINE, CIRCLE, ARC, POINT, LWPOLYLINE, and 2D POLYLINE entities (mm; arcs as radians internally).

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
encodingNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does well: it discloses the side effect of ensuring layers exist, the scope of supported entity types, and the unit/representation conventions (mm; arcs stored as radians internally). It stops short of describing overwrite/merge behavior on existing geometry or error handling for unsupported DXF entities.

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?

A single dense sentence front-loads the action and resource, then flows into format, side effects, and unit conventions. It is efficient and free of filler, though the long parenthetical entity list makes the sentence slightly heavy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter importer with no output schema and no annotations, the description covers the essential behavior: what gets imported, side effects on layers, supported entity types, and unit conventions. Missing the return description is acceptable without an output schema, but overwrite/merge semantics and unsupported-entity handling remain gaps.

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?

Schema description coverage is 0%, so the description is expected to compensate. It clarifies that 'content' is DXF text that may be UTF-8 or base64 encoded, which maps directly to the 'content' and 'encoding' parameters and adds real meaning beyond the bare schema. It does not state whether 'encoding' is optional or what the default is, but the coverage is materially improved.

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?

The description states a specific verb (Import) and resource (DXF content) and enumerates exactly which entity types get created (LINE, CIRCLE, ARC, POINT, LWPOLYLINE, 2D POLYLINE), which clearly distinguishes it from sibling importers like import_dwg, import_step, or import_svg.

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?

The description implies usage (importing DXF text into the scene) and hints at format variants through 'UTF-8 text or base64', but it provides no explicit when-to-use guidance, no prerequisites, and no direction toward alternatives like import_dwg or export_dxf.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_geojsonC

Import GeoJSON FeatureCollection data into point, line, polyline, and polygon entities.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
unitNo
layerNo
contentNo
encodingNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses the entity types created but says nothing about whether path or content is required, how encoding/units are applied, layer assignment, failure behavior, or whether existing entities are affected.

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?

A single efficient sentence with the verb and target entity types front-loaded and no filler. Its brevity, however, borders on under-specification for a multi-parameter import operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an import tool with 5 undocumented parameters, no annotations, and no output schema, the description is far too thin. It omits input source handling, encoding/unit behavior, and any safety or overwrite context an agent would need to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 5 parameters have 0% schema description coverage, and the description mentions none of them (path, content, encoding, unit, layer). It adds no meaning beyond the raw schema, leaving the path-vs-content input mode and unit/encoding semantics entirely unexplained.

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?

States a specific verb ('Import') and resource ('GeoJSON FeatureCollection data') plus the resulting entity types (point, line, polyline, polygon). The GeoJSON format name implicitly distinguishes it from import_step, import_shapefile, and import_csv_points, though it never names an alternative.

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?

No when-to-use guidance, no prerequisites, and no routing to alternatives like import_shapefile or import_csv_points. An agent can only infer that it is used to bring GeoJSON in, with nothing about source format selection or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_geotiff_metadataA

Read a GeoTIFF file and return width / height / sample format / bbox / origin / resolution / CRS without attaching it to the session. Use attach_raster_layer to keep it as a session basemap.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses the key side-effect profile ('without attaching it to the session') and lists return fields, but it omits error behavior, file access constraints, and permission requirements for an unannotated tool.

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?

Two tightly written sentences. The return fields are front-loaded and the alternative-tool routing sentence follows without any wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only metadata tool, the description covers purpose, return contents, and the alternative attach behavior. The missing path semantics and error/edge-case behavior keep it from being fully complete, but the core needs for correct invocation are largely covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the sole 'path' parameter has no schema description. The description implies a GeoTIFF file path but adds no format, relative/absolute path, or validation detail beyond what the schema minimally names.

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?

States a specific verb ('Read'), resource ('GeoTIFF file'), and enumerates the returned metadata fields. It also distinguishes itself from attach_raster_layer by noting it does not attach the file to the session.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names attach_raster_layer as the alternative and states the condition for choosing it: 'to keep it as a session basemap.' The decision rule between importing metadata and attaching a raster layer is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_igesC

Import IGES content.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
contentNo
encodingNo

TDQS

C2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden, yet it discloses nothing beyond the verb. It does not say whether path or content is required, what happens on duplicate imports, whether the operation is undoable, or how encoding affects the payload.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence is front-loaded, but this is under-specification rather than conciseness. Nothing here earns its place because nothing substantive is said.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter ingest tool with no annotations, no output schema, and 0% schema description coverage, this definition is completely inadequate. An agent cannot determine the required invocation shape or the effect of the call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for all three parameters, and the description does not compensate: it never mentions path, content, or the utf8/base64 encoding choice. An agent gets no meaning for any parameter from either source.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

'Import IGES content' states a verb and resource, so the basic purpose is identifiable. However, it does nothing to distinguish this from the many sibling import tools (import_step, import_stl, import_obj, import_dwg), which is exactly where an agent needs help.

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 guidance on when to use this versus the other import_* siblings, no mention of prerequisites, and no indication of how the result is integrated into the drawing. The agent must infer usage entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_objD

Import OBJ content.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
contentNo
encodingNo

TDQS

D1.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not say where the imported geometry lands (current document, new layer, origin placement), whether it overwrites or merges, how path vs content are resolved, or how the encoding enum affects parsing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is short but that brevity reflects under-specification rather than economy; nothing an agent needs is front-loaded because nothing is provided at all.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, no parameter documentation, and a description no longer than the tool name, the definition is completely inadequate for an import tool that parses file content into the model.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters (path, content, encoding enum of utf8/base64) have 0% schema description coverage, and the description adds no meaning whatsoever. In particular it never explains the relationship between path and content or the semantics of the base64 option, leaving a 3-param tool fully undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Import OBJ content" is essentially a restatement of the tool name import_obj, giving a verb and a resource but no more. It does not distinguish this importer from the many sibling importers (import_step, import_iges, import_stl, import_svg), nor explain what "content" means here. Borderline tautology rather than a genuine purpose statement.

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 guidance on when to choose this over import_step, import_iges, import_stl, or any other import path, and no mention of prerequisites or context. The only implied usage comes from the name itself, which is already visible to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_pdf_as_underlayD

Import PDF_AS_UNDERLAY content.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
contentNo
encodingNo

TDQS

D1.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure and supplies none of it: whether the file is read from disk or bytes, whether the received content is placed in modelspace or as a layer, what happens on failure, or whether existing underlays are affected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short clause is not conciseness here but under-specification – it is too brief to earn its place rather than trimmed of waste. There is nothing front-loaded because there is nothing to front-load.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter import tool with no annotations and no output schema, the description is completely inadequate; an agent cannot determine required inputs, expected return, or side effects from it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three parameters (path, content, encoding), and the description adds nothing about any of them. The relationship between path and content, the utf8/base64 enum meaning, and which parameters are actually needed are all left unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description restates the tool name almost verbatim ("Import PDF_AS_UNDERLAY content"), adding only the filler word "content." It conveys that a PDF is imported as an underlay, but this is entirely derivable from the name and does not distinguish the tool from sibling importers like import_dxf or attach_raster_layer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no indication of when to use this versus other import tools, no prerequisites, and no mention of how it relates to attach_raster_layer or the raster-layer family. The agent must infer everything from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_shapefileC

Import ESRI Shapefile geometry and DBF attributes into point, line, polyline, and polygon entities.

ParametersJSON Schema
NameRequiredDescriptionDefault
unitNo
layerNo
dbf_pathNo
shp_pathYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and discloses almost nothing: it does not say whether entities are created in the current drawing, how CRS/projection is handled, whether existing content is affected, or what happens when dbf_path is omitted. For a data-ingesting mutation tool this is a substantial gap.

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?

A single front-loaded sentence with no filler. It is appropriately sized, though it errs toward under-specification rather than wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no annotations, with four undocumented parameters, mean the description would need to explain CRS handling, unit conversion, layer targeting, and return behavior. It omits all of these, leaving an agent unable to predict the import's side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only loosely hints at shp_path (geometry) and dbf_path (DBF attributes); it says nothing about the unit enum's effect on imported coordinates or what the layer parameter does.

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?

States a specific verb and resource (import ESRI Shapefile geometry and DBF attributes) and names the entity types produced (point, line, polyline, polygon). It is clearly distinguishable from create_* tools, but it does not differentiate itself from sibling importers like import_geojson, import_dwg, or import_dxf.

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?

No guidance on when to choose this over import_geojson, import_dwg, or import_dxf, which all ingest external geometry. There is no mention of prerequisites such as an existing project, a target layer, or coordinate system setup.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_stepC

Import STEP content.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
contentNo
encodingNo

TDQS

C2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, and it delivers almost nothing. 'Import' weakly implies a mutation that loads geometry into the current document, but the description does not state whether it replaces or appends content, whether a file path or inline content is expected, what happens on failure, or what permissions are required. Only the implied mutation keeps this above a 1.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is short and front-loaded, but this is under-specification rather than economy: every sentence that would earn its place is absent. Brevity here costs the agent essential information rather than saving it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and three fully undocumented parameters, the description is completely inadequate. An agent cannot reliably call this tool from the given definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters (path, content, encoding) have 0% schema description coverage, and the description contributes nothing to explain them. It does not clarify the interaction between path and content, nor the meaning of the utf8/base64 enum values. The agent is left to guess at every input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (Import) and resource type (STEP content), so the basic operation is identifiable. However, it offers no differentiation from the many sibling importers (import_iges, import_stl, import_obj, import_dwg), so an agent must already know what STEP is to select this over alternatives. This is the minimum viable statement of purpose.

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 guidance, no prerequisites, and no mention of alternatives such as import_iges or import_dwg for other formats. The agent gets no signal about when this tool is the right choice versus the other 10+ import/export siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_stlD

Import STL content.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
contentNo
encodingNo

TDQS

D1.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not say where imported geometry lands (current document vs new), whether it requires an open project, whether an existing document is modified, or whether the operation can fail on malformed STL data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short sentence, so there is no padding, but this is under-specification rather than conciseness. The one clause present does not earn its place because it conveys no information beyond the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter, zero-annotation, no-output-schema import tool, the description is completely inadequate. An agent cannot determine input mode, encoding expectations, target document, or error behavior from this text.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description adds no parameter meaning whatsoever. The critical relationship between 'path', 'content', and 'encoding' (presumably alternative input modes, with base64 for binary STL) is left entirely unexplained, and none of the three parameters is marked required despite being an either/or input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb and a resource (import + STL), which distinguishes it from format siblings like import_step and import_obj. However, 'content' is vague: it does not clarify whether the tool reads from a file path or ingests raw STL text, which is exactly the ambiguity the three parameters raise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus import_step, import_iges, import_obj, or import_dxf, and no prerequisites or context. The agent must infer everything from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_svgD

Import SVG content.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
contentNo
encodingNo

TDQS

D1.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full behavioral burden. 'Import SVG content' discloses nothing about whether the operation mutates the document, how path and content interact, whether one is required, how conflicts are handled, or what happens on failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and free of filler, but it is under-specified rather than genuinely concise. Brevity here reflects missing information rather than efficient communication.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter import tool with an enum field, no output schema, and no annotations, the description is completely inadequate. An agent cannot infer required inputs, encoding behavior, or side effects from this definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for all three parameters (path, content, encoding), and the description adds no meaning. It does not explain the mutual relationship between path and content or what the utf8/base64 enum implies for the input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb and resource ('Import SVG content'), so an agent can tell it imports SVG data. However, it adds no scope, format, or behavioral detail beyond the tool name, and does not distinguish itself from sibling importers beyond the obvious file-type difference.

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 guidance on when to use this importer versus alternatives like import_dxf, import_dwg, or batch_generate_svg. The usage is only implicitly inferable from the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

insert_blockC

Insert a block definition by cloning its member entities.

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNo
positionYes
rotationNo
block_nameYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It says the operation clones member entities, implying mutation, but does not disclose prerequisites (e.g., whether the block definition must already exist), side effects, error conditions, or the resulting object's state. This is a significant gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single, front-loaded sentence with no wasted words. However, for a tool with a nested object and four parameters, this brevity borders on under-specification rather than effective conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's mutation behavior, nested input schema, lack of annotations, and no output schema, the description is insufficiently detailed. It does not explain what happens after insertion, what is returned, or how the required parameters affect the operation, leaving major gaps for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% with four parameters, including a nested position object. The description mentions only 'block definition' (loosely mapping to block_name) and provides no meaning for position, scale, or rotation. It fails to compensate for the schema's lack of documentation.

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 states a specific verb ('Insert') and resource ('block definition'), and the mechanism 'by cloning its member entities' clarifies the operation. It is distinguishable from 'create_block' and 'explode_block' through the verb, but it does not explicitly name an alternative sibling to reinforce the distinction.

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 guidance on when to use this tool versus alternatives like create_block, edit_block, or explode_block. The description only states what it does, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_blocksC

List block definitions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure, and it discloses almost nothing. It does not say what scope of blocks is returned, whether the result is paginated, or what identifying fields each entry contains, though as a read-only listing the safety stakes are low.

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?

One short sentence with no filler and the verb leading the phrase. It is efficient, though the brevity is also the source of the tool's under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, so the description is the only source of information about what the tool returns, and it omits scope, return contents, and relationship to block-management siblings. For a listing tool in a large CAD toolset, this leaves the agent guessing about the response.

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?

The tool takes zero parameters and has 100% schema description coverage, so there is nothing for the description to clarify about inputs. Baseline 4 applies for a parameterless tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description pairs a specific verb ("List") with a resource ("block definitions"), which is clearer than a tautology. However, it gives no scope qualifier (project-wide, document-wide, or current drawing) and does nothing to distinguish it from the many other list_* siblings such as list_layers, list_entities, or list_parameters.

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 guidance at all — no statement of when to call list_blocks versus create_block, insert_block, edit_block, or explode_block, and no prerequisites. The agent must infer the context entirely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_entitiesC

List entities. Optional filter: { kind or type?, layer?, ids? } — kind/type is an EntityType string or array (point, line, circle, arc, rectangle, polygon, polyline).

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, yet it only hints at read-only behavior by using the word "List." It says nothing about default behavior when filter is omitted (all entities?), return format, result ordering, or pagination for a tool that could return an entire drawing's contents.

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?

Two tight sentences that front-load the purpose and then the filter shape; no filler. The parenthetical enum list is dense but earns its place since the schema documents nothing.

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 1-parameter query tool with no output schema and no annotations, the description covers the filter adequately but omits return behavior, default scope, and any hint of result size. Given the complexity of the nested filter and the zero schema documentation, a bit more is needed for an agent to call this confidently.

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?

Schema description coverage is 0% and the filter is an opaque object with additionalProperties:{}, so the description must compensate — and it largely does, naming the three filter keys (kind/type, layer, ids) and enumerating valid EntityType values. It loses a point for the unresolved "kind or type?" ambiguity, leaving the agent unsure which key name is accepted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

"List entities" states a clear verb+resource, but gives no scope qualifier (all entities? current document? active layer?) even though siblings like list_entities_by_domain_kind, find_entities_by_layer, and find_entities_in_region make scope the key differentiator. An agent cannot tell from the description alone why it should pick this over those filtered alternatives.

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?

The description mentions an optional filter but never says when to use this tool versus the several sibling query tools (find_entities_by_layer, find_entities_in_region, find_entities_by_property, list_entities_by_domain_kind). No prerequisites, no exclusions, no routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_entities_by_domain_kindB

List entities tagged with a domain kind such as sampling_point, monitoring_well, or profile_line.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full behavioral disclosure burden. It does not state return shape, pagination behavior, whether 'kind' must be an exact match, or any permission/performance characteristics; only the bare listing action is described.

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?

A single, front-loaded sentence with no wasted words. The filter scope and examples are delivered efficiently.

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 simple filtered-list tool with no output schema, the description gives enough to attempt a call but leaves gaps around valid kind values and return structure. Without annotations or schema descriptions, it should say more about what the agent can expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the single 'kind' parameter lacks an enum or description in the schema. The description partially compensates by giving three example kind values (sampling_point, monitoring_well, profile_line), but it does not clarify whether these are the only valid values or how matching works.

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 states a specific verb ('List'), resource ('entities'), and filter scope ('tagged with a domain kind'), with concrete examples like sampling_point and monitoring_well. It distinguishes itself from the generic list_entities sibling by the domain-kind filter, though it does not explicitly name the sibling for contrast.

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?

No guidance is given about when to use this tool versus list_entities, find_entities_by_property, or find_entities_by_layer. The description implies a filtered listing but provides no exclusions, prerequisites, or alternative tool routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_known_crsA

List CRS codes currently registered with proj4 in this session (pre-registered defaults plus any added via register_crs_definition).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose two useful traits: the result is session-scoped and includes both pre-registered defaults and user-added definitions. However, it says nothing about how results are ordered or what each entry contains, and a listing tool's read-only safety profile is only inferred.

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?

One sentence with zero filler, front-loaded with the verb and resource, then the scope qualifier. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless listing tool with no annotations and no output schema, the description covers what an agent needs to decide to call it. The only gap is the shape of the returned entries, which is minor here.

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?

The schema has zero parameters, so there is no parameter semantics to document and the baseline of 4 applies. The description correctly implies a no-argument call, adding nothing that is contradicted or missing.

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?

States a specific verb and resource ('List CRS codes') and pins the exact scope ('currently registered with proj4 in this session'). It also names the counterpart operation, register_crs_definition, so an agent can distinguish listing from registration without opening a schema.

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?

Usage is implied rather than stated: the description makes clear this is the read side of the CRS registry, but it never says when to call it versus siblings like get_project_crs or register_crs_definition. No exclusions or preconditions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_layersB

List all layers (name, color, visible, locked).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. It usefully enumerates the returned fields (name, color, visible, locked), compensating somewhat for the absent output schema, but says nothing about scope (all drawings? current document?), ordering, pagination, or permissions. Adding the return fields is real value, yet the disclosure stops well short of full behavioral coverage.

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?

A single front-loaded sentence with no filler; every token (verb, resource, returned fields) earns its place.

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 zero-parameter read tool with no output schema, the description partially fills the gap by naming the returned fields. It remains incomplete on scope and, more importantly, leaves the agent unable to distinguish this tool from the several near-identical layer-listing siblings.

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?

The tool takes zero parameters, so the baseline is 4. The schema is empty and there is no syntax or filter argument to explain, leaving nothing for the description to clarify here.

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?

States a specific verb (list) and resource (layers) plus the fields returned (name, color, visible, locked), so the operation is immediately understandable. However, it offers no differentiation from heavily overlapping siblings such as get_layer_list, autocad_list_layers, and list_raster_layers, which an agent would need to choose between.

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?

No guidance on when to use this versus get_layer_list, autocad_list_layers, or list_raster_layers, and no stated preconditions or context of use. The agent is left to infer selection entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_parametersC

List all named parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states only 'List all named parameters' with no disclosure of ordering, scope, pagination, or whether the result is model-wide. Nothing behavioral is added beyond the name.

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?

A single short sentence that is front-loaded and contains no filler. It is appropriately sized, though it is too sparse to earn a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-param, no-annotation, no-output-schema tool in a family with get/set/update_parameter siblings, the definition is too thin. It should at least say whether it lists model or user parameters and how it differs from the singular getter, since annotations and output schema provide no compensating context.

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?

The tool has zero parameters, so the baseline is 4. There is nothing for the description to clarify beyond the absence of inputs, and it does not mislead about parameters.

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?

States a specific verb (List) and resource (named parameters). It is distinguishable from siblings like get_parameter, set_parameter, and update_parameter, though it lacks a noun-precision detail about parameter type. Still clear enough for an agent to pick this over the singular accessors.

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?

The description gives no when-to-use context, no exclusions, and names no alternatives such as get_parameter. The sibling set includes get_parameter, set_parameter, and update_parameter, so explicit differentiation would be valuable but is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_raster_layersB

List all raster (basemap) layers attached to the session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. 'List' reasonably implies a non-destructive read, and 'attached to the session' scopes it, but nothing is said about ordering, pagination, or what a returned layer entry contains.

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?

A single tight sentence with no filler; the resource and scope are front-loaded. Nothing could be removed without losing information.

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 trivial zero-param lister this is close to adequate, but with no output schema the description is the only place return content could be characterized, and it says nothing about the shape of the results.

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?

The tool takes zero parameters, so the baseline is 4. There are no parameters whose meaning the description would need to clarify.

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?

States a specific verb (List) and resource (raster/basemap layers) with scope (attached to the session). It is distinguishable from the singular get_raster_layer, though it never explicitly contrasts itself with sibling listers like list_layers.

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 guidance, no mention of alternatives (get_raster_layer, list_layers), and no prerequisites. The agent must infer that this is the enumeration counterpart to the attach/get/remove raster siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

load_projectB

Load a project JSON file from disk and replace the current scene (undo/redo cleared).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose the critical destructive trait: it replaces the current scene and clears undo/redo. That is genuinely valuable data-loss context, but it omits other behavior such as auth/permission needs and what happens if the file is missing or malformed.

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?

A single well-formed sentence that front-loads the action and appends the destructive side effect. No filler or redundancy.

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 one-parameter tool with no output schema, the description covers the core action and the key side effect, which is reasonably complete. It still leaves the relationship to open_project and error-handling behavior unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the single 'path' parameter has no description. The phrase 'from disk' and 'JSON file' hints that path is a filesystem location to a JSON file, adding marginal meaning, but no format, extension, or relative/absolute conventions are specified.

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 states a specific verb (Load) and resource (project JSON file from disk), which is enough to distinguish it from creation tools. However, it does not clarify how it differs from the sibling open_project, which sounds semantically near-identical.

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?

No when-to-use guidance is given and no alternatives are referenced. The presence of both open_project and new_project among siblings makes the choice non-obvious, and the description leaves that ambiguity unresolved.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

loftC

Create a simplified lofted solid from one or more profiles.

ParametersJSON Schema
NameRequiredDescriptionDefault
angleNo
guidesNo
radiusNo
path_idNo
distanceNo
edge_idsNo
face_idsNo
profilesNo
solid_idNo
directionNo
thicknessNo
open_facesNo
profile_idNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure for a mutation operation. It does not explain what 'simplified' means, whether profiles are required despite zero required parameters, what permissions or state are needed, or what happens to existing geometry. This is a significant gap for a 13-parameter solid creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words, which is structurally clean. However, it is severely under-specified for a 13-parameter operation, so its brevity reflects a lack of necessary detail rather than optimal conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 parameters, zero required fields, no annotations, and no output schema, the description is far too sparse to guide correct invocation. It omits parameter roles, required conditions, usage context, and behavioral expectations, leaving critical ambiguity for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for all 13 parameters. The description only references 'one or more profiles,' adding no semantic meaning for the other 12 parameters such as angle, guides, radius, path_id, distance, edge_ids, face_ids, solid_id, direction, thickness, open_faces, or profile_id. It fails to compensate for the complete lack of schema documentation.

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 states a specific verb and resource: creating a lofted solid from profiles. It is distinguishable from related modeling tools like sweep or create_revolution by the term 'lofted solid.' However, it does not explicitly contrast itself with those sibling tools, leaving some inference to the agent.

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 guidance on when to use this tool versus alternatives such as sweep, create_revolution, or create_prism. Prerequisites, required profile conditions, and any constraints are absent, leaving the agent to infer usage entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mate_angleC

Create a angle mate between two references.

ParametersJSON Schema
NameRequiredDescriptionDefault
aNo
bNo
angleNo
axis_aNo
axis_bNo
face_aNo
face_bNo
assembly_idYes

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full disclosure burden. 'Create' implies a mutation, but it says nothing about permissions required, whether the mate is persistent, what happens if references are invalid, or any side effects. This is a significant gap for a state-changing assembly operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no wasted words, but it is drastically under-specified for an 8-parameter assembly mate tool. Conciseness here comes at the cost of necessary detail, making it poorly structured for an agent’s needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of an angle mate operation, 8 parameters, no annotations, and no output schema, the description is far from complete. It omits required parameter details, behavioral implications, and any distinction from related mate tools, leaving an agent unable to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 8 parameters with 0% description coverage, and the description does not mention a single one. It vaguely refers to 'two references' but never clarifies which parameters (a, b, face_a, face_b, axis_a, axis_b, angle, assembly_id) correspond to the references or how to specify the angle. The description fails entirely to compensate for the undocumented schema.

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 states a clear verb ('Create') and resource ('angle mate'), which is enough to understand the basic operation. However, it does not differentiate this mate type from siblings like mate_coincident, mate_concentric, mate_distance, or mate_parallel, so an agent cannot easily tell when to prefer this tool over those.

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 guidance on when to use an angle mate versus other mate types, nor any prerequisites or exclusions. The only implied usage is that it creates an angle mate, which is tautological and offers no selection help.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mate_coincidentC

Create a coincident mate between two references.

ParametersJSON Schema
NameRequiredDescriptionDefault
aNo
bNo
valueNo
axis_aNo
axis_bNo
face_aNo
face_bNo
assembly_idYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations and no output schema, the description carries the full behavioral burden but provides almost no disclosure: it does not explain what a coincident mate does, what constitutes a valid reference, whether the operation is destructive or reversible, or what prerequisites (e.g., an open assembly) are required. It only implies a mutation operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words, which is efficient. However, given the tool's 8 parameters and complex domain, it is too brief to be considered appropriately sized, so it earns a middle score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No annotations, no output schema, and 0% parameter description coverage make this description drastically incomplete. An agent lacks the information needed to correctly choose between this and sibling mates or to supply the required reference parameters, so it cannot be called complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, and the description does not clarify the meaning of a, b, face_a, face_b, axis_a, axis_b, value, or assembly_id. The phrase 'two references' vaguely maps to a and b, but leaves the remaining six parameters entirely undocumented, failing to compensate for the coverage gap.

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 states a specific verb ('Create') and resource ('coincident mate between two references'), which clearly distinguishes it from mate_concentric, mate_distance, mate_angle, and mate_parallel. However, it does not differentiate from the similarly named add_constraint_coincident (a sketch-level constraint) or explain the reference types, so it falls short of a 5.

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?

No guidance on when to use this assembly mate versus other mate types (e.g., mate_concentric, mate_distance) or the sketch constraint add_constraint_coincident. The description only states what it does, leaving the agent to infer context and prerequisites entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mate_concentricC

Create a concentric mate between two references.

ParametersJSON Schema
NameRequiredDescriptionDefault
aNo
bNo
valueNo
axis_aNo
axis_bNo
face_aNo
face_bNo
assembly_idYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. 'Create a concentric mate' implies a mutation, but the description does not disclose whether this modifies an assembly, what permissions are required, what happens to existing mates, or what the result looks like.

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?

The description is a single front-loaded sentence with no wasted words. However, its extreme brevity comes at the cost of under-specification for a complex 8-parameter mutation tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, 0% schema description coverage, no annotations, and no output schema, the description is far too thin. It provides only the core action and omits usage, parameter mapping, and behavioral context needed to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for 8 parameters, and the description does not explain any of them. 'Between two references' hints at two inputs, but the schema offers multiple reference-like fields (a, b, axis_a, axis_b, face_a, face_b) plus assembly_id, with no mapping or meaning provided.

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 states a specific verb and resource: 'Create a concentric mate between two references.' It distinguishes the operation from generic creation siblings, but does not differentiate from the close sibling 'add_constraint_concentric' or explain what a 'reference' is in this context.

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?

No when-to-use guidance, prerequisites, or alternatives are provided. The description only states what the tool does, leaving the agent to infer when this mate should be used over 'add_constraint_concentric' or other mate types.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mate_distanceC

Create a distance mate between two references.

ParametersJSON Schema
NameRequiredDescriptionDefault
aNo
bNo
axis_aNo
axis_bNo
face_aNo
face_bNo
distanceNo
assembly_idYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full disclosure burden. It does not say what a distance mate constrains, whether it requires a loaded assembly, whether the operation is reversible/undoable, or how the 'two references' are supplied among the six reference parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no padding, but its brevity reflects under-specification rather than efficiency given the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter modeling tool with no annotations, no output schema, and 0% schema coverage, the description leaves the agent without the information needed to populate reference parameters or predict behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 8 parameters, and the description adds no mapping. It never explains the relationship between a/b, axis_a/axis_b, face_a/face_b, what 'distance' means or its units, or why only assembly_id is required.

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 states a specific verb and resource ('Create a distance mate'), so an agent knows the operation type. However, it offers no differentiation from close siblings such as mate_coincident, mate_concentric, mate_angle, and mate_parallel, so it merely restates the name without routing logic.

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 statement of when to use a distance mate versus the other mate types that appear in the sibling list. No prerequisites (e.g., an existing assembly) or alternative-selection criteria are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mate_parallelC

Create a parallel mate between two references.

ParametersJSON Schema
NameRequiredDescriptionDefault
aNo
bNo
valueNo
axis_aNo
axis_bNo
face_aNo
face_bNo
assembly_idYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It doesn't indicate whether the operation is destructive, whether it modifies the assembly, what happens if references are invalid, or whether it requires an existing assembly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no waste, but it is under-specified rather than concise. It front-loads the verb but provides almost no information to justify its brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is completely inadequate. It fails to explain parameters, behavior, or usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description provides no parameter information at all. Eight parameters (a, b, value, axis_a, axis_b, face_a, face_b, assembly_id) are completely undocumented, leaving meanings ambiguous.

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?

States a specific verb and resource ('Create a parallel mate between two references'), closely mirroring the name. It distinguishes itself from siblings like mate_coincident, mate_concentric, mate_distance, and mate_angle by naming the mate type, though it doesn't spell out what 'parallel' means beyond the term.

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?

No when-to-use guidance, no mention of prerequisites (e.g., needing valid references), and no routing to the other mate_* siblings. An agent must infer the appropriate scenario on its own.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

measure_angleC

Measure angle between two lines.

ParametersJSON Schema
NameRequiredDescriptionDefault
line_aYes
line_bYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It doesn't state whether the tool requires valid geometric lines, whether it operates on coordinates or entity references, or what units the angle is returned in. Only the core action is disclosed.

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 description is a single, front-loaded sentence with no wasted words. It is appropriately sized for a simple two-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a measurement tool with no annotations, no output schema, and zero parameter documentation, the description is too sparse. An agent needs to know the expected input format and return behavior to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description provides no information about what 'line_a' and 'line_b' should contain (e.g., entity IDs, coordinate pairs, or line references). This leaves both required parameters semantically opaque.

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?

Clear verb ('Measure') and resource ('angle between two lines'), so the purpose is unambiguous. It is distinguishable from the many 'measure_*' siblings by naming 'angle', though the type of lines (geometric entities vs. vector coordinates) is not specified.

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?

No guidance on when this tool should be used versus alternatives like add_angular_dimension or measure_distance. The agent is left to infer the context entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

measure_areaC

Measure planar area from an entity.

ParametersJSON Schema
NameRequiredDescriptionDefault
pointsNo
entity_idNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full behavioral disclosure. It implies a read-only measurement operation, but does not state supported entity types, units, coordinate assumptions, output format, or any permission/behavior details beyond the basic purpose.

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?

The description is a single front-loaded sentence with no filler. It is concise, though arguably too terse for a tool with two undocumented input parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and 0% schema description coverage, the description is not complete enough. It omits parameter relationships, expected return values, supported entity types, and usage context needed to invoke the tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for two parameters. The description mentions 'from an entity,' which loosely maps to entity_id, but it does not explain the points array, whether the two inputs are alternatives, or what input shapes are required.

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 states a specific verb ('Measure') and resource ('planar area') and names the input source ('from an entity'). It distinguishes the tool from volume, surface-area, perimeter, and angle measurement siblings, though it does not differentiate it from polygon-area or section-area tools.

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 guidance on when to use this tool versus alternatives such as measure_polygon_area_stats or compute_section_area. The phrase 'from an entity' implies a supported input context, but no explicit when-to-use or when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

measure_bounding_boxC

Measure the combined bounding box of entities.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idsYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It does not disclose what 'measure' returns (extents, dimensions, coordinates), what units are used, whether it handles 2D/3D, or whether the operation is read-only; only the bare action is stated.

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?

A single efficient sentence that front-loads the verb and resource with no filler. It is well-structured but too thin to earn a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and 0% parameter coverage, the description is too sparse for a measurement tool. It omits the return format, units, dimensionality, and its distinction from get_bounding_box, all of which an agent needs to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and there is one required parameter (entity_ids). The word 'entities' loosely implies the array of entity IDs, but the description adds no details on valid ID forms, minimum count semantics, or behavior for mixed entity types.

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?

States a specific verb (measure) and resource (bounding box) with a scope qualifier (combined, of entities), which is clear. However, it never contrasts with the sibling get_bounding_box, so an agent must guess whether this is the multi-entity variant or something else.

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?

No when-to-use guidance, no prerequisites, and no mention of the closely related get_bounding_box sibling in the tool list. The agent gets no routing help for choosing between the two bounding-box tools or the measure_* family.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

measure_centroidC

Measure solid centroid.

ParametersJSON Schema
NameRequiredDescriptionDefault
axisNo
solid_idYes

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only measurement via the verb 'measure', but does not disclose return format, side effects, permissions, or whether the operation is computationally expensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single terse sentence with no wasted words, but it is under-specified for a tool with two parameters. It is front-loaded but too short to provide necessary context, making it more of a stub than a useful definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations, output schema, and schema parameter descriptions, the description is inadequate. It does not explain parameters, return values, or behavioral traits, leaving the agent unable to call the tool correctly without guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description adds no parameter information. The required solid_id and optional axis array are completely undocumented; an agent must guess how to specify the solid and what the axis array represents (e.g., direction vector or measurement axis).

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?

States a specific verb 'measure' and resource 'solid centroid', so the basic operation is clear. However, it does not distinguish this tool from sibling measurement tools (e.g., get_mass_properties, measure_volume) that might also report centroid, leaving ambiguity about when to choose this one.

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?

Provides no when-to-use guidance, prerequisites, or alternatives. An agent cannot tell from the description whether this requires a selected solid, a loaded document, or specific preconditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

measure_distanceC

Measure distance between two points.

ParametersJSON Schema
NameRequiredDescriptionDefault
point_aYes
point_bYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It states the operation but omits critical behavioral details: units, coordinate system (2D vs 3D, handling of optional z), output format, and whether the distance is Euclidean. It is minimal.

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?

A single, front-loaded sentence with no waste. However, it is perhaps overly terse for a tool with nuanced behavior, but it is structurally efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given nested object parameters, no annotations, and no output schema, the description is far from complete. It omits essential details such as what a 'point' entails (coordinates, optional z), how distance is computed, and what the result represents. An agent would need to infer much.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate. It merely says 'between two points', which implies two point parameters but does not explain the coordinate structure (x, y, required; z optional) or the format of the points. It adds little beyond the schema's own property names.

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?

States a specific verb ('Measure') and resource ('distance') and scopes it to 'two points'. It distinguishes from some siblings by specifying points, but does not differentiate from related tools like measure_minimum_distance. Clear enough for an agent to know what it does.

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?

No guidance on when to use this tool versus alternatives such as measure_minimum_distance or other measurement tools. The description provides no context, exclusions, or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

measure_minimum_distanceB

Approximate minimum distance between two solids via bounding boxes.

ParametersJSON Schema
NameRequiredDescriptionDefault
solid_aYes
solid_bYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses that the result is approximate and derived from bounding boxes, warning the agent about precision limits, but it omits read-only status, return units/format, and behavior for overlapping or invalid solids.

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?

A single front-loaded sentence with no wasted words; the purpose is stated first and the approximation method follows immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and 0% parameter description coverage, the description should do more. It covers purpose and method but leaves the parameter format, return value, and units unspecified, so an agent cannot reliably invoke it without guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the two string parameters solid_a and solid_b have no schema descriptions. The description only implies the inputs are the two solids, adding no expected identifier format, constraints, or meaning beyond that.

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?

States the specific verb 'measure' and resource 'minimum distance between two solids', and adds the method 'via bounding boxes'. It does not explicitly differentiate itself from the sibling measure_distance or check_clearance, so it falls short of a 5.

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?

No when-to-use, when-not, or alternative is mentioned. The word 'approximate' hints at a trade-off, but the description does not route the agent between this tool and measure_distance or check_clearance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

measure_moment_of_inertiaC

Measure simplified moment of inertia from bbox.

ParametersJSON Schema
NameRequiredDescriptionDefault
axisNo
solid_idYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It does disclose one useful trait—that the result is 'simplified' and derived from a bounding box—but says nothing about permissions, units, reversibility, or expected output.

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?

The description is a single front-loaded sentence with no wasted words. It is concise, though the term 'simplified' is vague and the overall brevity leaves critical details unstated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and 0% schema description coverage, the description is too sparse for the tool's context. It omits parameter meaning, output behavior, and the conditions under which the bounding-box approximation is valid.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for two parameters, and the description does not mention either 'solid_id' or 'axis.' It gives no added meaning about what the solid identifier represents, how the axis vector is used, or what units apply.

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 states a specific verb and resource: 'Measure simplified moment of inertia.' It also adds 'from bbox,' which distinguishes it from a more exact mass-properties tool like get_mass_properties. It does not name or contrast with any sibling, so it falls short of a 5.

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 explicit when-to-use guidance, no conditions for choosing this tool over alternatives such as get_mass_properties, and no exclusions. The phrase 'from bbox' hints at a simplified approximation but does not tell an agent when that approximation is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

measure_perimeterC

Measure perimeter or curve length for an entity.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry behavioral context. It only implies a read/measure operation and does not mention units, whether it handles open or closed entities, permissions, error behavior, or the return format.

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?

The description is a single efficient sentence with no filler and is front-loaded. Its brevity is appropriate structurally, though the content is under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a measurement tool with no annotations and no output schema, the description should clarify units, return values, and distinction from overlapping siblings. It does not, leaving important context missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single required entity_id parameter. The description only says 'for an entity', which adds no meaningful syntax, format, or constraint information beyond the parameter name itself.

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 gives a clear verb and resource: measure perimeter or curve length for an entity. It is specific enough to know what the tool does, but it does not differentiate from siblings such as get_curve_length or measure_profile_length.

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 guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The agent is left to infer that this is for entity-based perimeter or curve-length measurement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

measure_polygon_area_statsC

Summarize polygonal area by entity, optionally grouped by a property field for study zones.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_byNo
entity_idsYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, but it discloses almost nothing beyond the operation itself. It does not state that the tool is read-only, does not describe the return format or aggregation behavior, and does not mention any permissions or constraints.

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 description is a single, front-loaded sentence with no wasted words. It efficiently conveys the core operation and the optional grouping behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, so the description should explain return values and behavioral details. It does not describe what statistics are returned (e.g., sum, count, mean), how grouping affects output, or any error conditions, leaving significant gaps for an agent invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It meaningfully maps both parameters: 'by entity' corresponds to entity_ids, and 'optionally grouped by a property field' corresponds to group_by. However, it gives no format details, allowed property values, or clarification that entity_ids must reference polygonal entities.

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 states a specific verb ('Summarize'), resource ('polygonal area'), and scope ('by entity') with an optional grouping mode. It distinguishes itself from simple measurement siblings like measure_area by implying aggregation, but it does not explicitly name or contrast with those alternatives.

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?

The description offers no when-to-use guidance, no exclusions, and no mention of alternative tools such as measure_area, measure_surface_area, or compute_section_area. 'For study zones' hints at a context but does not help an agent choose between this tool and its siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

measure_profile_lengthC

Measure the length of a profile line or transect.

ParametersJSON Schema
NameRequiredDescriptionDefault
profile_line_idYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether the operation is read-only, whether it requires an existing profile line, what units are returned, or any other behavioral trait beyond the basic measurement purpose.

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 description is a single front-loaded sentence with no filler or redundant clauses. It is appropriately sized for a simple one-parameter measurement tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter measurement tool with no annotations and no output schema, the description is too incomplete. It does not clarify the return value, units, or how the profile_line_id is obtained, leaving important context for the agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With one parameter and 0% schema description coverage, the description should compensate by explaining the expected profile_line_id format or source. It only repeats the concept of a profile line/transect and adds no syntax, format, or constraint details beyond what the parameter name already implies.

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 clearly states a specific verb and resource: measuring the length of a profile line or transect. It distinguishes this from generic length or distance measurement by naming profile lines/transects, but it does not explicitly differentiate itself from sibling tools like measure_distance or get_curve_length.

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?

The description says what the tool does but gives no when-to-use guidance, no conditions for selecting it over alternatives, and no exclusions. An agent must infer that it should be used for profile lines rather than other measurement tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

measure_surface_areaC

Measure solid surface area.

ParametersJSON Schema
NameRequiredDescriptionDefault
axisNo
solid_idYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden and does not meet it. It does not state that this is a non-destructive read, what units the result is in, whether it requires a pre-existing solid, or how the 'axis' input affects the measurement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence, front-loaded and free of waste, so it is structurally fine. Its brevity is achieved through under-specification rather than efficient communication.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no annotations, and zero parameter documentation, the description does not supply enough for an agent to invoke this tool confidently. At minimum it should clarify what solid_id refers to and what the axis argument does.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for two parameters, and the description explains neither. The required solid_id is only hinted at by the word 'solid', and the optional 'axis' number array is completely unexplained, so the agent cannot know what values to supply.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

It states a verb (measure) and a resource (solid surface area), so the general intent is recoverable. But it does not distinguish itself from close siblings like measure_area, measure_polygon_area_stats, or measure_volume, leaving the agent to guess which measurement tool applies to a given entity.

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, or alternative routing information at all. With several near-identical measurement siblings in the list, the absence of any selection guidance is a real gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

measure_volumeC

Measure solid volume.

ParametersJSON Schema
NameRequiredDescriptionDefault
axisNo
solid_idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden and delivers almost nothing: 'Measure' weakly implies a non-destructive read, but units, precision, behavior on open/non-solid geometry, and failure modes are all undisclosed. For a measurement tool operating on a referenced entity, this is a substantial gap.

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?

A single front-loaded sentence with no filler, which is structurally ideal. It is arguably under-specified rather than wasteful, but conciseness itself is not the problem.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A measurement tool with no annotations, no output schema, 0% parameter coverage, and unspecified units leaves an agent unable to predict what it gets back or how to interpret 'axis'. The safety profile is benign, but the operational detail is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate and does not. It never names solid_id (only inferable from 'solid') and gives no meaning at all for the 'axis' array parameter, which is the least self-explanatory field an agent has to populate.

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?

States a specific verb ('Measure') and resource ('solid volume'), so the operation is unambiguous. However it does nothing to separate itself from siblings like compute_cut_fill_volume, compute_grid_surface_volume, measure_surface_area, or get_mass_properties, which an agent must disambiguate by name alone.

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 guidance, no prerequisites (e.g. the solid must be closed), and no mention of alternatives such as get_mass_properties, which also returns volumetric information. The agent is left to infer everything from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mirror_2dC

Create mirrored copies of one or more entities across an axis line.

ParametersJSON Schema
NameRequiredDescriptionDefault
unitNo
axis_endYes
axis_startYes
entity_idsYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It does not disclose whether original entities are preserved, whether mirrored copies are new entities, how the axis line is interpreted (finite segment vs infinite line), or any unit/permission behavior, leaving key operational traits unstated.

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?

A single front-loaded sentence with zero filler, directly stating the action. Every word earns its place, making it maximally concise even if incomplete elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, four parameters including a nested object, and 0% schema description coverage, the description is far too sparse. It omits whether source entities remain, 2D coordinate handling, unit behavior, and result shape, leaving the agent without enough context to invoke the tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters. It only loosely maps 'one or more entities' to entity_ids and 'axis line' to axis_start/axis_end, while unit, coordinate space, and required formats are left undocumented in both description and schema.

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?

States a specific verb ('create mirrored copies') and resource ('entities') across an 'axis line', so the core operation is clear. However, it does not differentiate from sibling tools like offset or array_rectangular that also create transformed copies, and no alternative is named.

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?

No explicit when-to-use, when-not-to-use, or alternative tools are provided. Usage is only implied by the operation description; an agent gets no guidance on choosing mirror_2d over offset, array, or copy-like tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

new_projectA

Start a new empty CAD project (default layer 0, no entities). Optional project name.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses the initial state (empty, default layer 0, no entities), which is useful, but omits critical side-effect information: whether it replaces the currently active project, whether unsaved work is discarded, or what happens if a project name already exists.

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?

One tightly written sentence that front-loads the action and initial state, with the optional parameter noted at the end. Nothing is wasted.

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 simple project-creation tool with no output schema and no annotations, the description covers the basic purpose and initial state. However, it leaves important behavioral questions unanswered (e.g., whether it discards current work, switches the active project, or returns a handle), which an agent would need to invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single parameter. It does identify the parameter as an 'optional project name,' which is helpful, but provides no further constraints, format expectations, or examples.

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?

The description gives a specific verb and resource ('Start a new empty CAD project') and immediately defines the initial state ('default layer 0, no entities'). It clearly distinguishes this from siblings like open_project or load_project, which deal with existing projects.

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?

The phrase 'Start a new empty CAD project' implies the usage context (beginning from scratch), but it never explicitly states when to use this tool versus open_project, load_project, or save_project. The guidance is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

offsetB

Create an offset copy of a supported 2D entity. Use left/right for open curves and inside/outside or inward/outward for closed curves.

ParametersJSON Schema
NameRequiredDescriptionDefault
sideYes
unitNo
distanceYes
entity_idYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations at all, so the description carries the full behavioral burden. It says a copy is created but does not disclose whether the source is modified, what layer/type the new entity inherits, whether the operation is undoable, or what the result looks like. For a mutation-style geometry tool with zero annotation coverage this is a significant gap.

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?

Two sentences, no filler, and the core action is front-loaded ahead of the side-value qualifier. Efficient for the information it contains.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description should describe return behavior, constraints (e.g., that distance must be positive), and unit defaults. It covers only which side tokens apply to which curve shape, leaving the behavioral and parameter surface largely undocumented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the semantics of `side` values by curve type, which is genuine added value beyond the bare enum. But `distance` (must be >0) and `unit` (default behavior when omitted) receive no explanation at all.

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?

States a specific verb and resource ('Create an offset copy of a supported 2D entity'), which clearly distinguishes it from geometric creation siblings like mirror_2d or the create_* primitives. The 'supported 2D entity' hedge adds slight ambiguity about what is actually supported.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence gives conditional guidance mapping side values to curve types (open vs closed). However, it does not name or rule out related alternatives such as mirror_2d, array_rectangular, or create_polyline, so there is no explicit when-not or sibling routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

open_projectA

Alias for load_project: load a project JSON file from disk and replace the current scene.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose the key behavioural trait that the current scene is replaced (i.e. unsaved work is lost). It says nothing about error behaviour for missing/invalid files, permissions, or whether the operation is undoable, so coverage is partial.

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?

A single sentence that front-loads the alias relationship and the primary effect. Every clause earns its place with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema and no annotations, the description covers the essential facts: what it loads, from where, and that it is destructive to the current scene. It could add a note about failure modes or the equivalent load_project, but nothing critical for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

One parameter ('path') with 0% schema description coverage, so the description must compensate. It does so partially by clarifying the file is a project JSON file on disk, which implies the expected path format, but it does not state whether an absolute path, relative path, or extension is required.

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?

States a specific verb and resource ('load a project JSON file from disk') and identifies itself as an alias of load_project, which lets an agent recognise it as duplicative rather than distinct. It does not, however, differentiate itself from new_project or save_project beyond the implied file-based load.

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?

The phrase 'replace the current scene' implies the context in which this tool applies (loading an existing project rather than creating one), but there is no explicit when-to-use instruction and no mention of the load_project sibling or new_project as the alternative for a blank document.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

push_undo_checkpointA

Record the current scene state on the undo stack (clears redo). Call before a batch of edits you want to revert in one step.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose the key non-obvious consequence: "clears redo." That is exactly the kind of destructive side effect an agent needs. It stops short of describing what the call returns or whether staging edits inside a transaction differs, which keeps it from being complete.

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?

Two sentences, zero filler, with the core action front-loaded and the side effect parenthesized immediately where it is relevant. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, no-output, no-annotation tool, the description covers purpose, timing, and the redo-clearing side effect, which is enough to call it correctly. It leaves the relationship to the transaction tools (begin/commit/rollback) unstated, a minor gap given how many similar lifecycle tools sit alongside it.

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?

The tool takes zero parameters, so there is nothing for the description to document; the baseline of 4 applies. No parameter-level information is missing or needed.

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?

States a specific verb and resource ("Record the current scene state on the undo stack") and even names the side effect. It is clearly distinguishable from undo/redo in intent, but it never names or contrasts with the closely related transaction tools (begin_transaction/commit_transaction/rollback_transaction), so differentiation relies on the sibling names rather than the description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Call before a batch of edits you want to revert in one step" gives a concrete when-to-use condition. It offers no when-not guidance and does not mention the alternative (begin_transaction) that an agent might otherwise pick, so routing is clear but not fully resolved.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

redoB

Re-apply the last undone scene state.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It implies a mutation and a dependency on prior undo history, but does not state whether it requires an existing undone state, what happens if the redo stack is empty, or any error/return behavior.

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?

A single sentence with no wasted words, and the core action is front-loaded. It is appropriately sized for the simplicity of the tool.

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 zero-parameter, simple redo operation, the description identifies the action but leaves out usage context and behavioral details such as undo-stack dependency. It is minimally adequate but has clear gaps.

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?

The tool has zero parameters, so parameter semantics are not applicable. The schema is empty and fully covered; no additional parameter meaning is needed.

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?

States a specific verb ('Re-apply') and resource ('last undone scene state'), clearly contrasting with the sibling tool 'undo'. It does not explicitly name the alternative, but the phrase 'last undone' makes the relationship clear enough for selection.

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?

Provides no guidance on when to use this tool versus alternatives such as undo, push_undo_checkpoint, or transaction rollback. The context is implied by the description, but there are no explicit conditions, exclusions, or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_crs_definitionA

Register an EPSG-style CRS definition with proj4 so future reprojection tools can use it. code should be like 'EPSG:4548' and definition is a proj4 string.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes
definitionYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses that the registration makes the CRS available to future reprojection tools, indicating a global side effect, and identifies the required proj4 backing. It omits important behavior such as whether re-registering an existing code overwrites or errors, persistence scope, and failure conditions for invalid proj4 strings.

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?

Two sentences with no wasted words. The purpose is front-loaded, followed immediately by the two parameter clarifications, making the description easy to parse at a glance.

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 two-parameter registration tool with no output schema, the description covers the essential call semantics. However, it omits duplicate-code behavior and what happens on invalid input, which are relevant for correct invocation and error handling.

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?

Schema description coverage is 0%, so the description must supply parameter meaning, and it does: 'code' is shown by example as 'EPSG:4548', and 'definition' is identified as a proj4 string. This meaningfully compensates for the bare schema, though it does not enumerate accepted code patterns or proj4 syntax validation details.

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 states a specific verb+resource: register an EPSG-style CRS definition with proj4. It also clarifies the intended downstream effect ('so future reprojection tools can use it'), which helps distinguish it from reprojection/transform siblings. It does not explicitly name or differentiate against nearby siblings like set_project_crs or list_known_crs.

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?

The phrase 'so future reprojection tools can use it' implies this tool should be used before reprojection workflows that depend on a custom CRS. However, there is no explicit when-to-use, when-not-to-use, or named alternative guidance for choosing between this and set_project_crs, list_known_crs, or transform/reprojection tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_componentC

Remove a component instance from an assembly.

ParametersJSON Schema
NameRequiredDescriptionDefault
assembly_idYes
instance_idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden but says almost nothing beyond the operation name. It does not disclose whether removal is reversible via undo, what happens to mates/constraints attached to the component, whether ground/fixed components error out, or whether dependent assembly references break.

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?

A single short sentence with the action front-loaded and zero filler. It is efficient, though its brevity here reflects under-specification rather than disciplined trimming.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation tool with no annotations, no output schema, and two fully undocumented parameters, the description is too thin. It omits error conditions, side effects on constraints/mates, and any confirmation of what is returned or left behind after removal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for two required string parameters, so the description must compensate and does not. It only indirectly hints at the two anchors ('assembly', 'instance'); neither assembly_id nor instance_id is explained, and no format, ID source, or lookup guidance is given.

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 names a specific verb ('Remove') and resource ('a component instance from an assembly'), which is unambiguous and easily distinguished from destructive siblings like delete_entity or remove_raster_layer. It does not, however, explicitly contrast itself with the complementary add_component sibling.

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 guidance, no statement of preconditions (e.g. whether the instance must exist or the assembly must be loaded), and no mention of alternatives such as deleting its parent assembly or ungrouping it first. The agent is left to infer all usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_raster_layerB

Remove a raster layer by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It doesn't say whether removal is permanent, whether it affects the underlying file, whether it can be undone, or what happens to a currently attached/visible layer. For a destructive tool with zero annotation coverage this is a significant gap.

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?

A single, front-loaded sentence that communicates the core action with zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description is too thin. It omits reversibility, side effects, and whether it's a hard delete, leaving the agent under-informed before invoking a destructive operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter and schema coverage is 0%, but the description does supply the key semantic that 'id' identifies a raster layer. The schema itself gives the type and minimal length but no meaning. Baseline for a single well-understood parameter, with only marginal added value.

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?

States a specific verb (remove) and resource (raster layer) plus the identifying key (by id). It is clear and distinct from siblings like attach_raster_layer or delete_layer, though it doesn't explicitly name those alternatives.

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?

Implied usage: you call this when you want a raster layer gone. But no guidance on when to use it versus set_raster_layer_visible (a hide-only alternative) or delete_entity, and no mention of prerequisites or consequences.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rename_layerB

Rename an existing layer. Any entities on the old layer are updated to the new layer name.

ParametersJSON Schema
NameRequiredDescriptionDefault
new_nameYes
old_nameYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses that entities on the old layer are reassigned to the new name, but omits permissions, error conditions, undo behavior, and what happens if the old layer is missing or the new name conflicts.

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?

Two sentences, front-loaded with the action and followed by the key side effect. No wasted words.

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?

Covers the core action and one important side effect for a simple two-parameter mutation. However, with no annotations and no output schema, it should say more about failure modes, constraints, and layer-name rules to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only implicitly maps 'old layer' and 'new layer name' to old_name and new_name. It provides no constraints, validation rules, or naming conventions.

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?

States a specific verb (rename) and resource (layer) and describes the effect on entities. It does not explicitly distinguish this tool from rename_raster_layer or clarify vector vs. raster layers, so it falls short of a 5.

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?

No explicit when-to-use guidance, no alternatives, and no prerequisites are given. The description only implies the tool's usage by naming the action.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rename_raster_layerC

Rename a raster layer for human reference.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
nameYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It hints the name is 'for human reference' (a display label rather than a functional identifier), but says nothing about whether anything depends on the name, whether the change is persisted, or what errors occur for an unknown id.

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?

A single short sentence with the verb and resource front-loaded and no wasted words. Efficient, though the brevity comes at the cost of the missing detail noted elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A mutation tool with no annotations, no output schema, and 0% parameter coverage needs the description to explain inputs and effects. It does neither, so an agent lacks what it needs to invoke this correctly beyond guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for both parameters and does not. It never explains that 'id' identifies the target raster layer or that 'name' is the new label to assign, leaving the agent to infer both from the tool name alone.

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?

States a specific verb (Rename) and resource (raster layer), which is distinguishable from most siblings. However, it does not differentiate itself from the sibling rename_layer, which an agent could easily confuse with this raster-specific variant.

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?

No indication of when to use this versus rename_layer, nor any prerequisites such as attaching a raster layer first or having a valid layer id from list_raster_layers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

render_previewC

Render current scene or selected entities to a base64 image payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
viewNo
widthNo
heightNo
entity_idsNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, yet it only discloses the return encoding (base64 image). It says nothing about whether this is a read-only operation, how view/current scene is resolved, performance or image-size implications, or what base64 format (PNG/JPEG) is produced. The output-format note is a small plus against a large gap.

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?

A single front-loaded sentence with no wasted words, stating scope and output form immediately. It is optimally sized for a one-line tool summary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter render tool with no annotations, no output schema, and 0% schema description coverage, the description is too thin. An agent cannot confidently determine valid view values, sizing behavior, or entity-selection semantics from what is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and none of the four parameters (view, width, height, entity_ids) are explained. The phrase 'current scene or selected entities' loosely hints that entity_ids selects entities while its absence renders the scene, but view, width, and height carry no meaning from the description or schema.

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 states a specific verb (Render), the input scope (current scene or selected entities), and the output form (base64 image payload). This implicitly distinguishes it from the sibling render_preview_svg, which presumably returns vector SVG rather than a raster image. It is clear but never explicitly names the alternative to sharpen the contrast.

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?

The description gives no when-to-use or when-not-to-use guidance and never references render_preview_svg or other render/export siblings. An agent must infer from the name alone that this is the raster preview path versus the SVG path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

render_preview_svgC

Wireframe SVG preview of entities (mm). Optional entity_ids limits which shapes are drawn.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idsNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It states the output is a wireframe SVG in millimeters but omits whether the tool returns SVG content, writes a file, or what permissions are needed. For a rendering tool with no structured safety or behavior hints, this is a significant gap.

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?

Two sentences, front-loaded with the core purpose and then the only parameter's effect. Every sentence earns its place with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one optional parameter), but the absence of an output schema and any description of return values, side effects, or file output leaves the agent without essential information to invoke it confidently. The description is too thin for a rendering tool with no structured behavioral metadata.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single parameter. The description compensates partially by explaining that entity_ids is optional and limits which shapes are drawn, adding meaning beyond the bare array type. However, it does not clarify the expected ID format or the default behavior when omitted.

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 states a specific verb ('render'), output format ('SVG'), visual style ('wireframe'), and subject ('entities') with units ('mm'). It does not distinguish this tool from sibling tools like render_preview or generate_svg, leaving ambiguity about when to choose it over those alternatives.

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?

The only usage guidance is that entity_ids is optional and limits which shapes are drawn. There is no indication of when to use this tool versus render_preview, generate_svg, or batch_generate_svg, nor any prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

render_raster_layer_pngA

Decode an attached raster layer (or a GeoTIFF on disk) into a PNG preview. Single-band rasters are auto-stretched to grayscale; multi-band rasters use the first three bands. Returns base64 PNG bytes; pass output_path to also write to disk.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
pathNo
max_widthNo
max_heightNo
output_pathNo

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does reasonably well: it discloses band handling (single-band auto-stretched to grayscale, multi-band uses first three), the return type (base64 PNG bytes), and the side effect of output_path writing to disk. It stops short of stating permission requirements or that one of id/path must be supplied.

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?

Three tight sentences with the core purpose front-loaded, band behavior next, and output/return semantics last. No filler or redundancy.

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 tool with no annotations and no output schema, the description covers the return format and rendering behavior but leaves the sizing parameters and the id-versus-path input requirement unstated. Adequate but with clear gaps given the complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for five parameters. The description covers output_path and hints at id/path via 'attached raster layer (or a GeoTIFF on disk)', but max_width and max_height are never explained, and it does not clarify that id and path are mutually exclusive inputs. It compensates only partially for the coverage gap.

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?

States a specific verb and resource (decode a raster layer into a PNG preview) and scopes the accepted inputs (attached layer or on-disk GeoTIFF). This clearly separates it from list_raster_layers, attach_raster_layer, and the generic render_preview_svg/render_preview siblings.

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?

Usage is implied (produce a preview image from a raster), but there is no explicit when-to-use or when-not-to-use statement and no mention of alternatives such as get_raster_layer or render_preview_svg. The agent must infer routing from the purpose sentence alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reproject_pointA

Reproject a single point between two CRSes using proj4. from/to accept EPSG codes (e.g. 'EPSG:4326', '4326') or full proj4 strings. Common CN CRSes (EPSG:4326/3857/4490/4513-4533) are pre-registered.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYes
fromYes
pointYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full load, and it usefully discloses the accepted input formats and that common CN CRSes are pre-registered. However, it omits behavior on unknown/unregistered CRSes, whether z is preserved, and error or transformation-failure handling. Solid input context but not full behavioral coverage.

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?

Two tight sentences, front-loaded with the core action, then the input-format specifics. No filler; every clause carries useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool with no output schema and no annotations, the description covers the essential input semantics and supported CRSes well. It stops short of describing the returned coordinates or failure modes, which leaves a small gap for a transformation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does add real meaning for from/to by documenting EPSG and proj4 string formats with examples and listing pre-registered codes, but the nested point object (x/y/z) is left entirely unexplained.

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?

Names a specific verb (reproject), resource (a single point), and mechanism (proj4) between two CRSes. The word 'single' implicitly distinguishes it from the sibling reproject_points, and the CRS/format specifics make the operation unambiguous.

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?

Usage is only implied: 'single point' suggests this is the per-point variant versus batch siblings like reproject_points or transform_coords, but the description never explicitly names an alternative or states when to prefer this tool. No exclusions or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reproject_pointsC

Reproject many points between two CRSes in one call. Same from/to semantics as reproject_point.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYes
fromYes
pointsYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It says nothing about what happens on invalid CRS, whether points are mutated, output ordering, or error handling for a bulk operation.

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?

Two short sentences, front-loaded with the core action. No wasted words, though the brevity contributes to the semantic gaps.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With zero annotation coverage, no output schema, and 0% schema description coverage, the description is too thin for a 3-parameter bulk geospatial tool. It should explain CRS format, point shape, and return behavior, none of which is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three required parameters (from, to, points). The description only says 'Same `from`/`to` semantics as reproject_point,' which defers explanation to a sibling rather than explaining CRS format expectations here. It adds little beyond what the schema field names imply.

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 states a specific verb and resource: 'Reproject many points between two CRSes in one call.' This clearly distinguishes it from its sibling reproject_point by scope ('many' vs. single point), though the phrasing is terse.

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?

The description implies bulk use via 'many points ... in one call,' and references reproject_point's semantics, but it never explicitly states when to choose this tool over reproject_point or transform_coords. Guidance is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rollback_transactionA

Discard changes since the matching begin_transaction and restore scene state.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It does communicate the core effect (discard changes, restore scene state) and a precondition (a matching begin_transaction must exist). However, it says nothing about error behavior when no such transaction exists, nesting, reversibility, or permission requirements.

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?

A single sentence with no filler, front-loading the action and scope. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, annotation-free transactional tool with no output schema, the description covers what it does and the precondition for using it. It would be stronger with a note on failure modes or how it differs from undo/redo, but it is largely sufficient.

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?

The tool takes zero parameters, so there is no per-parameter meaning to add. Baseline 4 applies: the schema is empty and fully covered, and no parameter documentation is needed.

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?

States a specific verb ('discard') and resource ('changes since the matching begin_transaction') plus the resulting effect ('restore scene state'). The pairing with begin_transaction implicitly separates it from commit_transaction and undo, but no sibling is named explicitly, so it falls short of a full 5.

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?

The mention of a 'matching begin_transaction' implies the context in which it is valid, but there is no explicit when-to-use guidance, no statement of when-not to use it, and no routing to alternatives like undo or commit_transaction. Usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_projectB

Save the current scene to a project JSON file on disk (cad-mcp-project v1).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses the persistence target and format version ('project JSON file on disk', 'cad-mcp-project v1'), but omits whether an existing file is overwritten, permission/auth requirements, and error behavior for an invalid path.

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?

A single front-loaded sentence with the action, target, and format all present and zero filler. Nothing to trim and nothing buried.

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 one-parameter persistence tool with no annotations and no output schema, the minimal description is close to sufficient – the format disclosure helps. It still leaves overwrite semantics and the meaning of 'current scene' (active document vs. all documents) unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the lone 'path' parameter has no description, so the description must compensate. 'To a project JSON file on disk' does clarify that path is a filesystem destination rather than an in-project identifier, but adds no format, extension, or absolute/relative-path guidance.

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?

States a specific verb+resource ('Save the current scene') and the concrete artifact produced ('project JSON file on disk'), with a format identifier (cad-mcp-project v1). It is clearly distinguishable from load_project/open_project/new_project by the write-direction verb, though it does not explicitly name those siblings.

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?

No when-to-use, when-not-to-use, or alternative routing is provided. An agent must infer that this is for persisting the current scene rather than loading or creating one; nothing addresses ordering relative to load_project/new_project or whether unsaved changes matter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

select_groupC

Return entities in a group.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility. It does not disclose whether the operation is read-only, whether the return is a list, or any side effects. 'Return entities' is thin for a query tool.

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?

A single short sentence that front-loads the core operation. It is minimal but not bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a query tool with no annotations and no output schema, the description is incomplete: it omits return format, ordering, whether an empty group returns an empty list, and how it relates to group creation or ungrouping.

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?

Schema description coverage is 0% with only 1 required parameter. The description names the resource being selected by group_id, giving a semantic hint (it represents a group identifier) and implying that the return is the entities belonging to that group. Baseline 4 for zero params; here one param is nominally covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb (Return) and resource (entities in a group), which is somewhat clearer than a tautology, but does not distinguish it from siblings like list_entities or find_entities_by_layer. The scope is vague about whether it is a query or a selector.

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?

Provides no guidance on when to use this tool versus alternatives such as list_entities or get_entity_properties. The description leaves usage entirely implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_component_flexibleC

Mark a component as flexible or rigid.

ParametersJSON Schema
NameRequiredDescriptionDefault
flexibleYes
assembly_idYes
instance_idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether the change is reversible, what happens if the component is part of a rigid assembly, whether it affects mates or constraints, or what permissions are needed. It only restates the mutation without any side-effect or prerequisite information.

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?

The description is a single front-loaded sentence with zero wasted words. It is appropriately concise for a simple setter, though its brevity contributes to gaps elsewhere rather than being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three required parameters with no schema descriptions, no annotations, and no output schema, the description is too sparse to be complete. It omits parameter meaning, usage context, and behavioral effects, leaving the agent to infer almost everything from parameter names.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for all three parameters. It only vaguely maps the boolean 'flexible' to the flexible/rigid states, while 'assembly_id' and 'instance_id' are never explained in the description or schema. An agent can guess their purpose from names, but the description adds little semantic value.

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 states a clear verb ('Mark') and resource ('a component') with the specific end state ('flexible or rigid'). It distinguishes the tool from unrelated siblings like create_box or measure_distance, though no sibling performs the same action. The meaning of 'flexible' in an assembly context is not expanded, but the core purpose is clear.

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?

The description gives no indication of when to use this tool versus alternatives, nor any prerequisites such as requiring an existing assembly or component. It simply states what the tool does, leaving the agent to infer usage context entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_drawing_scaleC

Set a drawing scale factor between local drawing units and world coordinates.

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It says 'set' (a mutation) but does not disclose whether the change is persisted, whether it affects existing entities, whether it requires an open drawing, or whether it is reversible.

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?

A single, front-loaded sentence with no filler. Efficient, though it is arguably too terse given the missing usage and behavioral detail.

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?

The tool is simple (one required numeric param), so the description is minimally viable, but with no annotations and no output schema, it should say more about the effect and persistence of the change and the state required to call it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single 'scale' parameter, so the description must compensate. It does clarify the semantic meaning of the value (a ratio between local drawing units and world coordinates), which is genuinely useful, but gives no units convention, expected value range, or example.

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?

States a specific verb+resource ('Set a drawing scale factor') with a clear scope qualifier ('between local drawing units and world coordinates'). An agent can identify the operation, though there is no explicit differentiation from related siblings like add_scale_bar or create_viewport.

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?

No when-to-use guidance, no prerequisites (e.g. must a drawing/document be active), and no alternatives named. The agent has to infer context of use entirely on its own.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_entity_colorC

Set entity color display metadata on one or more entities.

ParametersJSON Schema
NameRequiredDescriptionDefault
colorYes
entity_idsYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. 'Display metadata' usefully implies a non-geometric, presentation-only change, but it says nothing about whether existing color is overwritten, permission/auth requirements, whether it affects plotting vs screen display only, or what the response returns. Significant gap for a mutation tool.

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?

A single, front-loaded sentence with zero padding. Appropriately sized, though its brevity coincides with the informational gaps noted elsewhere rather than being a fault of structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter mutation tool with no annotations, no output schema, and 0% schema coverage, the description is too thin. An agent lacks color format, multi-entity behavior clarification, and any mutation semantics to invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It only implies entity_ids accepts multiple entities ('one or more entities') but gives no color format details (name, hex, palette index) for the required 'color' string, leaving the most important input semantics undocumented.

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?

States a specific verb and resource ('Set entity color display metadata on one or more entities'), which is clear enough for an agent to understand the operation. However, it does not distinguish itself from close siblings like set_entity_property, set_entity_linetype, or set_layer_color, so no credit for sibling differentiation.

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?

The description offers no when-to-use guidance, no conditions, and no mention of alternatives such as set_entity_property or set_layer_color. The agent gets no routing help among the many set_* siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_entity_layerC

Assign entities to a layer by name.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idsYes
layer_nameYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not state that this is a mutating operation, whether entities are removed from their previous layer, whether the named layer must pre-exist or is auto-created, or what happens on partial failure.

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?

A single short sentence with the action front-loaded and zero filler. It is appropriately sized, though it borders on under-specification rather than true economy.

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 simple two-parameter mutation with no annotations and no output schema, the description is minimally viable but leaves the key behavioral question (layer existence and entity reassignment side effects) unanswered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. 'Entities' maps to entity_ids and 'layer by name' maps to layer_name, covering both parameters conceptually, but it adds no format, ID-shape, or validation detail beyond that loose mapping.

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?

States a specific verb (assign) and resource (entities to a layer), making the effect unambiguous. It does not differentiate itself from siblings like set_entity_property or set_entity_color, which also mutate entity attributes, so an agent must rely on the name alone to route correctly.

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 guidance, no mention of prerequisites (e.g. whether the target layer must already exist, or that create_layer is the sibling for that), and no alternatives. The agent gets no routing help beyond the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_entity_linetypeC

Set entity linetype display metadata on one or more entities.

ParametersJSON Schema
NameRequiredDescriptionDefault
linetypeYes
entity_idsYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It conveys only that the change is display metadata and operates on one or more entities; it omits whether the linetype name must pre-exist, whether the change is reversible/undoable, and what happens on failure.

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?

One efficient sentence with the operation and target front-loaded and no filler. It is well-sized for the tool, though it is so terse that brevity edges into under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and 0% parameter documentation, the definition is too thin. An agent knows the intent but lacks the parameter constraints and behavioral caveats needed to call it reliably.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does not. It never explains the expected format of 'linetype' (e.g., a loaded linetype name) or whether 'entity_ids' accepts multiple entity types, leaving both required parameters semantically opaque.

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 uses a specific verb ('Set') and resource ('entity linetype'), telling an agent exactly what operation is performed on what object. It does not, however, distinguish itself from the close sibling setters (set_entity_layer, set_entity_color, set_entity_lineweight), which is the main gap.

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 guidance on when to use this tool versus alternatives, no prerequisites (e.g., the linetype must already be defined/loaded in the drawing), and no mention of related setters. The agent must infer context entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_entity_lineweightC

Set entity lineweight display metadata on one or more entities.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idsYes
lineweightYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. 'Display metadata' usefully signals that geometry is unaffected, but it omits everything else an agent needs: whether the change is persistent, whether it requires an undo checkpoint or transaction, what valid lineweight values or units are accepted (e.g. ByLayer/ByBlock sentinels), and what happens on invalid input.

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?

A single front-loaded sentence with zero filler, which is appropriately sized. It is terse to the point of under-specification, but that is a completeness issue rather than a verbosity problem.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-required-parameter mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is too thin. An agent cannot determine accepted value ranges, identifier format, persistence/undo behavior, or error handling from either the description or the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for both parameters and does not. It never explains that 'entity_ids' are handles/identifiers of existing entities or that 'lineweight' is a numeric value with an expected range and special-value semantics; the phrase 'one or more' is the only added meaning.

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 states a specific verb ('Set') and resource ('entity lineweight display metadata'), which lets an agent distinguish it from sibling setters like set_entity_color, set_entity_linetype, and set_entity_property. However, it does not name those siblings or explain how this differs from the generic set_entity_property alternative.

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 guidance, no prerequisites, and no mention of alternatives such as set_entity_property or set_entity_layer. The only usage hint is 'one or more entities,' which implies batch application but is not framed as guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_entity_propertyB

Set a mutable entity field (layer, coords, closed, properties) or a custom property-bag value. Reserved fields id and type cannot be changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueNo
propertyYes
entity_idYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral load. It discloses mutability limits and reserved-field restrictions, which is useful, but omits permissions, reversibility, side effects on existing values, and error behavior.

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?

Two tightly written sentences, front-loaded with the action and constraints, with no filler. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and 0% schema description coverage, the description is materially incomplete. Value type, return/error behavior, and interaction with sibling setters are absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The description enumerates allowed property values (layer, coords, closed, properties) and mentions custom property-bag values, partially compensating for the missing property enum. However, entity_id and value semantics remain unspecified, and value has no type.

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?

States the verb 'Set' and the resource 'entity property', listing mutable fields and reserved fields. It does not explicitly differentiate from sibling set_entity_layer, which overlaps on the 'layer' field, so it misses a clear 5.

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?

No explicit when-to-use guidance or alternatives are given. The mutable/reserved distinction implies scope, but an agent must infer when to choose this over set_entity_layer, set_entity_color, or set_parameter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_layer_colorA

Set or clear a layer display color. Pass an empty string to clear the stored color.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
colorYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does add useful behavioral context by disclosing the empty-string clear sentinel, which is not derivable from the schema. However, it omits whether the layer must already exist, error behavior, or permission requirements for this mutation.

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?

Two tight sentences with zero waste. The core action is front-loaded and the clearing hint follows immediately.

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 mutation tool with no annotations, no output schema, and 0% parameter description coverage, the description covers the key sentinel but leaves the name parameter and error/permission behavior unexplained. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description should compensate. It usefully explains the empty-string semantics of the color parameter, which the schema does not. But the name parameter (which layer this applies to, and whether it must exist) is left entirely undocumented.

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?

States a specific verb and resource: sets or clears a layer's display color. This is clearly distinct from siblings like rename_layer, delete_layer, and set_entity_color. No explicit sibling routing, but the resource 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description tells how to clear (empty string) but gives no guidance on when to use this versus set_entity_color or other layer-setting siblings. Usage is implied by the name rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_layer_lockedC

Set whether a layer is locked against editing.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
lockedYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and reveals the mutation is a toggle of the 'locked' attribute. However it omits what locking prevents (editing vs selection vs deletion), whether it's reversible, whether it requires the layer to be empty, and permission requirements. Adequate but thin for a mutation tool.

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?

A single front-loaded sentence with no waste. Efficient, though possibly under-specified rather than genuinely concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No annotations, no output schema, 0% schema coverage on both params, and a mutation operation. The description should clarify the locked semantics and prerequisites but does not, leaving significant gaps for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the schema documents neither parameter (name, locked). The description mentions 'layer' and 'locked' implicitly, partially decoding params, but gives no format for name or semantics of the boolean. Falls short of compensating for the coverage gap.

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?

States a specific verb ('set') and resource ('layer locked'). Clear what modifies what, though not aggressively differentiated from siblings like set_layer_visible or set_entity_layer beyond the 'locked' attribute. Adequate but not exceptionally sharp.

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?

No guidance on when to use this vs set_layer_visible or set_entity_layer, no prerequisites stated, no mention of alternatives. The agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_layer_visibleC

Set whether a layer is visible in previews and listings.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
visibleYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full behavioral burden and does not meet it. It never says this mutates persistent layer state, whether the change is undoable, what happens if the layer name does not exist, or whether hidden layers are merely excluded from previews or from all rendering.

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?

A single well-formed sentence with no filler, and the action is front-loaded. It is arguably over-terse rather than wasteful, but nothing in it is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A mutation tool with no annotations, no output schema, and 0% parameter documentation needs the description to do far more work. As written, an agent lacks enough context to call it correctly against its near-identical sibling set_raster_layer_visible.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for both parameters, and it largely does not. It implies 'visible' is a boolean toggle but never clarifies that 'name' is the layer name (versus a handle or ID), nor does it note that both parameters are required or that names are case-sensitive.

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?

States a specific verb ('Set') and resource ('layer') plus the target property ('visible'), which is clearly distinct from set_layer_locked or set_layer_color. However, it fails to distinguish itself from the very close sibling set_raster_layer_visible, and the phrase 'in previews and listings' is an unusual scope that may understate or misstate where visibility actually applies.

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?

No when-to-use guidance, no prerequisites, and no mention of the obvious alternative set_raster_layer_visible or set_layer_locked. An agent must infer that this tool applies to vector layers rather than raster layers entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_map_extentC

Set the current map extent used for paper layout, grids, and exports.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxXYes
maxYYes
minXYes
minYYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It does not disclose coordinate-system expectations, units, whether the extent affects existing entities or only layout output, whether the change is reversible, or whether CRS/project settings must first be configured.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and contains no filler, which is structurally sound. However, for a tool with four required numeric parameters and no schema documentation, this is under-specified rather than appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and 0% parameter description coverage, the definition omits information an agent needs to invoke the tool correctly, especially coordinate space, units, and prerequisite CRS/project state. Mentioning paper layout, grids, and exports adds some domain context but is far from complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for four required numeric parameters (minX, minY, maxX, maxY). The description says nothing about their coordinate space, units, expected ordering, or relationship to the current project CRS, so it fails to compensate for the schema gap.

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 states a specific verb ('Set') and resource ('the current map extent'), so an agent can understand the core action. It does not distinguish this tool from related siblings such as set_drawing_scale, set_project_crs, or create_map_layout, and it does not clarify coordinate-space scope.

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?

It gives no when-to-use guidance, no prerequisites, and no alternatives or exclusions relative to sibling tools. The phrase 'used for paper layout, grids, and exports' hints at downstream effects but does not tell the agent when this tool should be selected over related extent or scale tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_materialC

Attach material metadata to a solid.

ParametersJSON Schema
NameRequiredDescriptionDefault
solid_idYes
material_nameYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether attaching material overwrites a prior material, whether the solid must already exist, what permissions are needed, or what the operation returns for a mutation tool.

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?

A single efficient sentence with the verb front-loaded. It is well sized, though its brevity is partly under-specification rather than compression of real information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and two undocumented parameters at 0% coverage, the definition is too thin for a mutation tool. An agent cannot confirm target format, overwrite behavior, or return value from the available information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for two required parameters, so the schema gives no meaning for solid_id or material_name. The description does not clarify the identifier format for solid_id or whether material_name must match an existing library entry, leaving both parameters underspecified.

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?

States a specific verb (attach) and resource (material metadata to a solid), which is clear on its own. However, it offers no differentiation from siblings like set_entity_property or define_attribute, so the agent must infer context, keeping it below a 5.

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 guidance on when to use this tool versus alternatives such as set_entity_property or the various set_* tools in the sibling list. No prerequisites, no exclusions, and no context for the standard workflow are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_parameterC

Create or replace a named parameter.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
unitNo
valueYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but only states 'create or replace.' It does not disclose side effects, permissions required, behavior when the parameter already exists, error handling, or whether the optional unit is preserved or reset.

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?

The description is a single front-loaded sentence with no wasted words. Its brevity is appropriate in form, though the missing detail is a completeness issue rather than a conciseness flaw.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, no output schema, and three undocumented parameters, the definition is substantially incomplete. It lacks sibling routing (update_parameter), parameter explanations for value and unit, and any behavioral context about replacing existing parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three parameters, so the description must compensate. It only hints at the 'name' parameter via 'named' and says nothing about the required 'value' parameter or the optional 'unit' parameter, leaving their meaning entirely undocumented.

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 states a specific verb+resource ('Create or replace a named parameter') and implies upsert semantics, which distinguishes it from a pure create or pure update. However, it does not explicitly name or differentiate from siblings like update_parameter, get_parameter, or list_parameters, so sibling differentiation is left to inference.

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 guidance, no mention of alternatives, and no prerequisites. The description simply states what the tool does, leaving the agent to infer when set_parameter should be chosen over update_parameter or other parameter tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_project_crsC

Set project CRS and optional origin metadata for resource/environment mapping workflows.

ParametersJSON Schema
NameRequiredDescriptionDefault
wktNo
codeNo
nameNo
unitsNo
originNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must disclose behavioral traits. It doesn't state what happens to existing CRS data (overwrite?), whether the operation is reversible, any required permissions, or constraints. For a mutation tool with zero annotation coverage, this is a notable gap.

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 description is a single, well-formed sentence that front-loads the core action and includes secondary context without fluff. It is appropriately sized for the information provided.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations, output schema, and parameter descriptions, the description is insufficient. It omits critical details about parameter formats, mutation effects, and how this tool fits with siblings like get_project_crs or register_crs_definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain any of the five parameters. The nested 'origin' object and fields like wkt, code, units are left completely undocumented. An agent would have to guess what values are expected.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action (set) and resource (project CRS) with the addition of origin metadata. However, it does not differentiate from the sibling get_project_crs, which is the read counterpart. The purpose is understandable but sibling relationship is unaddressed.

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?

No guidance on when to use this tool versus alternatives like reproject_point, transform_coords, or register_crs_definition. The phrase 'for resource/environment mapping workflows' hints at context but doesn't specify when to choose this tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_raster_layer_visibleC

Toggle a raster layer's visibility flag.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
visibleYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It implies a reversible, non-destructive display-state change, but does not say whether the flag persists to the project, whether it is undoable, whether it affects exports/rendering, or what happens if the id is unknown.

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?

A single short, front-loaded sentence with zero filler. It is efficient, though the extreme terseness is under-specification rather than true conciseness for a tool with an ambiguous verb.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No annotations, no output schema, 0% parameter coverage, and a bare description leave the agent without the information needed to call this confidently. At minimum it should clarify the set-vs-toggle semantics and the mutation's persistence.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% for two required parameters, so the description is the only source of meaning, and it fails to distinguish them. Worse, 'Toggle' suggests flipping the current state, while the required 'visible' boolean actually sets an explicit value — a genuine ambiguity that could cause a wrong call.

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 names a specific verb ('Toggle'/'set') and resource ('raster layer's visibility flag'), and the word 'raster' distinguishes it from the many vector-layer and entity tools in the sibling list. It is clear what operation is performed, though it never explicitly contrasts itself with the closely named sibling set_layer_visible.

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?

The description gives no when-to-use context, no prerequisites (e.g. the layer must already be attached via attach_raster_layer), and no alternatives. An agent must infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_table_cellC

Set a table cell value.

ParametersJSON Schema
NameRequiredDescriptionDefault
colYes
rowYes
contentYes
table_idYes

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry behavioral disclosure. 'Set' implies a mutation/overwrite, but it says nothing about persistence, error handling, indexing base, permissions, or effects on existing cell content.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is concise but insufficiently sized for a four-parameter mutation tool. It is front-loaded but under-specified, so the brevity reflects missing information rather than efficient structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given four required parameters, zero annotation coverage, no output schema, and 0% schema description coverage, the description is not complete enough to invoke the tool correctly. It omits indexing, table existence, content format, and overwrite semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and all four required parameters are undocumented in the schema. The description does not explain table_id, row, col, or content semantics such as zero-based indexing or overwrite behavior, so it adds no parameter meaning.

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?

Names a specific verb ('Set') and resource ('table cell value'), so the core operation is clear and distinct from most siblings like create_table. It stops short of differentiating from any other table-cell operation or clarifying scope, so not a 5.

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?

No when-to-use guidance is provided. It does not say a table must already exist, when to call this versus create_table, or how row/col are interpreted. Only the action itself is implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_view_standardC

Store active drawing standard in parameter state.

ParametersJSON Schema
NameRequiredDescriptionDefault
view_nameYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and states only that something is 'stored.' It does not say whether this mutates an existing view, whether it persists across sessions, whether it can be undone, or whether view_name must reference an existing view.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no waste, but its brevity stems from under-specification rather than efficiency; there is no front-loaded rationale for the tool's role.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a state-mutating tool with no annotations, no output schema, and an undocumented required parameter, the description should explain the affected object and persistence behavior. It leaves all of that to inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% for the single parameter, and the description never explains what view_name accepts (an existing view name? a new one?) or what a 'standard' value is. The only hint is the word 'view' echoed in the tool name, which is insufficient compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'Store' and the resource 'active drawing standard' are identifiable, but the phrase 'in parameter state' is jargon that never explains what a view standard is or how it relates to the view_name input. It is not distinguishable from siblings like set_parameter or set_drawing_scale without guessing.

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?

No indication of when to call this versus set_parameter/update_parameter/set_drawing_scale, no prerequisites, and no mention of when the stored standard takes effect. The agent gets no routing guidance at all.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_visual_styleC

Store active visual style in parameter state.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleYes

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description must disclose behavior. It says 'Store ... in parameter state', implying a mutation, but does not explain side effects, persistence, required context, or what the active visual style affects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very short single sentence with no wasted words, but it is under-specified for a state-changing tool. The structure is front-loaded, yet 'parameter state' is unclear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description should carry more weight. For a setter that changes visual style, it omits what visual styles are valid and what state is affected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%: the sole parameter 'style' is an undocumented string. The description implies it holds the active visual style, but gives no valid values, format, or examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the verb 'Store' and resource 'active visual style', so the basic action is identifiable. However 'parameter state' is vague, and the description does not distinguish it from sibling setters like set_parameter or set_entity_property.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no alternatives, and no prerequisites. Sibling tools include set_parameter and many other set_* operations, but the description gives no routing information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

shellC

Create a simplified shelled copy of a solid.

ParametersJSON Schema
NameRequiredDescriptionDefault
angleNo
guidesNo
radiusNo
path_idNo
distanceNo
edge_idsNo
face_idsNo
profilesNo
solid_idNo
directionNo
thicknessNo
open_facesNo
profile_idNo

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses that a copy is created (not the original being modified) and that the result is 'simplified,' but it says nothing about parameter effects, required inputs, error conditions, or how the shell operation behaves with open faces, thickness, or direction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and free of filler, but it is not appropriately sized for a tool with 13 parameters and no schema descriptions. The extreme brevity here reflects under-specification rather than purposeful conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is far too thin for the tool's complexity. With no annotations, no output schema, 0% schema description coverage, and 13 parameters, an agent cannot determine required inputs or invocation behavior from the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 13 parameters, and the description adds no parameter meaning. Terms like angle, radius, path_id, edge_ids, face_ids, thickness, and open_faces are not explained at all, leaving every parameter undocumented.

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 states a specific verb ('Create') and a specific CAD resource ('a simplified shelled copy of a solid'), making the operation identifiable. It does not explicitly differentiate from related siblings like offset, boolean, or loft, but the shelling operation is distinct enough for an agent to recognize it.

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 guidance on when to use this tool versus alternatives, no prerequisites, and no exclusion conditions. The purpose implies a basic use case, but the description offers no routing help for an agent choosing among many CAD creation and modification tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sweepC

Create a simplified swept solid from a profile and path.

ParametersJSON Schema
NameRequiredDescriptionDefault
angleNo
guidesNo
radiusNo
path_idNo
distanceNo
edge_idsNo
face_idsNo
profilesNo
solid_idNo
directionNo
thicknessNo
open_facesNo
profile_idNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full behavioral burden. It states that it creates a solid but discloses nothing about permissions, whether it is additive/subtractive, how it interacts with existing geometry, or what happens on failure. For a 13-parameter geometry mutation, this is a substantial gap.

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?

A single efficient sentence with zero waste and the core action front-loaded. However, given the tool's complexity, its extreme brevity is under-specification rather than optimal conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 13 parameters, 0% schema coverage, no annotations, and no output schema, the description should carry a heavy explanatory load. It does not; an agent cannot call this tool correctly based on the definition alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 13 parameters. The description only vaguely alludes to 'profile' and 'path', leaving angle, radius, distance, guides, edge_ids, face_ids, solid_id, direction, thickness, and open_faces completely undocumented in both schema and description.

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?

States a specific verb (Create) and resource (swept solid) and distinguishes the operation from siblings like loft and create_revolution by naming inputs 'profile and path'. The word 'simplified' is vague about how the result differs from a full sweep, but the core purpose is clear.

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?

No when-to-use, when-not-to-use, prerequisites, or alternative tools are mentioned. An agent has no guidance on choosing sweep over loft, create_revolution, or boolean operations, nor on required inputs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transform_coordsB

Transform coordinates between local drawing space and world space using project origin and drawing scale.

ParametersJSON Schema
NameRequiredDescriptionDefault
pointYes
directionYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It usefully discloses the transformation basis (project origin and drawing scale) and that this is a pure coordinate conversion, but it never states that the call is side-effect-free, nor what shape the transformed value comes back in.

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?

A single tight sentence that front-loads the operation and the two spaces. Nothing is wasted, though it is arguably under-specified rather than deliberately minimal.

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?

With no output schema and no annotations, the description should at minimum indicate what is returned (a transformed point, presumably in the same x/y/z shape), which it omits. The 0% parameter coverage and nested input object also go uncompensated, so a caller still has open questions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for two parameters, one of them a nested object with x/y/z, and the description adds no parameter-level meaning beyond the vague term 'coordinates' and 'local/world space'. It does not say how the optional z is treated, whether the direction enum is required, or what units apply.

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?

States a specific verb (transform) and resource (coordinates) plus the two spaces involved (local drawing space, world space), so the operation is unambiguous. It does not, however, differentiate itself from nearby siblings like reproject_point or reproject_points, which an agent could easily confuse with a coordinate transformation.

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 guidance, no mention of prerequisites (e.g. that a project origin and drawing scale must already be set), and no routing to or away from alternatives such as reproject_point. The reader must infer all usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trimC

Trim a line-like entity by shortening it toward its midpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
entity_idYes
cutting_entitiesNo

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It states that the entity is shortened, but does not explain mutation semantics, whether the original entity is modified, what happens with cutting_entities, or how to reverse the operation.

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?

The description is a single front-loaded sentence with no wasted wording. It is concise, though its brevity contributes to the missing operational detail assessed in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a CAD trim operation with no annotations, no output schema, and 0% schema description coverage, the description is far too sparse. It does not explain the cutting_entities parameter or the resulting state of the trimmed entity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must document parameter meaning. It vaguely references a 'line-like entity' but never explains entity_id, and it completely omits the optional cutting_entities parameter that likely controls the trim operation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('Trim') and a broad resource ('line-like entity'), but 'line-like entity' is vague and the phrase 'toward its midpoint' may not match the schema's cutting_entities parameter. It does not distinguish this tool from the sibling 'extend' tool.

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?

The description implies trimming applies to line-like entities, but it gives no explicit when-to-use guidance, no prerequisites, and no comparison with alternatives such as 'extend' or 'fillet_2d'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

undoB

Restore the scene to the previous undo checkpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It says the scene is restored, but not whether the checkpoint is consumed, whether the action is itself undoable via 'redo', what happens when no checkpoint exists, or how it interacts with open transactions — all material for a state-mutating tool.

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?

A single front-loaded sentence with the action and target state up front and no wasted words. It is perhaps slightly too terse given the unstated safety/ordering semantics, but structurally it is clean.

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 zero-parameter, no-output-schema tool the description is minimally sufficient to call correctly, but it leaves out the checkpoint/redo/transaction interactions that determine whether calling it is the right move at a given moment.

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?

The tool takes zero parameters and the schema is empty, so there is nothing for the description to compensate for; baseline 4 applies. No parameter meaning is needed or missing.

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?

States a specific verb ('Restore') and resource ('the scene') plus the target state ('previous undo checkpoint'), so the core action is unambiguous. It does not, however, distinguish itself from the sibling 'redo' or clarify its relationship to 'push_undo_checkpoint'/'rollback_transaction', so an agent must infer the boundaries.

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 statement of when to call this versus the obvious alternatives ('redo' to move forward again, 'rollback_transaction' for transaction-scoped reverts, 'push_undo_checkpoint' to create the checkpoint it consumes). Usage is only implied by the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ungroupC

Remove a group by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
group_idYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, yet it is ambiguous whether 'remove' deletes the group's member objects or merely dissolves the grouping (the name 'ungroup' suggests the latter while the text suggests the former). It says nothing about reversibility, permissions, or side effects on contained entities.

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?

A single front-loaded sentence with no filler, which is efficient, though arguably too terse given the semantic ambiguity of the operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive-sounding grouping operation with no annotations, no output schema, and an undocumented required parameter, the description leaves the key question (are member entities deleted or preserved?) unanswered, so an agent cannot call it safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter is group_id at 0% schema description coverage, and the phrase 'by id' only weakly clarifies that the value identifies the target group. Beyond that, no format, source, or acquisition guidance for the id is added over the schema.

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 states a specific verb ('remove') and resource ('group') qualified by 'by id', so the agent can tell it targets a group rather than an entity. It does not differentiate from siblings like create_group/select_group or clarify how it relates to delete_entity, but the resource noun makes the intent reasonably 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 indication of when to use this versus create_group, select_group, or remove_component, nor any prerequisite such as the group needing to exist. Usage is only implied by the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_drawing_viewsC

Return current drawing state after a logical refresh.

ParametersJSON Schema
NameRequiredDescriptionDefault
drawing_idYes

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It states that it returns current drawing state after a refresh, but does not disclose whether the refresh mutates anything, what permissions are required, whether it is idempotent, or what the returned state includes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. However, the phrase 'logical refresh' is unexplained and the sentence is under-specified rather than optimally concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, so the description should carry the context. It does not explain what 'drawing state' means, how the refresh affects views, or how to use the drawing_id, making it inadequate for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single required parameter drawing_id is not mentioned in the description at all. The description does not compensate for the missing schema documentation, leaving an agent without guidance on the parameter's meaning or format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states an action ('Return current drawing state') and a condition ('after a logical refresh'), but 'logical refresh' is vague and it does not clarify what drawing views are being updated despite the tool name. It also gives no sibling differentiation from the many other drawing/CAD tools.

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?

No guidance is provided about when to use this tool versus alternatives such as create_drawing, add_view, or render_preview. The description gives no context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_parameterC

Update an existing parameter value.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
unitNo
new_valueYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It implies a mutation but says nothing about permissions, reversibility, side effects, or required preconditions, leaving significant behavioral gaps for an update operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and free of clutter, which is good. However, it is too thin for a three-parameter mutation tool with no annotations or schema descriptions, so conciseness here borders on under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a mutation tool with three parameters, no annotations, no output schema, and 0% schema description coverage, the description is far too sparse. It provides only the bare purpose and omits behavioral, usage, and parameter details an agent would need.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain name, new_value, and unit. It only loosely corresponds to updating a parameter value and gives no meaning for the name identifier, the optional unit, or accepted value types.

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 gives a clear verb+resource: update an existing parameter value. It distinguishes updating from getting or listing parameters, but does not differentiate this tool from the sibling set_parameter, leaving ambiguity about which mutation tool to choose.

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 guidance on when to use this tool, when not to use it, or which sibling is appropriate in given contexts. The description does not mention prerequisites or how this differs from set_parameter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 225 tool updatesv0.1.0
    • First observedadd_aligned_dimension
    • First observedadd_angular_dimension
    • First observedadd_auxiliary_view
    • First observedadd_baseline_dimension
    • First observedadd_center_line
    • First observedadd_center_mark
    • First observedadd_component
    • First observedadd_constraint_coincident
    • First observedadd_constraint_concentric
    • First observedadd_constraint_equal
    • First observedadd_constraint_fixed
    • First observedadd_constraint_horizontal
    • First observedadd_constraint_midpoint
    • First observedadd_constraint_parallel
    • First observedadd_constraint_perpendicular
    • First observedadd_constraint_symmetric
    • First observedadd_constraint_tangent
    • First observedadd_constraint_vertical
    • First observedadd_continued_dimension
    • First observedadd_coordinate_grid
    • First observedadd_detail_view
    • First observedadd_diameter_dimension
    • First observedadd_dimension_angular
    • First observedadd_dimension_diameter
    • First observedadd_dimension_linear
    • First observedadd_dimension_radial
    • First observedadd_explode_step
    • First observedadd_gdt_frame
    • First observedadd_leader
    • First observedadd_legend
    • First observedadd_linear_dimension
    • First observedadd_mtext
    • First observedadd_multileader
    • First observedadd_north_arrow
    • First observedadd_ordinate_dimension
    • First observedadd_radius_dimension
    • First observedadd_scale_bar
    • First observedadd_section_view
    • First observedadd_surface_finish_symbol
    • First observedadd_text
    • First observedadd_view
    • First observedadd_weld_symbol
    • First observedanimate_explode
    • First observedapply_thesis_template
    • First observedarray_polar
    • First observedarray_rectangular
    • First observedattach_raster_layer
    • First observedautocad_activate_document
    • First observedautocad_attach
    • First observedautocad_detach
    • First observedautocad_get_variables
    • First observedautocad_list_documents
    • First observedautocad_list_layers
    • First observedautocad_list_modelspace_entities
    • First observedautocad_send_command
    • First observedautocad_status
    • First observedbatch_generate_pdf
    • First observedbatch_generate_svg
    • First observedbegin_transaction
    • First observedboolean_intersect
    • First observedboolean_subtract
    • First observedboolean_union
    • First observedchamfer_2d
    • First observedchamfer_3d
    • First observedcheck_clearance
    • First observedcheck_interference
    • First observedcommit_transaction
    • First observedcompute_cut_fill_volume
    • First observedcompute_grid_surface_volume
    • First observedcompute_section_area
    • First observedcreate_arc
    • First observedcreate_assembly
    • First observedcreate_block
    • First observedcreate_boundary_polygon
    • First observedcreate_box
    • First observedcreate_circle
    • First observedcreate_cone
    • First observedcreate_cylinder
    • First observedcreate_drawing
    • First observedcreate_ellipse
    • First observedcreate_exploded_view
    • First observedcreate_group
    • First observedcreate_layer
    • First observedcreate_line
    • First observedcreate_map_layout
    • First observedcreate_monitoring_well
    • First observedcreate_point
    • First observedcreate_polygon
    • First observedcreate_polyline
    • First observedcreate_prism
    • First observedcreate_profile_line
    • First observedcreate_rectangle
    • First observedcreate_revolution
    • First observedcreate_sampling_point
    • First observedcreate_sphere
    • First observedcreate_spline
    • First observedcreate_table
    • First observedcreate_torus
    • First observedcreate_viewport
    • First observeddefine_attribute
    • First observeddelete_entity
    • First observeddelete_layer
    • First observeddraft_angle
    • First observeddwg_tools_status
    • First observededit_block
    • First observedexplode_block
    • First observedexport_3mf
    • First observedexport_dwg
    • First observedexport_dxf
    • First observedexport_geojson
    • First observedexport_gltf
    • First observedexport_iges
    • First observedexport_obj
    • First observedexport_shapefile
    • First observedexport_step
    • First observedexport_stl
    • First observedexport_svg
    • First observedextend
    • First observedfillet_2d
    • First observedfillet_3d
    • First observedfind_entities_by_layer
    • First observedfind_entities_by_property
    • First observedfind_entities_in_region
    • First observedgenerate_pdf
    • First observedgenerate_svg
    • First observedgeometry_backend_status
    • First observedget_bounding_box
    • First observedget_curve_length
    • First observedget_edge_list
    • First observedget_entity_properties
    • First observedget_entity_type
    • First observedget_face_list
    • First observedget_face_normal
    • First observedget_layer_list
    • First observedget_mass_properties
    • First observedget_parameter
    • First observedget_project_crs
    • First observedget_project_info
    • First observedget_raster_layer
    • First observedget_topology
    • First observedget_vertex_list
    • First observedimport_csv_points
    • First observedimport_dwg
    • First observedimport_dxf
    • First observedimport_geojson
    • First observedimport_geotiff_metadata
    • First observedimport_iges
    • First observedimport_obj
    • First observedimport_pdf_as_underlay
    • First observedimport_shapefile
    • First observedimport_step
    • First observedimport_stl
    • First observedimport_svg
    • First observedinsert_block
    • First observedlist_blocks
    • First observedlist_entities
    • First observedlist_entities_by_domain_kind
    • First observedlist_known_crs
    • First observedlist_layers
    • First observedlist_parameters
    • First observedlist_raster_layers
    • First observedload_project
    • First observedloft
    • First observedmate_angle
    • First observedmate_coincident
    • First observedmate_concentric
    • First observedmate_distance
    • First observedmate_parallel
    • First observedmeasure_angle
    • First observedmeasure_area
    • First observedmeasure_bounding_box
    • First observedmeasure_centroid
    • First observedmeasure_distance
    • First observedmeasure_minimum_distance
    • First observedmeasure_moment_of_inertia
    • First observedmeasure_perimeter
    • First observedmeasure_polygon_area_stats
    • First observedmeasure_profile_length
    • First observedmeasure_surface_area
    • First observedmeasure_volume
    • First observedmirror_2d
    • First observednew_project
    • First observedoffset
    • First observedopen_project
    • First observedpush_undo_checkpoint
    • First observedredo
    • First observedregister_crs_definition
    • First observedremove_component
    • First observedremove_raster_layer
    • First observedrename_layer
    • First observedrename_raster_layer
    • First observedrender_preview
    • First observedrender_preview_svg
    • First observedrender_raster_layer_png
    • First observedreproject_point
    • First observedreproject_points
    • First observedrollback_transaction
    • First observedsave_project
    • First observedselect_group
    • First observedset_component_flexible
    • First observedset_drawing_scale
    • First observedset_entity_color
    • First observedset_entity_layer
    • First observedset_entity_linetype
    • First observedset_entity_lineweight
    • First observedset_entity_property
    • First observedset_layer_color
    • First observedset_layer_locked
    • First observedset_layer_visible
    • First observedset_map_extent
    • First observedset_material
    • First observedset_parameter
    • First observedset_project_crs
    • First observedset_raster_layer_visible
    • First observedset_table_cell
    • First observedset_view_standard
    • First observedset_visual_style
    • First observedshell
    • First observedsweep
    • First observedtransform_coords
    • First observedtrim
    • First observedundo
    • First observedungroup
    • First observedupdate_drawing_views
    • First observedupdate_parameter

TDQS

C2.2/5.0

Scored across 225 tools

Disambiguation2/5

Many tools overlap heavily: dimension annotations vs dimension constraints (add_dimension_linear vs add_linear_dimension, add_dimension_angular vs add_angular_dimension), multiple measurement/bounding-box tools, aliases like open_project and get_layer_list, and parallel internal-CAD vs AutoCAD COM operations. With 225 tools, an agent faces frequent ambiguity and near-duplicate selection risks.

Naming Consistency3/5

Names are overwhelmingly snake_case, but verb conventions are inconsistent (create/add/set/get/list/measure/compute/import/export/generate/render/apply), with direct aliases and a few single-word or noun-first tools (offset, shell, loft, draft_angle). Still generally readable, but not a predictable verb_noun pattern throughout.

Tool Count1/5

225 tools is an extreme mismatch for an MCP server, far beyond the 3-15 well-scoped range. The set is massively overgrown and likely overwhelming for agents to navigate.

Completeness3/5

The surface is broad across 2D/3D creation, annotation, dimensions, layers, blocks, constraints, assemblies, measurement, import/export, and geospatial workflows. However, core CAD editing gaps remain (e.g., no obvious move/rotate/scale for existing 2D entities), and many tools are explicitly simplified or stub-like.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables programmatic control of AutoCAD through COM automation, allowing natural language commands to create structures, manage layers, and manipulate entities via MCP clients like Claude.
    62
    Apache 2.0
  • A
    license
    A
    quality
    A
    maintenance
    MCP server for full AutoCAD automation, AutoCAD LT automation, and headless DXF generation. It provides 8 consolidated tools for drawing, entity, layer, block, annotation, P&ID, view, and system operations via MCP stdio transport.
    12
    15
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that enables natural-language control of AutoCAD via file IPC or headless DXF generation, with tools for drawing, entities, layers, blocks, annotations, P&ID, views, and system operations.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI/natural-language-driven 2D drafting automation on a running Windows AutoCAD, exposing drawing, dimensioning, layer/block management, and mechanical drawing tools such as title blocks, BOM, and balloons to any MCP client.
    MIT