Skip to main content
Glama
SlncTrZ

CDT AutoCAD Provider

CDT-AutoCAD

License: MIT Python 3.11 | 3.12 MCP Protocol Platform: Windows Tools

Generic AutoCAD execution provider for Model Context Protocol (MCP) clients. It owns native CAD execution, state verification and recovery; engineering design rules belong to CDT_Engineer.

Provider 0.4.3 · Contract autocad-generic-v1 · 87 public tools. Native acceptance is scoped to AutoCAD 2027 full on Windows x64. The headless DXF lane has separate capabilities; other AutoCAD versions need their own acceptance.


Quickstart / MCP Client Configuration

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "cdt-autocad": {
      "command": "uvx",
      "args": ["cdt-autocad-provider"],
      "env": {
        "CDT_AUTOCAD_BACKEND": "com",
        "CDT_AUTOCAD_COM_PROGID": "AutoCAD.Application.26",
        "CDT_AUTOCAD_COM_ATTACH_POLICY": "attach_only"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "cdt-autocad": {
      "command": "uvx",
      "args": ["cdt-autocad-provider"]
    }
  }
}

Related MCP server: AutoCAD 2024 MCP

Install and run

Use Python 3.12 and the platform lock from this checkout. On Windows:

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install pip==26.1.2
.\.venv\Scripts\python.exe -m pip install -r pylock.windows.toml
.\.venv\Scripts\python.exe -m pip install --no-deps --no-build-isolation .
$env:CDT_AUTOCAD_BACKEND = 'com'
$env:CDT_AUTOCAD_COM_PROGID = 'AutoCAD.Application.26'
$env:CDT_AUTOCAD_COM_ATTACH_POLICY = 'attach_only'
.\.venv\Scripts\cdt-autocad.exe --transport stdio

Start AutoCAD in the same interactive user/session first. attach_only refuses when the application is unavailable. For headless use, install the Linux lock where applicable and select CDT_AUTOCAD_BACKEND=ezdxf. See reproducible installation.

Use safely

  1. Discover help, system_status and system_capabilities.

  2. Bind native writes to document_pid and expected_parent_fp.

  3. Execute bounded semantic features, then inspect/query/measure the result.

  4. Continue only after verified commit or rollback. Reconcile uncertain completion before retrying; timeout does not prove native cancellation.

Tool presence does not imply native strong-integrity support for every route. Configure allowed file roots; HTTP requires deployment-managed authentication. No arbitrary shell, AutoLISP, macro or caller-supplied C# execution is exposed.

Reference

License

Distributed under the open-source MIT License. See LICENSE, copyright, third-party notices and source provenance.

Available Tools

87 tools
artifact_sealA

Save the active drawing, require a clean persisted state, copy it to a content-addressed accepted artifact, and write a SHA-256 manifest for stable handoff provenance.

Side-effects: Saves document, writes artifact file and provenance manifest to disk. Disambiguation: Use at completion of milestone or deliverable handoff.

NameRequiredDescriptionDefault
destination_dirNoOptional destination directory for sealed artifact; uses allowed root if omitted

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries most of the burden and does it well: it discloses the side-effects (saves document, writes artifact file and manifest to disk) and a prerequisite (require a clean persisted state). Missing only failure/reversibility details, so a strong 4.

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-loads the core action and uses labeled sections (Side-effects, Disambiguation) for structure. Dense jargon like 'content-addressed accepted artifact' costs a little clarity but every 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?

With an output schema present and 100% param coverage, the description supplies the prerequisite and side-effect context an agent needs. It leaves out error/rollback semantics but is otherwise complete for a single-param 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?

Schema coverage is 100% with a single optional destination_dir already documented in the schema, so baseline is 3. The description adds no extra syntax, default behavior, or directory semantics beyond what the schema states.

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 specific compound verbs and resources (save drawing, copy to content-addressed accepted artifact, write SHA-256 manifest) and clearly differs from siblings like document_save or document_save_as by adding provenance artifact creation. An agent can distinguish it from the raw save tools immediately.

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 says 'Use at completion of milestone or deliverable handoff,' giving clear triggering context. It stops short of naming when NOT to use it or pointing to the sibling (e.g. document_save) for ordinary saves, so not a full 5.

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

batch_create_entitiesA

Create 1..10000 generic typed CAD primitives through the managed native bridge using caller-supplied document PID and predecessor fingerprint binding.

Side-effects: Creates multiple entities in active space with idle yields. Disambiguation: Use for high-throughput batch primitive creation; for single entities use entity_create_*.

NameRequiredDescriptionDefault
entitiesYesList of generic typed CAD entity creation payloads (line, circle, arc, polyline, text)
document_pidYesPersistent document identifier matching active CAD drawing
expected_parent_fpYesExpected predecessor semantic fingerprint for optimistic locking

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior3/5

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

The only annotation is readOnlyHint=false, so the description carries most of the behavioral burden. It usefully discloses side effects, active-space creation, idle yields, and predecessor fingerprint binding, but it does not state atomicity or what happens if expected_parent_fp mismatches or if only some entities fail.

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 short, front-loaded, and cleanly segmented into purpose, side effects, and disambiguation. Every sentence adds useful selection or invocation context.

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 full schema descriptions and an output schema present, the definition gives enough context for selection and invocation. The remaining gap is failure semantics for a batch mutation, particularly partial-failure behavior and fingerprint mismatch 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 100%, so the baseline is 3. The description adds meaningful parameter semantics by stating the 1..10000 batch limit and framing document_pid plus expected_parent_fp as caller-supplied binding inputs.

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: creating 1..10000 generic typed CAD primitives. It also explicitly distinguishes the tool from entity_create_* for single-entity creation, so an agent can route correctly without inspecting sibling schemas.

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?

It gives clear when-to-use guidance: high-throughput batch primitive creation. It also names the alternative for single entities, entity_create_*, making the selection rule explicit.

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

batch_insert_blocksA

Insert 1..10000 persistent-PID-bound block references through the managed native bridge only when caller document PID and predecessor fingerprint still match.

Side-effects: Inserts block references across the drawing. Disambiguation: Use for bulk component placement; for single placement use block_insert.

NameRequiredDescriptionDefault
insertsYesList of persistent-PID-bound block insert specifications (name, point, scale, rotation)
document_pidYesPersistent document identifier matching active CAD drawing
expected_parent_fpYesExpected predecessor semantic fingerprint for optimistic locking

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

The description discloses the mutation side effect ('Inserts block references across the drawing') and the optimistic-locking precondition, which go beyond readOnlyHint=false. It does not describe atomicity, partial failure behavior, or required transaction context for a potentially large batch, so it is strong but not 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?

The definition is front-loaded with the core action and precondition, then gives side effects and disambiguation in compact labelled lines. Every sentence adds useful information with no 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 a mutating batch tool with an output schema present, the description covers purpose, precondition, side effects, and alternative. It leaves out batch atomicity and failure semantics, which would be useful given it can insert up to 10000 objects, but the essential call guidance is present.

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 already 100%, so the schema documents each parameter. The description adds useful semantic context by noting the quantity bound, persistent-PID binding, and that document PID and predecessor fingerprint must still match for the insert to proceed.

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 ('Insert ... block references') and adds precise scope: 1..10000, persistent-PID-bound, through the managed native bridge. It also distinguishes the tool from block_insert, so an agent can identify 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 Guidelines5/5

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

It explicitly routes the agent: use for bulk component placement, and use block_insert for single placement. It also gives a concrete precondition, matching caller document PID and predecessor fingerprint, making when-to-use clear.

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

batch_transform_entitiesA

Transform 1..10000 persistent semantic PIDs with typed translate, rotate-Z, or uniform scale after caller document PID and predecessor fingerprint binding.

Side-effects: Mutates entity transforms in active drawing. Disambiguation: Use for bulk updates to existing entities; for single objects use object_move, object_rotate, or object_scale.

NameRequiredDescriptionDefault
transformYesTyped transform specification with translate, rotate-Z, or uniform scale parameters
document_pidYesPersistent document identifier matching active CAD drawing
semantic_pidsYesList of persistent semantic PIDs to transform
expected_parent_fpYesExpected predecessor semantic fingerprint for optimistic locking

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries the real burden and does disclose the mutation side-effect ('Mutates entity transforms in active drawing') plus the optimistic-locking requirement. It stops short of stating what happens on fingerprint mismatch (abort vs partial apply) or whether the batch is atomic, which matters for a 10k-entity write.

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 labeled lines, each earning its place: operation+scope, side-effects, disambiguation. Front-loaded with the verb and the limit, no filler or restatement of the name.

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?

Output schema exists, so return values need no explanation. Given that, the description covers the operation, the scope bound, the mutation warning, the locking precondition, and the sibling alternatives — everything needed to select and invoke it correctly. Only the failure semantics of a fingerprint mismatch remain unstated, a minor gap for this complexity level.

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 100%, so baseline is 3, but the description adds meaning beyond the schema: the 1..10000 cardinality bound on semantic_pids and the framing of document_pid + expected_parent_fp as a joint binding precondition. The 'typed translate/rotate-Z/uniform scale' phrasing also constrains the free-form transform object that the schema leaves as additionalProperties.

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 (Transform), a specific resource (persistent semantic PIDs), the cardinality bound (1..10000), and the three supported transform types. The Disambiguation line explicitly names the single-object siblings it is not, so the tool is separable from object_move/object_rotate/object_scale 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 Guidelines5/5

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

Explicit when-to-use (bulk updates to existing entities) and explicit alternative routing (single objects -> object_move, object_rotate, object_scale). The document PID and fingerprint binding prerequisites are stated up front rather than left for the agent to discover at call time.

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

block_createA

Create a named block definition by copying the specified existing objects around a WCS base point; source objects remain in their original space.

Side-effects: Creates BLOCK definition; original objects remain in space. Disambiguation: Creates reusable definition; does not insert an instance.

NameRequiredDescriptionDefault
nameYesUnique block definition name
base_xNoBlock origin base point X in WCS drawing units (default: 0.0)
base_yNoBlock origin base point Y in WCS drawing units (default: 0.0)
object_idsYesList of existing drawing entity IDs to copy into the block

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotation coverage is thin (readOnlyHint=false only), but the description carries meaningful weight itself: it discloses that this is a copy-based mutation and that source objects remain in their original space, which an agent could not infer from the annotations. It does not state behavior on duplicate names or error conditions, keeping it at a 4.

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, front-loaded lines with labeled side-effects and disambiguation, easy to scan. Minor waste: the source-objects persistence is stated twice, once in the first sentence and again in the side-effects line.

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?

An output schema exists, so return values need no explanation, and required parameters plus defaults are covered by the schema. The description covers the mutation's key consequence (originals retained) but omits failure behavior such as name collisions on a 'unique block definition name'.

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 100%, so all four parameters (name, base_x, base_y, object_ids) are already fully documented with defaults and units. The description only restates that objects are copied and a WCS base point is used, adding no semantics beyond the schema; baseline 3 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 and resource ('Create a named block definition by copying the specified existing objects around a WCS base point') and adds a scope detail about the source objects. The disambiguation line explicitly separates it from inserting an instance, which is the main confusable sibling (block_insert).

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 disambiguation line clearly frames the choice: this tool creates a reusable definition and does not insert an instance, implicitly routing instance placement to block_insert. There is no explicit 'use when' clause or prerequisite note, so it falls just short of a 5.

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

block_insertA

Insert an existing named block at a WCS point with XY scale and rotation in degrees, optionally assigning the new reference to a layer.

Side-effects: Adds INSERT entity to active space. Disambiguation: Inserts instance of existing block; use batch_insert_blocks for bulk placement.

NameRequiredDescriptionDefault
xYesInsertion point X coordinate in WCS
yYesInsertion point Y coordinate in WCS
nameYesName of existing block definition to insert
layerNoTarget layer for the block reference. Uses active layer if omitted
scale_xNoX scale multiplier (default: 1.0)
scale_yNoY scale multiplier (default: 1.0)
rotationNoInsertion rotation angle in degrees (default: 0.0)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With only readOnlyHint=false for annotations, the description usefully discloses the side-effect (adds an INSERT entity to active space) and the default-layer fallback. It does not mention transaction/undo interaction or failure modes for a missing block definition, so it is strong but not exhaustive.

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 labeled lines – core action first, then Side-effects and Disambiguation. Every sentence carries distinct information and nothing is repeated.

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?

Output schema exists, so return values need no explanation, and the mutation semantics plus sibling routing are covered. Missing only error/validation behavior (e.g., nonexistent block name) to be fully complete for a write 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 coverage is 100%, so all seven parameters are already documented, including units and defaults. The description restates rotation in degrees and XY scale but adds no syntax or constraint detail beyond the schema, so baseline 3 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 (Insert), resource (existing named block), and key parameters (WCS point, XY scale, rotation in degrees, optional layer). It is immediately distinguishable from batch_insert_blocks and from block_create/block_list 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?

Explicitly routes the agent: 'use batch_insert_blocks for bulk placement' names both the alternative and the selecting condition. It does not cover prerequisites such as the block needing to already exist in the drawing, but the usage context is clear.

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

block_listA
Read-only

List named block definitions, excluding anonymous blocks, with base point, entity count, attribute-definition count, and xref status.

Side-effects: None. Read-only block definition query. Disambiguation: Use to discover available blocks before inserting.

NameRequiredDescriptionDefault
limitNoMaximum block definitions to return (default: 200)
offsetNoPagination offset index (default: 0)
name_filterNoOptional substring filter on block name
include_xrefsNoWhether to include external reference blocks (default: True)
include_xref_dependentNoWhether to include XREF-dependent blocks (default: False)

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

The description reinforces the read-only annotation by stating 'Side-effects: None' and adds useful scope behavior by excluding anonymous blocks. It does not elaborate on pagination or performance, but with readOnlyHint already covering safety, the added behavioral context is solid.

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 core operation, then efficiently adds side-effect and disambiguation notes. Every sentence contributes useful information without repetition.

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 read-only list tool with full schema coverage, readOnlyHint, and an output schema, the description covers purpose, scope, side effects, and usage context. Nothing critical is missing for correct invocation.

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 100%, so the schema already documents limit, offset, name_filter, include_xrefs, and include_xref_dependent. The description does not add parameter-level detail beyond the schema, which is the expected baseline when the schema does the heavy lifting.

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 uses a specific verb and resource: list named block definitions, excluding anonymous blocks. It also states the returned fields, so an agent can distinguish this from block creation/insertion and xref-specific 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 usage context: discover available blocks before inserting. It does not explicitly name alternatives or when-not-to-use cases, but the guidance is sufficient for routing relative to block_insert and batch_insert_blocks.

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

dimension_alignedA

Create an aligned dimension from WCS extension points and a WCS dimension-line point, using the active drawing's dimension style.

Side-effects: Adds aligned DIMENSION entity. Disambiguation: Dimension line stays parallel to extension points regardless of angle.

NameRequiredDescriptionDefault
x1YesFirst extension line origin X coordinate in WCS
x2YesSecond extension line origin X coordinate in WCS
y1YesFirst extension line origin Y coordinate in WCS
y2YesSecond extension line origin Y coordinate in WCS
dim_xYesDimension line definition point X coordinate in WCS
dim_yYesDimension line definition point Y coordinate in WCS
layerNoTarget layer name. Uses active layer if omitted

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries most of the load and does add value: it discloses the side-effect (a DIMENSION entity is added) and the dependency on the active dimension style. It stops short of noting reversibility/undo or transactional requirements, which matters for a mutating drawing 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?

Three short, labeled lines with the action front-loaded and no filler. Side-effects and disambiguation are broken out where the agent can find them immediately.

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?

An output schema exists, so return values need not be described, and the mutation plus style/layer defaults are covered. Minor gap: no note on how the created entity is identified or whether it participates in the active transaction.

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 100%, so the schema already explains each coordinate as a WCS point. The description reinforces WCS and the active-style behavior but adds no syntax or constraint detail beyond the schema; baseline 3 applies.

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 ('Create an aligned dimension') and the exact inputs it consumes (WCS extension points plus a dimension-line point). The disambiguation line gestures at how it differs from other dimension tools, though it describes the geometric outcome rather than naming dimension_linear as 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 Guidelines3/5

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

Implies usage through 'using the active drawing's dimension style' and the layer default, but never says when to pick this over dimension_linear, dimension_angular, or dimension_ordinate. The agent must infer the choice from the geometry description alone.

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

dimension_angularA

Create a typed angular dimension from one vertex, two WCS ray points, and a text point; invalid collinear rays are rejected before mutation.

Side-effects: Adds angular DIMENSION entity. Disambiguation: Use to dimension angles in degrees; rays must not be collinear.

NameRequiredDescriptionDefault
layerNoTarget layer name. Uses active layer if omitted
text_xYesDimension text and arc placement point X in WCS
text_yYesDimension text and arc placement point Y in WCS
first_xYesFirst ray endpoint X coordinate in WCS
first_yYesFirst ray endpoint Y coordinate in WCS
second_xYesSecond ray endpoint X coordinate in WCS
second_yYesSecond ray endpoint Y coordinate in WCS
vertex_xYesAngle vertex point X coordinate in WCS
vertex_yYesAngle vertex point Y coordinate in WCS

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Beyond the readOnlyHint=false annotation, the description discloses that a DIMENSION entity is added (mutation side-effect) and that invalid collinear rays are rejected before mutation — valuable pre-execution context. It stops short of noting layer fallback behavior or return shape, but the mutation semantics and validation contract are well 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?

Front-loaded with the core action, followed by a compact side-effect line and a disambiguation line. Zero filler; every clause conveys actionable 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?

Covers the action, the geometric inputs, validation behavior, and the mutation side-effect, and an output schema exists so return values need not be described. Complete enough for correct invocation; minor omissions like layer default handling are already in the schema.

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 100%, so every parameter is already documented in the schema. The description reinforces the geometric roles of vertex/rays/text point and their WCS nature, but adds little beyond what the schema provides — baseline 3 is appropriate.

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 ('Create a typed angular dimension') and enumerates the geometry inputs (vertex, two WCS ray points, text point). The word 'angular' plus the geometric phrasing clearly separates it from dimension_linear, dimension_aligned, dimension_radial, dimension_diametric, and dimension_ordinate 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?

'Use to dimension angles in degrees' gives a clear usage context, and 'rays must not be collinear' is an explicit precondition that guides invocation. It does not name a sibling alternative explicitly, but the angular-vs-other-dimension distinction is unambiguous from the name and description.

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

dimension_diametricA

Create a typed diametric dimension from center/chord geometry and positive leader length using the active drawing dimension style.

Side-effects: Adds diametric DIMENSION entity. Disambiguation: Displays diameter; for arc radii use dimension_radial.

NameRequiredDescriptionDefault
layerNoTarget layer name. Uses active layer if omitted
chord_xYesOpposite chord point on circle diameter X coordinate in WCS
chord_yYesOpposite chord point on circle diameter Y coordinate in WCS
center_xYesFirst chord point on circle diameter X coordinate in WCS
center_yYesFirst chord point on circle diameter Y coordinate in WCS
leader_lengthYesLeader line length in drawing units

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false; the description adds real value by stating the side-effect ('Adds diametric DIMENSION entity'), that the active dimension style is used, and that leader length must be positive. Missing only return/error behavior, which the output schema partly covers.

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, front-loaded lines: purpose first, then side-effects, then disambiguation. No filler, and each line adds distinct 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?

With an output schema present and annotations covering the mutation flag, the description supplies the remaining essentials: side effect, style source, and sibling routing. Only minor gaps around failure modes and required drawing context remain.

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 100%, so the baseline is 3; the description nudges above it by clarifying the geometry model (center/chord pair defining the diameter) and the 'positive' constraint on leader_length that the schema does not state. Layer defaulting is left to the schema, which is fine.

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 ('Create a typed diametric dimension') plus the geometry inputs (center/chord, leader length) and the style source. It also explicitly separates itself from dimension_radial, so an agent can distinguish it from the radial sibling 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 Guidelines4/5

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

The disambiguation line gives a concrete routing rule: use this for diameter display, use dimension_radial for arc radii. That is clear context-setting, though it does not state broader preconditions (e.g., an active drawing must exist, dimension style must be configured).

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

dimension_linearA

Create a linear dimension from WCS extension points and dimension-line point; rotation is degrees and placement uses drawing units.

Side-effects: Adds linear DIMENSION entity. Disambiguation: Use for orthogonal (0 or 90 deg) dimensions; for angled geometry use dimension_aligned.

NameRequiredDescriptionDefault
x1YesFirst extension line origin X coordinate in WCS
x2YesSecond extension line origin X coordinate in WCS
y1YesFirst extension line origin Y coordinate in WCS
y2YesSecond extension line origin Y coordinate in WCS
dim_xYesDimension line definition point X coordinate in WCS
dim_yYesDimension line definition point Y coordinate in WCS
layerNoTarget layer name. Uses active layer if omitted
rotationNoDimension line angle in degrees (0 for horizontal, 90 for vertical)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only give readOnlyHint=false, so the description correctly discloses the mutation side-effect ('Adds linear DIMENSION entity'), which is the key context an agent needs before committing a write. It also clarifies unit conventions (degrees for rotation, drawing units for placement). It does not cover layer-targeting behavior or whether the new entity is returned/selected, so it stops short of full transparency.

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, labeled sentences: purpose, side-effects, disambiguation. The single most decision-relevant fact (this is a write that creates an entity) and the routing rule are both front-loaded with zero 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?

An output schema exists, so return-shape explanation is unnecessary, and annotations plus the side-effects line cover the safety profile. For an 8-parameter creation tool the description supplies the disambiguation and unit semantics an agent needs; minor gaps (layer fallback behavior, what the created handle looks like in practice) are already handled by schema defaults.

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 100%, so every parameter is already documented in structured form and the baseline is 3. The description reinforces meaning (WCS coordinates, degrees for rotation, drawing units for placement) but adds no syntax, constraints, or defaults beyond what the schema already states.

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 ('Create a linear dimension') and immediately identifies the geometric inputs (WCS extension points and dimension-line point) plus the rotation/placement conventions. Combined with the explicit disambiguation line, an agent can distinguish it from dimension_aligned, dimension_ordinate, etc. without reading schemas.

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?

The Disambiguation line explicitly states when to use this tool (orthogonal 0/90 deg dimensions) and names the sibling to use instead for angled geometry (dimension_aligned). That is exactly the when/when-not/alternative pattern.

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

dimension_ordinateA

Create an X- or Y-ordinate dimension from a WCS definition point and leader endpoint with strict axis validation.

Side-effects: Adds ordinate DIMENSION entity. Disambiguation: Measures absolute distance from drawing origin or datum.

NameRequiredDescriptionDefault
axisNoMeasurement axis: 'x' or 'y' (default: 'x')x
layerNoTarget layer name. Uses active layer if omitted
leader_xYesLeader endpoint X coordinate in WCS
leader_yYesLeader endpoint Y coordinate in WCS
definition_xYesFeature definition point X coordinate in WCS
definition_yYesFeature definition point Y coordinate in WCS

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries real weight here and delivers: 'Adds ordinate DIMENSION entity' makes the mutation explicit and consistent with the annotation, and 'strict axis validation' warns that invalid axis values will fail rather than silently default. It omits whether changes are undoable, which layer/space the entity lands in, and any transaction requirement.

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 labeled lines: the action first, then side-effects, then disambiguation. Zero filler and the mutation warning is not buried.

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 full schema coverage, an output schema, and readOnlyHint annotation present, the description covers the essentials an agent needs to call it. It stops short on operational context: whether an active document/transaction is required and what happens to the entity's default dimension style.

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 100%, so all six parameters are already documented (axis default 'x', layer default null, the four coordinate pairs), establishing a baseline of 3. The description adds only conceptual mapping of definition point and leader endpoint plus the promise of strict axis validation, but gives no new syntax, valid ranges, or layer behavior 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?

Specific verb and resource: 'Create an X- or Y-ordinate dimension' plus the inputs it is built from (WCS definition point and leader endpoint). It is specific enough that an agent can distinguish it from linear/aligned/angular dimension siblings by resource type, but it never names or contrasts those siblings explicitly, 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 Guidelines3/5

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

'Measures absolute distance from drawing origin or datum' implies the use case (ordinate/datum dimensioning) and 'strict axis validation' implies a constraint on the axis argument, but there is no explicit when-to-use versus dimension_linear/dimension_aligned, nor stated prerequisites such as requiring an active document or open transaction. Usage is inferable rather than stated.

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

dimension_radialA

Create a typed radial dimension from center/chord geometry and positive leader length using the active drawing dimension style.

Side-effects: Adds radial DIMENSION entity. Disambiguation: Displays radius (R); for full circles prefer dimension_diametric.

NameRequiredDescriptionDefault
layerNoTarget layer name. Uses active layer if omitted
chord_xYesCurve chord contact point X coordinate in WCS
chord_yYesCurve chord contact point Y coordinate in WCS
center_xYesArc or circle center point X coordinate in WCS
center_yYesArc or circle center point Y coordinate in WCS
leader_lengthYesLeader line length in drawing units

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description must carry the behavioral load, and it does disclose the side effect explicitly: 'Adds radial DIMENSION entity.' The 'positive leader length' phrasing also flags an input constraint the schema does not enforce. It leaves out failure modes and whether a transaction is required for the addition to persist.

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 labeled lines with the operation stated first, then side effects, then disambiguation. Every sentence carries distinct information and nothing is repeated from the schema.

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 an output schema present, return values need not be explained, and all six params are documented in the schema. What remains unaddressed is whether the arc/circle must already exist and whether the mutation needs transaction_commit to persist — useful given the surrounding transaction tools.

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 100%, so baseline is 3, but the description adds real meaning: 'center/chord geometry' groups the four coordinate params conceptually, and 'positive leader length' supplies a sign constraint absent from the schema's bare 'number' type. Layer/active-layer behavior remains schema-only.

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 (create a typed radial dimension) plus the exact input geometry (center/chord, leader length) and the style source (active drawing dimension style). It explicitly distinguishes itself from the sibling dimension_diametric, so an agent can choose without opening either 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 disambiguation line gives an explicit alternative and the condition that selects it: use dimension_diametric for full circles, since this tool displays radius (R). It stops short of stating prerequisites (an existing arc/circle), and 'prefer' is a soft routing rule, but the core when-to-use guidance is present.

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

document_configure_unitsA

Configure drawing insertion units, measurement system, linear format, and precision using a bounded typed schema.

Side-effects: Updates drawing system variables (INSUNITS, MEASUREMENT, LUNITS, LUPREC). Disambiguation: Use during drawing setup to guarantee unit consistency (e.g. millimeters).

NameRequiredDescriptionDefault
measurementNoAutoCAD measurement system ('Metric' or 'Imperial')
linear_formatNoLinear format ('Decimal', 'Scientific', 'Architectural', 'Engineering', 'Fractional')
insertion_unitsNoDrawing insertion units (e.g. 'Millimeters', 'Inches', 'Unitless')
linear_precisionNoLinear display precision decimal places (0 to 8)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

The 'Side-effects' line names the actual system variables mutated (INSUNITS, MEASUREMENT, LUNITS, LUPREC), which is real behavioral value beyond the readOnlyHint=false annotation. It does not state reversibility, whether omissions reset values, or any permission requirements, so there is still a 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?

Front-loaded with the action and covered fields, followed by compact side-effect and disambiguation lines. The phrase 'using a bounded typed schema' is mild filler that does not earn its place, preventing a perfect score.

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?

An output schema exists so return values need no explanation, and the side-effects line covers the main behavioral risk. What is missing is what happens when all four optional parameters are omitted (no-op or reset to defaults), a meaningful detail for a tool where every parameter defaults to null.

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 100%, so each parameter's meaning and accepted values are already documented, establishing the baseline of 3. The description only restates the parameter categories and adds the meta remark 'bounded typed schema', giving no extra syntax, interaction, or default behavior 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?

States a specific verb ('Configure') plus the exact resource set (drawing insertion units, measurement system, linear format, precision). No sibling tool touches unit configuration, so an agent can immediately tell this is the setup tool for units without consulting 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 Guidelines4/5

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

Explicitly says to 'Use during drawing setup to guarantee unit consistency (e.g. millimeters)', which gives a clear usage context and intent. It stops short of stating when NOT to use it or naming any alternative (e.g. object_set_properties for per-object overrides), so it falls just below the top mark.

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

document_dependenciesA
Read-only

Inspect external-reference dependencies for the active drawing and report contained, resolved, loaded, and completeness state.

Side-effects: None. Read-only dependency audit. Disambiguation: Use to audit required file dependencies (XREFs, images) before archiving or sealing.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, and the description's 'Side-effects: None. Read-only dependency audit' largely restates that. The added value is modest: it confirms the audit covers XREFs and images and reports resolution/load/completeness state, but no permission, performance, or failure-mode context 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.

Conciseness4/5

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

Three short, front-loaded lines: purpose, side-effects, disambiguation. Efficient overall, though the side-effects sentence duplicates the readOnlyHint annotation and could be dropped.

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 an output schema present and no parameters, the description needs only purpose, scope, and routing. It covers all three; the only shortfall is that it does not explicitly contrast with xref_list or drawing_audit for an agent choosing among them.

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 carries nothing to explain. The description correctly frames the operation as acting on the 'active drawing' implicitly, which is the only scope detail an agent needs.

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 (Inspect) and resource (external-reference dependencies for the active drawing), plus the reported facets: contained, resolved, loaded, completeness. It is clear what the tool does, but it never names its closest sibling (xref_list) to draw the line explicitly.

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 disambiguation line gives a concrete usage condition: audit required file dependencies before archiving or sealing. That is a clear 'when', though it offers no explicit 'when not' or named alternative such as xref_list or drawing_audit.

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

document_export_pdfA

Export the active document or selected layout to an allowed PDF path; this writes an artifact and may require live AutoCAD plotting capability.

Side-effects: Writes PDF artifact to disk. Disambiguation: Use for vector deliverable export; use view_screenshot for quick raster inspection.

NameRequiredDescriptionDefault
pathYesAllowed destination filesystem path (.pdf) for exported drawing
layoutNoOptional layout name to plot (e.g. 'Model' or 'Layout1'); defaults to active

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false; the description goes further by naming the concrete side effect (writes a PDF artifact to disk) and the environmental prerequisite (may require live AutoCAD plotting capability), which materially affects whether the call will succeed. It also flags that the path must be 'allowed', signaling a path policy check before invocation.

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 labeled segments — core action, side effect, disambiguation — with the action front-loaded and zero filler. Every sentence carries a distinct piece of decision-relevant information.

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?

Output schema exists so return values need no explanation, and schema coverage handles parameters; what remains for the description — write side effect, plotting dependency, path restriction, and sibling routing — is all present. Nothing needed to invoke it correctly is missing, aside from overwrite behavior, which is a minor omission.

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 100%, so both 'path' and 'layout' are already documented, including the default-to-active behavior. The description's phrase 'selected layout' echoes rather than extends the schema, so this is the baseline-3 case where structured fields do the work.

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 (Export) plus resource (active document or selected layout) and the output format (PDF), which is exactly what the name promises. The disambiguation line separates it from the raster sibling view_screenshot, so an agent can pick between them without inspecting either schema.

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 the alternative (view_screenshot) and the condition that selects it (quick raster inspection vs. vector deliverable export). This is the when-to-use-this-versus-that guidance most definitions omit.

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

document_infoA
Read-only

Read verified metadata for the active document, including path, units, counts, current space, backend, and detected AutoCAD release when available.

Side-effects: None. Read-only document query. Disambiguation: Primary document query tool for inspecting active file state.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes that this is a safe read operation, and the description reinforces that with 'Side-effects: None' and 'Read-only document query.' It adds some useful context such as 'verified' metadata and fields being returned 'when available,' but does not disclose failure modes or other behavioral details beyond the annotations.

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 three short, front-loaded sentences with no wasted text. It separates purpose, side effects, and disambiguation cleanly.

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 zero-parameter read-only query with an output schema and readOnlyHint annotation, the description provides enough context: what is read, from which document, which fields are included, and how it relates to other document queries. Nothing essential for correct invocation 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?

This tool has zero parameters, so there are no parameter semantics to explain. The baseline score of 4 applies because the description does not need to compensate for an input 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?

The description states a specific verb and resource: reading verified metadata for the active document. It also lists the exact metadata fields returned and calls itself the primary document query tool, making its role distinguishable from broad 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?

It gives a clear usage context: use this as the primary tool for inspecting active file state. It does not name when not to use it or explicitly compare with alternatives such as metadata_get, so it falls short of full alternative guidance.

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

document_newA

Create a new active CAD document in the current backend session; refuses unsafe transaction state.

Side-effects: Changes active document session, creates unsaved drawing. Disambiguation: Use to start a clean drawing; use document_open to load existing DWG/DXF files.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description adds real value: it discloses side-effects (changes the active session, produces an unsaved drawing) and a precondition behavior ('refuses unsafe transaction state'). It does not say what the failure mode returns or whether the previous active document is preserved, but the disclosure goes well beyond the annotation.

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 labeled lines: purpose, side-effects, disambiguation. Front-loaded with the verb+resource and no filler sentence anywhere.

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?

An output schema exists so return values need not be explained, and with zero parameters the only remaining burdens are side-effects and the alternative, both of which are covered. Nothing an agent needs before calling 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 parameter semantics to explain; the baseline for a 0-param schema applies. The description correctly doesn't invent parameter talk.

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 ('Create a new active CAD document'), plus scope ('in the current backend session'). It also names the sibling it is not (document_open), so an agent can distinguish it without opening either schema.

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?

The Disambiguation line explicitly gives the selection rule: use this to start a clean drawing, use document_open to load existing DWG/DXF files. That is an when-to-use plus a named alternative, leaving nothing to inference.

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

document_openA

Open an existing allowed DWG/DXF path as the active document; changes session state.

Side-effects: Changes active document session. Disambiguation: Use to load an existing drawing; use document_new to create a blank drawing.

NameRequiredDescriptionDefault
pathYesFilesystem path to the existing DWG or DXF file to open

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

The description adds a side-effects line and a disambiguation line beyond the readOnlyHint=false annotation, making clear this mutates session state rather than the file system. It does not cover failure modes (nonexistent path, blocked file, what 'allowed' means), which is a gap for a state-changing tool but not a contradiction.

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 main clause followed by compact side-effect and disambiguation lines; every line is labeled and scannable. Minor redundancy between 'changes session state' and 'Side-effects: Changes active document session' costs a point.

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?

An output schema exists, so return values need no explanation, and the one parameter is fully schema-documented. The only unresolved item is the undefined 'allowed' qualifier, which an agent may not be able to evaluate before calling.

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 100% and the single path parameter is documented as a 'Filesystem path to the existing DWG or DXF file to open'. The description adds only the implicit constraint that the file must already exist and be 'allowed', but does not define that constraint. Baseline 3 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 and resource — 'Open an existing allowed DWG/DXF path as the active document' — and scopes it to two file types. An agent knows exactly what the tool does 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 Guidelines5/5

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

The disambiguation line explicitly contrasts it with document_new ('use document_new to create a blank drawing'), covering both when to use this tool and when to use the sibling instead. Nothing 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.

document_saveA

Save the currently bound document to its verified existing path, or delegate to SaveAs when path is supplied; success requires immediate persisted-clean readback.

Side-effects: Persists unsaved drawing changes to disk and clears dirty state. Disambiguation: Use document_save to persist changes in-place; use document_save_as to write to a new destination path.

NameRequiredDescriptionDefault
pathNoOptional file destination path; if omitted saves in-place to currently bound path

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations only supply readOnlyHint=false, so the description carries real weight and it delivers: it discloses the side-effect (unsaved drawing changes persisted to disk, dirty state cleared), the precondition (path must be a verified existing path), and a success criterion (persisted-clean readback). It stops short of saying what happens on failure (e.g. whether dirty state remains or an error is raised when the bound path is stale), which keeps it from a 5.

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 compact lines, each with a distinct job: core behavior front-loaded, then side-effects, then disambiguation. No filler or repetition of structured fields.

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 mutation tool with only a readOnlyHint annotation, the definition covers purpose, precondition, side-effect, success criterion, and sibling routing. An output schema exists, so return values need not be described, and nothing an agent needs to invoke this 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?

Schema coverage is 100% and the single parameter is well documented, so the baseline is 3. The description adds beyond the schema by explaining that supplying path re-routes behavior to SaveAs and that omission saves in-place against the currently bound path, which is a behavioral consequence rather than a restatement of the schema text.

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 ('Save the currently bound document') plus the exact scope: in-place save to a verified existing path, with delegation to SaveAs when a path is given. The sibling document_save_as is named and differentiated, so an agent can pick between them without opening either schema.

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?

The Disambiguation line gives an explicit routing rule: use document_save to persist in-place, use document_save_as to write to a new destination. The optional path parameter's effect ('delegate to SaveAs when path is supplied') reinforces the same rule from the parameter side.

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

document_save_asA

Save the active document to an allowed DWG/DXF destination, verify the same bound path and immediate persisted-clean state, then update its document scope.

Side-effects: Writes drawing to new file path, updates document binding. Disambiguation: Use to fork or save drawing under a new name; use document_save for in-place save.

NameRequiredDescriptionDefault
pathYesAllowed destination filesystem path (.dwg or .dxf) for the saved drawing

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries the behavioral burden and does so with a Side-effects section: writes to a new file path, verifies the bound path and persisted-clean state, and updates document scope. It stops short of covering error/permission behavior or what happens on an invalid destination, but the core mutation traits are disclosed.

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-loads the save action, then uses labeled Side-effects and Disambiguation sections that each earn their place. Slightly dense phrasing ('verify the same bound path and immediate persisted-clean state') but no filler sentences.

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?

An output schema exists, so return-value explanation is unnecessary, and the description covers the mutation, side-effects, and sibling distinction. What remains missing is failure-mode behavior for a disallowed path, a minor gap for a write tool with minimal annotations.

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 the schema already documents it at 100% coverage, including the .dwg/.dxf constraint. The description reinforces 'allowed DWG/DXF destination' but adds no syntax or validation nuance beyond the schema, so baseline 3 is appropriate.

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 (save) plus resource (active document) with the 'as' semantics (new DWG/DXF destination) clearly conveyed. It explicitly differentiates itself from document_save, so an agent can route between them without opening either schema.

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?

The Disambiguation line names both when to use this tool ('fork or save under a new name') and the alternative ('document_save for in-place save'). Usage conditions and exclusions are explicit.

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

drawing_auditA

Run the backend drawing-audit operation on the active document; live AutoCAD AUDIT may repair content and does not expose a machine-readable repair count.

Side-effects: Runs AutoCAD AUDIT command, fixes corrupted entity pointers. Disambiguation: Use after heavy edits or imports; use drawing_purge to remove unused definitions.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the single readOnlyHint=false annotation, the description discloses the concrete side-effect (fixes corrupted entity pointers) and a meaningful output limitation: no machine-readable repair count is exposed. This directly helps an agent interpret results and understand the operation mutates the drawing.

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, labeled clauses (purpose, side-effects, disambiguation) with the core action front-loaded. Every sentence adds information and 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 parameters, full schema coverage, an output schema, and only a single annotation, the description supplies everything needed to invoke it correctly, including the caveat about repair counts. Minor gaps remain (e.g., behavior on failure or reversibility), keeping it just short of perfect.

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 description carries no parameter-documentation burden; baseline of 4 applies. Nothing about calling semantics is obscured.

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: running the backend drawing-audit on the active document, and clarifies that it maps to the live AutoCAD AUDIT command. It explicitly names a sibling (drawing_purge) to distinguish the operation, so an agent can choose it without opening other tools' schemas.

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?

Gives an explicit trigger ('use after heavy edits or imports') and a named alternative with a contrasting purpose ('use drawing_purge to remove unused definitions'). The when-to-use and when-to-use-something-else are both spelled out.

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

drawing_extentsA
Read-only

Measure the current drawing-space WCS extents using the backend geometry engine without changing document objects.

Side-effects: None. Read-only bounding box query. Disambiguation: Returns WCS coordinates [min_x, min_y, max_x, max_y]; does not change view.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

readOnlyHint=true already covers the no-mutation profile, but the description adds value annotations can't: 'Side-effects: None', 'Read-only bounding box query', and specifically that the view is not changed. It could go further on coordinate system edge cases (e.g., empty drawing or extents of frozen layers), which is why it isn't a 5.

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 labeled lines – purpose, side-effects, disambiguation – with the core action front-loaded and zero filler. Every sentence carries distinct information.

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?

A parameterless read-only query with an output schema, so return-value documentation isn't required; the description nonetheless hints at the shape ([min_x, min_y, max_x, max_y]) and WCS frame, and covers side effects and view invariance. Nothing needed to invoke 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?

The tool takes zero parameters, so the baseline is 4; the schema is fully closed (additionalProperties: false) and there is nothing for the description to disambiguate. It correctly adds no noise about arguments.

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 (measure) and a precise resource (current drawing-space WCS extents), plus the mechanism (backend geometry engine). The disambiguation line distinguishes it from view-changing siblings such as view_zoom_extents, so an agent can select it 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 Guidelines4/5

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

Explicitly says it 'does not change view', which implicitly routes view-modifying needs to view_zoom_extents, and notes it does not alter document objects. It stops short of naming an alternative tool outright, so not a full 5.

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

drawing_purgeA

Purge unused drawing resources from the active document; this mutates document state and should be used only when removal is intended.

Side-effects: Deletes unreferenced layers, blocks, and styles from document database. Disambiguation: Use to clean up drawing before export; destructive to unused resources.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations supply only readOnlyHint=false; the description adds the consequential details — that this mutates document state and deletes unreferenced layers, blocks, and styles. It does not say whether the purge is reversible via undo or whether it should be wrapped in a transaction, which are the remaining gaps given siblings like transaction_begin/undo exist.

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 action and gated with a warning before the labeled side-effect and disambiguation lines. There is mild redundancy — 'unused' appears in the opening line, the side-effects line, and the disambiguation line — but no sentence is 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?

An output schema exists, so return values need no explanation, and with zero parameters the schema burden is nil. The description covers mutation, scope, and side-effects; only the reversibility/undo story is left unstated for a destructive document-wide operation.

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 and the baseline of 4 applies. The description correctly implies the operation is scoped entirely by document state rather than arguments.

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 ('Purge unused drawing resources from the active document') plus the exact target set (layers, blocks, styles). It is distinguishable from neighbors like drawing_audit or object_delete by its 'unused/referenced' scope, though it never names a sibling outright.

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 positive trigger ('clean up drawing before export') and an explicit exclusion ('only when removal is intended'), which is meaningful for an irreversible-feeling operation. No named alternative is offered, so it falls short of a 5.

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

entity_create_arcA

Create an ARC at a WCS center with positive radius; start_angle and end_angle are degrees and the result is a new drawing object.

Side-effects: Adds ARC entity to active space. Disambiguation: Use for circular arcs in degrees; for full circles use entity_create_circle.

NameRequiredDescriptionDefault
cxYesCenter X coordinate in WCS drawing units
cyYesCenter Y coordinate in WCS drawing units
colorNoAutoCAD Color Index (ACI 1-255). Uses ByLayer if omitted
layerNoTarget layer name. Uses active layer if omitted
radiusYesPositive arc radius in drawing units
end_angleYesEnd angle in degrees (counter-clockwise from +X axis)
start_angleYesStart angle in degrees (counter-clockwise from +X axis)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries most of the burden and does so: it discloses the side-effect ('Adds ARC entity to active space') and that the call returns a new drawing object. It still omits whether this is undoable or requires a transaction, but the mutation effect is clearly stated.

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 core verb/resource sentence is front-loaded, and the side-effect and disambiguation lines are labeled so an agent can scan them in order. No sentence is 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?

With a full output schema and complete parameter docs, the main remaining gap for a creation tool is transactional scope, which is not addressed. The side-effect and alternative-tool notes cover the essentials 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.

Parameters3/5

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

Schema description coverage is 100%, so all seven parameters including layer and color defaults are already documented. The description restates the degree units and positive-radius constraint, which duplicates the schema rather than adding new meaning, so the baseline of 3 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?

The description opens with a specific verb and resource ('Create an ARC at a WCS center') and pins down the defining parameters (positive radius, start/end angles in degrees). It explicitly names the sibling it is not, so an agent can separate it from entity_create_circle without opening either 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 disambiguation line states the selection rule: use this for circular arcs in degrees, use entity_create_circle for full circles. That is a concrete alternative with a condition, though there is no guidance on related cases such as polylines or ellipse-like geometry.

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

entity_create_circleA

Create a CIRCLE at a WCS center with positive radius in drawing units, optionally on a layer/color, and return the new object identifier.

Side-effects: Adds CIRCLE entity to active space. Disambiguation: Use for full 360-degree circles; for circular segments use entity_create_arc.

NameRequiredDescriptionDefault
cxYesCenter X coordinate in WCS drawing units
cyYesCenter Y coordinate in WCS drawing units
colorNoAutoCAD Color Index (ACI 1-255). Uses ByLayer if omitted
layerNoTarget layer name. Uses active layer if omitted
radiusYesPositive circle radius in drawing units

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

The annotations only declare readOnlyHint=false, so the description usefully adds that the tool creates an entity in active space and returns the new object identifier. It does not discuss transaction requirements or permission constraints, but the side-effect is clearly 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 short and front-loaded: core creation behavior first, then side-effects, then a clear disambiguation note. No sentence is wasted.

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?

An output schema exists, the input schema is fully documented, and the description covers the mutation side-effect and return identifier. For a create-entity tool, this is complete enough for an agent to select and invoke it correctly.

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 100%, so the schema already explains cx, cy, radius, layer, and color. The description repeats key constraints such as WCS units and positive radius but adds no significant parameter meaning beyond the 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?

The description uses a specific verb and resource: create a CIRCLE at a WCS center with positive radius. It also distinguishes this tool from the sibling entity_create_arc by scope.

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?

It explicitly says when to use this tool (full 360-degree circles) and when to use the alternative (circular segments should use entity_create_arc). This is clear routing guidance.

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

entity_create_lineA

Create a LINE from two WCS endpoints in drawing units, optionally on a layer/color, and return the new backend object identifier.

Side-effects: Mutates active drawing state, advances document fingerprint. Disambiguation: Use entity_create_line for discrete linear segments in WCS; use entity_create_polyline for joined multi-segment paths.

NameRequiredDescriptionDefault
x1YesStart X coordinate in WCS drawing units
x2YesEnd X coordinate in WCS drawing units
y1YesStart Y coordinate in WCS drawing units
y2YesEnd Y coordinate in WCS drawing units
z1NoStart Z coordinate in WCS drawing units (default: 0.0)
z2NoEnd Z coordinate in WCS drawing units (default: 0.0)
colorNoAutoCAD Color Index (ACI 1-255). Uses ByLayer if omitted
layerNoTarget layer name. Uses active layer if omitted

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false; the description goes further by disclosing concrete side-effects (mutates active drawing state, advances document fingerprint) and the return value shape. It stops short of saying whether the call participates in a transaction or is undoable, which matters given transaction_begin/commit siblings.

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 lines, front-loaded with the core action, followed by side-effects and disambiguation. Nothing redundant; each sentence carries a distinct fact.

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?

An output schema exists so return values need no explanation, and the description covers creation semantics, side-effects, and sibling routing adequately for an 8-parameter write tool. The only real gap is interaction with the transaction/undo tools, which is not addressed.

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 100%, so every parameter including defaults and ByLayer/active-layer fallbacks is already documented. The description restates 'layer/color' and 'drawing units' without adding syntax or constraints beyond the schema, so baseline 3 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?

Names a specific verb and resource (create a LINE), pins the coordinate system (WCS endpoints in drawing units), lists optional attributes, and states the return value. It is immediately distinguishable from entity_create_polyline and the other entity_create_* siblings.

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?

The disambiguation line explicitly routes the agent: linear segments here, joined multi-segment paths to entity_create_polyline. That is an explicit alternative with the condition that selects it, not just implied context.

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

entity_create_polylineA

Create a 2D lightweight polyline from WCS XY points in drawing units, optionally closed/layered/colored, and return the new object identifier.

Side-effects: Adds LWPOLYLINE entity to active space. Disambiguation: Use for continuous multi-segment paths, contours, or closed boundaries.

NameRequiredDescriptionDefault
colorNoAutoCAD Color Index (ACI 1-255). Uses ByLayer if omitted
layerNoTarget layer name. Uses active layer if omitted
bulgesNoOptional list of bulge values for arc segments (bulge = tan(included_angle/4))
closedNoWhether to close polyline connecting last vertex back to first (default: False)
pointsYesList of [X, Y] vertex coordinates in WCS drawing units
widthsNoOptional list of [start_width, end_width] for each segment
elevationNoZ elevation of the 2D polyline plane (default: 0.0)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With readOnlyHint=false the mutation nature is already declared, and the description correctly reinforces this by disclosing the side-effect (adds LWPOLYLINE to active space) and that an identifier is returned. It says nothing about whether a transaction must be open first, whether the call is undoable, or what happens if the layer name does not exist — meaningful gaps for a write tool in a toolset that has explicit transaction_begin/commit siblings.

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 lines, each earning its place: capability and return value first, then side-effects, then disambiguation. No redundancy or 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?

An output schema exists so return-value detail is unnecessary, and annotations cover the safety profile. The description is nearly complete, but the omission of transaction/prerequisite behavior leaves a small gap for a mutating entity-creation tool that sits alongside explicit transaction controls.

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 100%, so all seven parameters (points, closed, layer, color, bulges, widths, elevation) are already documented with defaults. The description only echoes the closed/layered/colored subset and the WCS drawing-units convention, adding little beyond the schema; the baseline of 3 is appropriate.

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 (Create) and resource (2D lightweight polyline) and constrains the input to WCS XY points in drawing units, plus the optional closed/layered/colored modifiers and the returned object identifier. It distinguishes itself implicitly from single-segment siblings like entity_create_line via the 'continuous multi-segment paths' phrasing, but never names the alternative explicitly.

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 Disambiguation line gives clear when-to-use guidance: continuous multi-segment paths, contours, closed boundaries. It stops short of stating when NOT to use it or naming the specific sibling (entity_create_line, entity_create_arc) an agent should pick for simpler geometry.

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

entity_create_textA

Create TEXT at a WCS insertion point with drawing-unit height and rotation in degrees, optionally on a layer/color, and return its identifier.

Side-effects: Adds TEXT entity to active space. Disambiguation: Use for labels, callouts, and notes.

NameRequiredDescriptionDefault
xYesInsertion point X coordinate in WCS drawing units
yYesInsertion point Y coordinate in WCS drawing units
textYesText string content to display
colorNoAutoCAD Color Index (ACI 1-255). Uses ByLayer if omitted
layerNoTarget layer name. Uses active layer if omitted
heightNoText height in drawing units (default: 2.5)
rotationNoText rotation angle in degrees counter-clockwise (default: 0.0)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description must add the mutation profile — and it does: 'Side-effects: Adds TEXT entity to active space' tells the agent which space is modified and that state changes. 'Return its identifier' also sets expectations for follow-up calls. Missing are failure modes (non-existent layer, no open document) and whether the entity 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.

Conciseness5/5

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

Three short sentences, front-loaded with the action and geometry, then side-effects, then disambiguation. No filler and no repetition of schema defaults.

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 an output schema present, return values need no explanation, and the description covers the mutation side-effect and intended use cases. The remaining gap is preconditions — whether a document must be open and whether the target layer must already exist — which matters for a 7-parameter creation 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 100% and every parameter is documented with units and defaults, so the schema does the heavy lifting. The description's mention of height in drawing units, rotation in degrees, and optional layer/color only restates what the schema already says, matching the baseline 3.

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 first sentence gives a specific verb (Create) and resource (TEXT entity) plus the exact geometric semantics: WCS insertion point, drawing-unit height, rotation in degrees. The Disambiguation line separates it from the sibling entity_create_* primitives and from annotation tools like dimension_linear, so an agent can route 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?

'Use for labels, callouts, and notes' gives clear positive usage context, and 'optionally on a layer/color' implies baseline defaults. It stops short of explicit exclusions (e.g., use dimension_linear for measurements, batch_create_entities for bulk text), so it's strong but not fully routing.

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

feature_executeA

Execute one complete generic feature as a feature-local logical transaction bound to caller-supplied document PID and predecessor fingerprint.

Side-effects: Mutates active drawing state atomically; rolls back on failure. Disambiguation: Preferred route for multi-step feature creation; rolls back cleanly if any action fails.

NameRequiredDescriptionDefault
actionsYesOrdered list of typed micro-chunk actions (create, insert, transform)
feature_idYesUnique feature identifier for this logical transaction
document_pidYesPersistent document identifier (PID) matching active CAD drawing
correlation_idYesCaller correlation ID for tracing and idempotency
feature_sequenceYesMonotonic sequence number within the feature stream
expected_parent_fpYesExpected predecessor semantic fingerprint for optimistic locking

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

With only readOnlyHint=false, the description does add real value: it discloses atomic mutation of active drawing state, full rollback on failure, and optimistic locking via the expected predecessor fingerprint. Beyond that it omits what a rollback means for already-created entities, permission/auth needs, and how idempotency via correlation_id actually behaves on retry, so the disclosure 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.

Conciseness4/5

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

Front-loaded with the core action and clearly segmented into Side-effects and Disambiguation labels, with no filler sentences. Slight deduction for vague jargon such as 'generic feature' and 'micro-chunk' that is never unpacked.

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?

Covers the transactional contract (atomicity, rollback, optimistic locking) for a 6-required-parameter mutation tool, and an output schema exists so return values need no explanation. It stops short of describing what action types the actions array accepts or how correlation_id idempotency resolves conflicts.

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 100%, so the schema already documents all six parameters, making 3 the baseline. The description reinforces the coupling of document_pid and expected_parent_fp as a version-bound transaction but adds no new format, constraint, or failure semantics beyond what the schema fields state.

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 ('Execute') and resource ('one complete generic feature'), plus the transactional scope bounded to document PID and predecessor fingerprint. It implicitly differentiates from the batch_* siblings by calling itself the 'preferred route for multi-step feature creation', but it never names those siblings, so the differentiation is inferential 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?

'Preferred route for multi-step feature creation' gives a clear positive condition for selecting this tool over the single-step entity/block tools. However, no exclusion or counter-case is given (e.g., when to use batch_create_entities or transaction_begin instead), so an agent must infer the boundary.

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

hatch_createA

Create a hatch from a closed WCS XY boundary using pattern, scale, and angle in degrees; invalid or unsupported boundaries are refused.

Side-effects: Adds HATCH entity to active space. Disambiguation: Use to fill closed contours; boundary must be closed and coplanar.

NameRequiredDescriptionDefault
angleNoHatch pattern rotation angle in degrees (default: 0.0)
colorNoAutoCAD Color Index (ACI 1-255). Uses ByLayer if omitted
layerNoTarget layer name. Uses active layer if omitted
scaleNoHatch pattern scale factor (default: 1.0)
patternNoHatch pattern name (e.g. 'SOLID', 'ANSI31', 'ANSI32', 'BRICK') (default: 'SOLID')SOLID
boundary_pointsYesList of [X, Y] coordinates defining a closed planar polygon boundary

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries most of the burden and does: it discloses the side-effect ('Adds HATCH entity to active space') and the failure mode (invalid or unsupported boundaries are refused), which the agent cannot infer from structured fields. It doesn't mention transactions/undo or what error surface the refusal produces.

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 action, then explicitly labeled 'Side-effects' and 'Disambiguation' blocks. No filler or restatement of 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 single-entity creation tool with a full output schema and fully documented parameters, the description covers what matters: geometry precondition, side-effect, and refusal behavior. Only the transactional/error-recovery context is 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 coverage is 100% and each parameter is individually documented with defaults, so the description's mention of pattern/scale/angle adds little beyond orientation. Baseline 3 is appropriate when the schema does the heavy lifting.

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 hatch') plus the key inputs (pattern, scale, angle) and the coordinate context (closed WCS XY boundary). The Disambiguation line ('Use to fill closed contours') separates it from the entity_create_* family, though no hatch-specific sibling exists to contrast against.

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 states the applicability condition ('use to fill closed contours') and the precondition ('boundary must be closed and coplanar'), plus that invalid/unsupported boundaries are refused. It stops short of naming an alternative tool for open or non-coplanar geometry, but the selection context is clear.

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

helpA
Read-only

Return provider contract guidance, workflow rules, capability map, and refusal notes.

Side-effects: None. Read-only guidance query. Disambiguation: Use help for human/agent operating guidance; use system_capabilities for machine-readable JSON capability flags.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior3/5

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

"Side-effects: None. Read-only guidance query" restates what readOnlyHint=true already declares, so it earns no extra credit. Beyond that it discloses the nature of the returned content (including refusal notes, which hints at what an agent may find when a request is disallowed), which is modest added value. With annotations and an output schema covering the rest, a 3 is appropriate.

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 labeled lines – purpose, side-effects, disambiguation – each earning its place, with the core purpose front-loaded in the first sentence. No filler or 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?

With an output schema present, the description need not explain return values, and zero params plus readOnlyHint mean little else is required. A minor gap remains: it doesn't say whether the guidance is static boilerplate or reflects current server state, which would affect how often an agent should call 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 per the baseline rule this scores 4. There is nothing parameter-related the description could usefully add.

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 ("Return") and enumerates the concrete payloads: provider contract guidance, workflow rules, capability map, refusal notes. The final line explicitly distinguishes it from sibling system_capabilities, so an agent can separate the two without opening either schema.

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?

The disambiguation line gives an explicit when-to-use rule and names the alternative tool with the condition that selects it (machine-readable JSON flags). Nothing is left to inference about routing between help and system_capabilities.

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

layer_createA

Create a new layer with the requested AutoCAD color index; existing names are refused and the active layer is not changed.

Side-effects: Adds layer record to drawing layer table. Disambiguation: Refuses if layer already exists; use layer_update_state to modify existing layers.

NameRequiredDescriptionDefault
nameYesNew layer name to create (must be unique in drawing)
colorNoAutoCAD Color Index (ACI 1-255) (default: 7 - White/Black)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, while the description adds important behavior: it mutates the drawing by adding a layer table record, refuses duplicates, and leaves the active layer unchanged. These are exactly the side-effect and failure-mode details an agent needs before calling a write 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?

Front-loads the core action, then separately states side-effects and disambiguation in short, scannable sentences. There is no wasted wording.

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?

Given full schema coverage, an output schema, and relevant annotations, the description covers the missing behavioral context: what it creates, what it refuses, what it does not change, and which sibling to use for updates.

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 100%, and the schema already documents both parameters, including the ACI range/default and name uniqueness. The description reinforces the color-index and uniqueness semantics but does not add substantial parameter detail beyond the 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 and resource ('Create a new layer') plus key scope details: AutoCAD color index, duplicate-name refusal, and no change to the active layer. This clearly distinguishes it from layer_update_state and layer_set_current.

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 says existing names are refused and directs the agent to layer_update_state for modifying existing layers. The note that the active layer is not changed also clarifies that this tool is not for making a layer current.

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

layer_listA
Read-only

List drawing layers with normalized names, colors, linetypes, visibility/frozen/locked state, and whether each layer is current.

Side-effects: None. Read-only layer query. Disambiguation: Use to inspect existing layers before placing entities.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, and the description's 'Side-effects: None. Read-only layer query.' largely restates that. It does add the returned field set, which is modestly useful, but nothing about ordering, inclusion of xref-dependent layers, or empty-drawing behavior 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?

Three short labeled lines, purpose first, then side-effects, then usage. Every sentence carries distinct information and there is 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 read-only list with an output schema, the description covers purpose, safety, and usage. Only a naming of the alternative layer tools would make it fully self-sufficient for routing.

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 no parameters, so there is no parameter semantics to explain; the baseline for a zero-parameter schema applies. Nothing in the description misleads about inputs.

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 ('List') and resource ('drawing layers') and enumerates the returned attributes (names, colors, linetypes, visibility/frozen/locked, current flag), which distinguishes it from layer_create, layer_set_current, and layer_update_state by making clear it is the read path.

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 disambiguation line gives an explicit situation: 'Use to inspect existing layers before placing entities.' That is a clear use context, but it names no alternative tool and offers no exclusion (e.g., when to prefer object_query or layer state tools instead).

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

layer_set_currentA

Set an existing layer as the active document layer; this changes session drawing state but does not move existing objects between layers.

Side-effects: Changes current working layer for subsequent entity creation. Disambiguation: Does not modify existing entities; only sets active context.

NameRequiredDescriptionDefault
nameYesName of existing layer to set as current active layer

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

With only readOnlyHint=false available, the description carries real weight: it discloses the side-effect (changes the working layer for subsequent entity creation), clarifies that existing objects are not re-assigned, and labels it as session drawing state. It stops short of saying whether the setting persists on save or is undoable, which would be the remaining behavioral detail.

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, labeled sentences, front-loaded with the core action, then side-effects, then disambiguation. No sentence is redundant or restates the tool name.

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?

One required parameter, an output schema, and a minimal annotation set — the description supplies exactly the missing pieces (state change scope, non-mutation of geometry) without needing to explain return values. Nothing an agent needs 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.

Parameters3/5

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

Schema coverage is 100% and the single parameter is fully documented in the schema, so the baseline applies. The description reinforces the 'existing layer' constraint (implying an error if the name is unknown) but adds no format or resolution details beyond the 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 and resource ('Set an existing layer as the active document layer') and immediately scopes it ('existing layer', not creation). An agent can distinguish it from layer_create and layer_update_state 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 Guidelines4/5

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

The Disambiguation section makes explicit what the tool does not do (does not modify existing entities, only sets active context), which prevents misuse after a layer rename or property change. It does not name sibling tools such as layer_create or layer_update_state as alternatives, so routing is inferred rather than stated.

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

layer_update_stateA

Update allowlisted layer state such as on/off, frozen, locked, color, linetype, or lineweight; unsafe changes to the current layer are refused before mutation.

Side-effects: Modifies layer table properties. Disambiguation: Use to change layer visibility or styling across all entities on that layer.

NameRequiredDescriptionDefault
nameYesName of existing layer to update
colorNoAutoCAD Color Index (ACI 1-255)
is_onNoLayer visibility on/off flag
linetypeNoLinetype name to assign (e.g. 'Continuous', 'DASHED')
is_frozenNoLayer frozen state (cannot freeze current layer)
is_lockedNoLayer locked state against edits
lineweightNoLineweight in 1/100 mm (e.g. 25 = 0.25mm)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries most of the burden and does it well: it discloses the side-effect (modifies layer table properties), the allowlist constraint, and that unsafe changes to the current layer are refused before mutation. It stops short of stating permissions or reversibility/undo 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?

Three short, labeled lines with the core action front-loaded followed by side-effects and disambiguation. No redundancy; every line contributes distinct 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?

With an output schema present, return values needn't be explained, and annotations are minimal but the description covers safety and side-effects. A minor gap remains around what happens on partial failure or whether changes are undoable, but overall it is complete enough to call correctly.

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 100%, so every parameter is already documented with type and example (e.g. ACI 1-255, lineweight in 1/100 mm). The description's field list adds no format or constraint detail beyond the schema, so the baseline 3 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 and resource ('Update allowlisted layer state') and enumerates the mutable properties (on/off, frozen, locked, color, linetype, lineweight). This clearly distinguishes it from layer_create, layer_set_current, and object_set_properties.

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 disambiguation line explicitly says when to use it: to change layer visibility or styling across all entities on that layer. It lacks an explicit 'when not to use' or a named alternative (e.g. layer_set_current for switching the active layer), so it falls short of a 5.

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

layout_createA

Create a new paper-space layout by name; duplicate or empty names are refused and existing layouts are preserved.

Side-effects: Adds layout to drawing. Disambiguation: Creates blank sheet; viewports must be added separately with viewport_create.

NameRequiredDescriptionDefault
nameYesName for the new paper-space layout sheet

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries real weight: it discloses the side effect ('Adds layout to drawing'), the failure mode for duplicate/empty names, and the guarantee that existing layouts are preserved. It doesn't state what is returned or whether the new layout becomes current.

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 labeled lines, zero filler, and the core creation statement plus name constraint are front-loaded before the side-effect and disambiguation notes.

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 an output schema present and only one parameter, the description covers purpose, side effect, refusal behavior, and next step. The one notable omission for an agent is whether the newly created layout becomes the current layout, given the existence of layout_set_current.

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 100% with a single documented parameter, so the baseline is 3; the description adds meaningful constraint semantics ('duplicate or empty names are refused') that the schema does not express, which justifies the bump.

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 plus resource ('Create a new paper-space layout by name') and explicitly contrasts the tool with viewport_create, so the agent can distinguish it from siblings 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 Guidelines4/5

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

It names the alternative explicitly ('viewports must be added separately with viewport_create') and states the when-not condition (duplicate or empty names are refused). It doesn't discuss how this relates to layout_set_current or when a caller would pick an existing layout instead, so it falls short of full 5-level guidance.

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

layout_listA
Read-only

List document layouts and identify the current layout; this is read-only and does not change active model/paper space.

Side-effects: None. Read-only layout query. Disambiguation: Use to discover printable sheets.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, and the description reinforces this with 'read-only' and 'Side-effects: None.' It adds a small amount of context by noting that it does not change active model/paper space, but it largely repeats the annotation and does not add other behavioral details.

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 short and front-loads the core purpose. 'Side-effects: None. Read-only layout query.' is somewhat redundant with the first sentence, but the disambiguation line adds useful structure without excessive length.

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 simple read-only list operation with no parameters, an output schema, and explicit read-only annotations, the description gives enough context for an agent to call it correctly. Return values are covered by the output schema, so no additional detail is required.

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 there are no parameter semantics to explain. With an empty input schema and 100% schema description coverage, the baseline score of 4 is appropriate.

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: 'List document layouts and identify the current layout.' It distinguishes itself from mutation siblings by emphasizing read-only behavior and by saying it is for discovering printable sheets, though it does not explicitly name alternatives like layout_create or layout_set_current.

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 line 'Use to discover printable sheets' gives a clear usage context, and the read-only/no-change framing implicitly separates it from layout modification tools. However, it does not explicitly state when not to use it or name the sibling alternative for changing layouts.

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

layout_set_currentA

Switch the active document to an existing layout; this changes the operator's current model/paper-space context.

Side-effects: Changes operator active space context. Disambiguation: Switch between Model and paper layouts.

NameRequiredDescriptionDefault
nameYesName of existing layout to activate (e.g. 'Model' or 'Layout1')

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations only state readOnlyHint=false, indicating a mutation. The description adds meaningful context by disclosing the side-effect: changing the operator's active space context. It does not cover failure behavior for invalid layout names, but the key behavioral impact 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.

Conciseness4/5

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

The description is appropriately sized and front-loads the action. However, it repeats the same idea twice: 'changes the operator's current model/paper-space context' and 'Changes operator active space context.' That redundancy slightly weakens efficiency.

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 mutation annotation, single required parameter, output schema, and clear side-effect disclosure, the description is nearly complete for an agent to call it correctly. Only minor gaps remain, such as failure handling when the named layout does not exist.

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 100%, with the single 'name' parameter already documented and exemplified in the schema. The description adds no additional parameter meaning beyond what the schema provides, so the baseline 3 applies.

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: switching the active document to an existing layout. It clearly distinguishes this from creating layouts by saying 'existing layout' and clarifies the model/paper-space context. It stops short of naming sibling tools like layout_list or layout_create, so a 4 rather than 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 'Switch between Model and paper layouts' implies when to use the tool, and 'existing layout' implicitly excludes creation. However, it does not explicitly state when not to use it or name layout_list/layout_create as alternatives, leaving usage guidance to inference.

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

metadata_getB
Read-only

Read one schema-agnostic metadata namespace from a persistent semantic PID through the native bridge.

Side-effects: None. Read-only metadata query. Disambiguation: Use to retrieve engineering attributes attached to entities.

NameRequiredDescriptionDefault
namespaceYesSchema-agnostic metadata namespace key to read
semantic_pidYesPersistent semantic PID of the entity

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

"Side-effects: None. Read-only metadata query" simply restates the readOnlyHint annotation that the agent already has, so it adds no behavioral context. Nothing is said about behavior for an unknown namespace, whether a namespace must be written first via metadata_set, or any native-bridge failure modes.

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-loads the purpose in one sentence and keeps the rest short. The side-effects sentence is largely redundant with the annotation, a small amount of wasted space.

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?

Annotations carry the safety profile, the schema fully documents both params, and an output schema exists, so return values need not be described. What is missing is only edge-case behavior (missing namespace, namespace scope per PID), which is modest given the supporting structure.

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 100%, so both parameters are already documented in the schema; baseline 3 applies. The description echoes the "schema-agnostic namespace" and "persistent semantic PID" wording but contributes no extra format or constraint detail.

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: reading one metadata namespace for a persistent semantic PID. The disambiguation line hints at the difference from metadata_query/metadata_set, but never names those siblings, so the agent must infer 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 Guidelines3/5

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

"Use to retrieve engineering attributes attached to entities" implies when to reach for it, but there is no explicit when-not condition and the obvious alternatives (metadata_query, metadata_set) are not named. Usage is inferable rather than stated.

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

metadata_queryA
Read-only

Query a bounded schema-agnostic metadata namespace across the active native document, optionally matching one dotted JSON path to an exact JSON value.

Side-effects: None. Read-only metadata query. Disambiguation: Use to locate entities by engineering metadata rather than visual layers.

NameRequiredDescriptionDefault
pathNoOptional dotted JSON path within namespace to match
limitNoMaximum number of matched entities to return (default: 200)
equalsNoOptional exact JSON value to match at dotted path
offsetNoPagination starting offset index (default: 0)
namespaceYesSchema-agnostic metadata namespace key to query

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

The readOnlyHint annotation already declares the safety profile, and the description mostly restates it ("Side-effects: None. Read-only metadata query."), which earns no additional credit. It does add scope context ("bounded", "across the active native document") but says nothing about behavior on no matches, on an unknown namespace, or on type mismatches in equals — with annotations carrying safety, a 3 is appropriate.

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 labelled, front-loaded sentences that are easy to scan, with the core purpose first. The middle sentence is largely redundant with the readOnlyHint annotation, which is the only real waste.

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 an output schema present and full parameter coverage, the description need not explain returns or pagination, and it supplies purpose, scope and disambiguation. The remaining gap is conceptual — what a "schema-agnostic metadata namespace" actually contains and what an empty match set means — which is a modest but real shortfall for a niche 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 100%, so path, equals, namespace, limit and offset are already documented in the schema. The description only echoes path and equals semantics and adds nothing about what a namespace key looks like or whether matching is exact/case-sensitive beyond the word "exact". Baseline 3 is correct.

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 (query) and resource (a metadata namespace on the active document) with the matching condition spelled out (one dotted JSON path to an exact JSON value). It is clearly not a write tool, but it never names its closest siblings metadata_get / metadata_set, so the agent must infer the boundary between querying, reading, and writing metadata.

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 Disambiguation line gives a concrete selection rule: use this to locate entities by engineering metadata rather than visual layers, which implicitly contrasts with object_query/layer-based tools. It stops short of explicit when-not conditions or naming the metadata_get/metadata_set alternatives for single-key versus multi-entity access.

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

metadata_setA

Set one bounded schema-agnostic JSON metadata namespace only when caller document PID and predecessor fingerprint still match.

Side-effects: Attaches XData/extension dictionary metadata to entity. Disambiguation: Use to store engineering properties (part numbers, materials) on entities.

NameRequiredDescriptionDefault
valueYesJSON-serializable metadata payload
namespaceYesSchema-agnostic metadata namespace key to set
document_pidYesPersistent document identifier matching active CAD drawing
semantic_pidYesPersistent semantic PID of the entity
expected_parent_fpYesExpected predecessor semantic fingerprint for optimistic locking

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Goes well beyond readOnlyHint=false by declaring the side-effect (attaches XData/extension dictionary metadata to the entity) and the optimistic-locking guard on the predecessor fingerprint. It still does not say what happens on a fingerprint mismatch (error vs. silent no-op) or whether an existing namespace is overwritten, so the mutation semantics remain partially opaque.

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 labeled statements, each carrying distinct information (precondition, side-effect, disambiguation), with the operation and its guard front-loaded. No sentence 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?

For a five-required-parameter mutation tool with an output schema and minimal annotations, the description covers the precondition, the write's side-effect and the intended use. Missing are failure behavior on a stale fingerprint and the overwrite/replace semantics of an existing namespace, which an agent would want before calling.

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 100%, so every parameter is documented in the schema, including the optimistic-locking role of expected_parent_fp. The description only reinforces the fingerprint-match precondition already stated in the schema and adds no format or constraint detail for namespace or value, so the baseline of 3 applies.

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 one bounded schema-agnostic JSON metadata namespace on an entity, and labels it as a write operation. It is easily distinguished from metadata_get and metadata_query by the write verb, though it does not name those 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 Guidelines4/5

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

The Disambiguation line gives a concrete use case (store engineering properties such as part numbers and materials on entities), and the first sentence gives the calling precondition (document PID and predecessor fingerprint must still match). It never names an alternative tool or a when-not-to-use condition, which keeps it short of a 5.

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

native_document_identity_initializeA

Explicitly initialize provider-owned persistent document lineage on the active empty drawing space, returning verified document PID and semantic fingerprint.

Side-effects: Writes persistent dictionary lineage to drawing, advances document fingerprint. Disambiguation: Use once on an empty drawing to bootstrap native tracking; refuses non-empty drawings.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior5/5

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

Annotations provide only readOnlyHint=false, so the description carries the load and does so: it declares the persistent dictionary write, the fingerprint advance, and a hard refusal condition on non-empty drawings. That is exactly the mutation/blast-radius context an agent needs before calling a write 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?

Three sentences, each doing distinct work: the action, the side effects, and the disambiguation/precondition. No repetition and 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?

Output schema exists, so return values need no explanation, and the description still covers side effects and refusal behavior. It does not address re-entrancy (what happens if invoked twice on an already-initialized drawing beyond the refusal) or whether the write can be undone, which would round it out.

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?

Zero parameters, so the schema is trivially complete and the description has nothing to add on inputs. Per the zero-param baseline this would be a 4, but the description mentions return values ('verified document PID and semantic fingerprint') rather than any parameter meaning, offering no input-side 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?

Names a specific verb ('initialize') and resource ('provider-owned persistent document lineage') and states the return ('document PID and semantic fingerprint'). The heavy jargon ('semantic fingerprint', 'native tracking') slightly obscures the plain intent, but an agent can still distinguish it from native_integrity_status, which reads status rather than bootstrapping it.

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 conditions use: 'Use once on an empty drawing to bootstrap native tracking; refuses non-empty drawings' — giving both the when and the when-not. It stops short of naming an alternative tool to consult first, which keeps it from a 5.

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

native_integrity_statusA
Read-only

Inspect the same-session managed native bridge and the exact active AutoCAD document binding, including persistent document PID and semantic fingerprint.

Side-effects: None. Read-only integrity query. Disambiguation: Use native_integrity_status to verify native C# bridge liveness and optimistic lock state; use system_status for overall provider status.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description reinforces the read-only, no-side-effects behavior. It adds useful context about what is being verified (bridge liveness, optimistic lock state, persistent document PID, semantic fingerprint), though it does not elaborate on failure modes or result semantics beyond the output 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 short, front-loaded with the core purpose, and then adds side-effect and disambiguation notes. Every sentence carries useful routing or safety information.

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?

Given the zero-parameter schema, existing output schema, and readOnlyHint annotation, the description supplies enough context to identify the tool, understand its safety profile, and route between it and system_status. No essential invocation detail 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 parameter semantics are not a meaningful differentiator. The baseline for a zero-parameter tool is 4, and nothing in the description needs to compensate for missing parameter documentation.

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 inspect action over a clearly named resource: the same-session managed native bridge and active AutoCAD document binding, including PID and semantic fingerprint. It is readily distinguishable from sibling tools, especially system_status, which is named in the disambiguation.

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 says to use this tool to verify native C# bridge liveness and optimistic lock state, and directs overall provider status checks to system_status. This gives a concrete use case and an alternative rather than leaving routing to inference.

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

object_copyA

Copy one object by WCS delta dx/dy/dz using drawing units and return the new entity identifier without deleting the source.

Side-effects: Creates a duplicate entity at the offset location. Disambiguation: Creates new object; use object_move to translate without duplication.

NameRequiredDescriptionDefault
dxYesWCS delta X offset in drawing units
dyYesWCS delta Y offset in drawing units
dzNoWCS delta Z offset in drawing units (default: 0.0)
object_idYesBackend entity identifier or persistent CAD handle of object to copy

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

The annotations only state readOnlyHint=false, so the description carries most of the behavioral explanation. It discloses the key side effect — creates a duplicate entity at the offset location — and clarifies that the source is not deleted. It does not discuss permissions or undo/transaction behavior, but the core mutation semantics are clear.

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 main action and return behavior, followed by brief side-effect and disambiguation notes. Every sentence adds useful information with no filler.

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?

The tool has an output schema, so the description need not explain return structure. It still notes that the new entity identifier is returned, and it covers the essential mutation and disambiguation details for correct invocation.

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 100%, so dx, dy, dz, and object_id are already documented in the input schema. The description reiterates WCS delta and drawing units but does not add syntax or constraints beyond the schema, making the baseline 3 appropriate.

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 uses a specific verb and resource: copy one object via WCS delta dx/dy/dz. It also states the return value and that the source is not deleted, and it distinguishes the operation from object_move.

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?

It explicitly names the alternative behavior: use object_move to translate without duplication. This gives the agent a clear rule for choosing between copying and moving.

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

object_countA
Read-only

Count objects in the backend's current supported space with optional type and layer filters; no document geometry is modified.

Side-effects: None. Read-only entity count query. Disambiguation: Lightweight count check before fetching full object lists.

NameRequiredDescriptionDefault
type_filterNoOptional entity type filter (e.g. 'LINE', 'CIRCLE')
layer_filterNoOptional layer name filter

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is known; the description reinforces it with 'no document geometry is modified' and adds the useful scoping detail that counting is limited to the backend's current supported space. Slight redundancy with the annotation, but it adds the space constraint.

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 labeled sections for side-effects and disambiguation. There is mild repetition between 'no document geometry is modified', 'Side-effects: None', and 'Read-only', which costs a bit but the rest 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?

With an output schema, annotations, and fully described parameters, the description covers what an agent needs to call this correctly. The only soft spot is that 'current supported space' is not defined, but the tool is simple enough that this is minor.

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?

Both parameters are already fully documented in the schema (100% coverage, with type examples like 'LINE', 'CIRCLE'). The description only mentions that type and layer filters exist, which the schema already conveys, so baseline 3 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 and resource ('count objects') plus the scope ('backend's current supported space') and the filterable dimensions. An agent can distinguish it from object_list/object_query 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?

The disambiguation line gives a clear usage pattern: run a lightweight count first, then fetch full object lists if needed. It doesn't explicitly name object_list/object_query as the alternatives, but the intended workflow is unambiguous.

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

object_deleteA

Delete one object by backend object identifier from the active document; this is destructive and timeout uncertainty must be reconciled before retry.

Side-effects: Destructive deletion of entity from active drawing. Disambiguation: Destructive removal; use object_set_properties(visible=False) if temporary hiding is preferred.

NameRequiredDescriptionDefault
object_idYesBackend entity identifier or persistent CAD handle of object to delete

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries most of the load and does so well: it states the deletion is destructive and permanent in effect, names the side effect on the active drawing, and warns about timeout/idempotency ambiguity on retry. It stops short of saying whether undo can restore the deleted entity, or how it behaves for locked layers or entities referenced by blocks — relevant gaps for a destructive 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?

Front-loaded with the action and target, then segmented into labeled Side-effects and Disambiguation clauses — easy to scan. Minor redundancy: destruction is stated three times (main sentence, side-effects line, disambiguation line), one of which could be cut.

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?

An output schema exists so return values need no explanation, and the description covers the critical behaviors for a destructive one-param tool: what is destroyed, scope, and retry hazard. It leaves out failure modes (unknown/stale object_id), and whether the deletion is undoable via the undo sibling, which would round it out for the agent.

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 100% and the single parameter is documented there, so the baseline is 3. The description adds value by narrowing scope to the active document and identifying the identifier as a backend object identifier, which constrains what a valid value can be.

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 (delete), a precise scope (one object), the identifier type (backend object identifier), and the document context (active document). This distinguishes it clearly from object_list, object_get, object_query, and object_set_properties without needing 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 Guidelines5/5

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

Explicitly names the alternative and the condition that selects it: use object_set_properties(visible=False) when temporary hiding is preferred. It also flags a retry precondition (reconcile timeout uncertainty before retry), which is exactly the kind of when-to-use guidance an agent needs for a destructive operation.

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

object_getA
Read-only

Read one object by backend object identifier and return normalized type, layer, color, visibility, geometry properties, and current-space metadata.

Side-effects: None. Read-only entity query. Disambiguation: Use for single entity inspection; use object_measure for calculated metrics.

NameRequiredDescriptionDefault
object_idYesBackend entity identifier or persistent CAD handle

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

The description restates readOnlyHint=true with 'Side-effects: None. Read-only entity query.', which is duplicative of structured data rather than additive. It does not cover failure behavior (e.g., what happens with an unknown or stale handle) or permission requirements. With annotations covering the safety profile and an output schema present, a 3 is appropriate.

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?

Four short lines, front-loaded with the core action and return payload, then side-effects, then routing. No sentence is filler and structure is easy to scan.

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 annotations and an output schema, the description covers purpose, safety, and routing. The only gap is failing to differentiate from object_list/object_query, which matters given the dense object_* sibling group.

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 100% and the sole parameter's description ('Backend entity identifier or persistent CAD handle') matches the description's phrasing, so the description adds no meaning beyond the schema. Baseline 3 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 and resource ('Read one object by backend object identifier') and enumerates exactly what is returned (type, layer, color, visibility, geometry, space metadata). This lets an agent distinguish it from the write-side object tools 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 Disambiguation line gives an explicit condition and alternative: single entity inspection here, calculated metrics via object_measure. However, it omits the more immediate lookalikes in the sibling set — object_list and object_query — leaving the agent to infer why it should pick object_get over those.

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

object_intersectionsA
Read-only

Compute exact supported intersections between two distinct objects with an explicit extension mode; unsupported solvers fail closed rather than approximate silently.

Side-effects: None. Read-only intersection solver. Disambiguation: Computes geometric intersection points with extend options.

NameRequiredDescriptionDefault
first_idYesFirst entity backend identifier or handle
second_idYesSecond entity backend identifier or handle
extend_modeNoIntersection solver extension mode: 'none', 'extend_first', 'extend_second', 'extend_both' (default: 'none')none

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only declare readOnlyHint, and the description does add real behavioral content beyond them: the fail-closed failure semantics ('unsupported solvers fail closed rather than approximate silently'), which an agent cannot infer from structured data. The 'Side-effects: None / Read-only' lines merely restate the annotation, keeping it from a 5.

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 core behavior and the failure-semantics caveat are front-loaded in the first sentence. Two of the follow-on lines are partly redundant — 'Side-effects: None' and 'Read-only intersection solver' duplicate the readOnlyHint annotation and each other — but the description stays short.

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 an output schema present (no need to describe return values), full schema coverage, and readOnlyHint annotations, the description supplies exactly the missing piece: that unsupported cases error out rather than silently approximating. An agent can call this correctly without further information.

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 100%, so the schema already documents first_id, second_id, and the extend_mode values. The description echoes the explicit extension mode but adds no format, ordering, or constraint detail (e.g., what happens when the two ids are identical or of incompatible types), so baseline 3 applies.

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 ('Compute exact supported intersections between two distinct objects') and names the governing knob (extension mode). It is distinguishable from measurement/mutation siblings, though it never names an alternative 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 Guidelines3/5

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

The 'Disambiguation' line gestures at usage ('computes geometric intersection points with extend options') and the phrase 'two distinct objects' implies a precondition, but there is no explicit when-to-use vs when-not, and no naming of an alternative approach (e.g., object_measure) for non-intersection queries.

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

object_listA
Read-only

List objects from the backend's current supported space with optional type/layer filters and bounded pagination; returned IDs are backend object identifiers.

Side-effects: None. Read-only entity query. Disambiguation: Use for sequential browsing of objects; use object_query when spatial filtering or bounding box measurements are needed.

NameRequiredDescriptionDefault
limitNoMaximum number of objects to return per page (default: 200)
offsetNoStarting index offset for pagination (default: 0)
type_filterNoOptional entity type filter (e.g. 'LINE', 'CIRCLE', 'LWPOLYLINE', 'INSERT')
layer_filterNoOptional layer name filter

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already carry readOnlyHint=true, so 'Side-effects: None. Read-only entity query.' largely restates structured data, but the description adds real value beyond that: results are bounded by pagination and the returned IDs are backend identifiers rather than drawing handles. That ID-semantics note is context an agent cannot get from annotations or 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.

Conciseness4/5

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

Front-loaded with purpose, then three short labeled clauses; nothing is buried. The 'Side-effects: None' line is slightly redundant with the annotation, but it is compact and does not distract.

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?

An output schema exists, so return-value explanation is not required. Scope, safety, pagination bounding, ID semantics, and sibling routing are all covered. Minor gap: no indication of result ordering or that zero filters returns the entire space, which matters for a default-200-paginated listing 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 100%, with limit/offset defaults and example entity types already documented per-property. The description only gestures at 'type/layer filters and bounded pagination' without adding format or interaction detail (e.g. whether filters combine, what bound applies). Baseline 3 is appropriate.

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 objects from the backend's current supported space') plus the filter and pagination scope, and explicitly names the sibling it is not (object_query). An agent can distinguish it from object_get, object_count, and object_query 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 Guidelines5/5

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

Gives an explicit positive selection rule ('use for sequential browsing') and the exact condition that should route the agent elsewhere ('use object_query when spatial filtering or bounding box measurements are needed'). Alternatives and exclusions are both named.

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

object_measureA
Read-only

Measure one object using the active backend's exact supported geometry API and return type-specific metrics plus WCS bounding box for deterministic verification.

Side-effects: None. Read-only measurement query. Disambiguation: Returns deterministic type-specific mathematical metrics.

NameRequiredDescriptionDefault
object_idYesBackend entity identifier or persistent CAD handle to measure

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, and the description reinforces this with 'Side-effects: None' and 'Read-only measurement query.' It adds useful behavioral context by stating that results are deterministic and type-specific, though it does not describe backend support limitations or failure 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?

The description is short, front-loaded, and structured into purpose, side effects, and disambiguation. Every line contributes to selecting or safely invoking the 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 read-only, single-parameter tool with an output schema and readOnlyHint annotation, the description is largely complete. The main remaining gap is sibling routing: it does not explicitly distinguish measurement from object inspection or extents queries.

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 100%, so the single object_id parameter is already fully documented in the schema. The description does not add further meaning about accepted identifiers, resolution behavior, or lookup semantics beyond what the schema provides.

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 one object. It also defines the output scope as type-specific metrics plus a WCS bounding box, which is clearer than a generic object inspection tool. However, it does not explicitly name sibling alternatives such as object_get, solid_inspect, or drawing_extents.

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 'Read-only measurement query' implies the use case, and 'Disambiguation' suggests it is for deterministic mathematical metrics. But there is no explicit guidance on when to choose this tool versus object_get, solid_inspect, drawing_extents, or object_intersections.

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

object_moveA

Move one object by WCS delta dx/dy/dz using drawing units and return the normalized updated entity; this mutates geometry.

Side-effects: Shifts entity coordinates in active drawing. Disambiguation: Use for translation; use object_rotate or object_scale for other transforms.

NameRequiredDescriptionDefault
dxYesWCS delta X translation in drawing units
dyYesWCS delta Y translation in drawing units
dzNoWCS delta Z translation in drawing units (default: 0.0)
object_idYesBackend entity identifier or persistent CAD handle of object to move

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only supply readOnlyHint=false, so the description carries most of the burden and does well: it discloses that geometry is mutated, that entity coordinates shift in the active drawing, and that a normalized updated entity is returned. It doesn't mention undo/transaction interaction, which keeps it short of a 5.

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?

Front-loaded with the core action, then clearly labeled Side-effects and Disambiguation lines. Every sentence adds information without waste.

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?

An output schema exists so return-format explanation isn't needed, all params are documented, and the mutation behavior is disclosed. Nothing required to invoke correctly 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?

Schema coverage is 100% and each parameter is documented (including dz default of 0), so the schema already does the heavy lifting. The description adds only the framing of dx/dy/dz as WCS deltas in drawing units, meeting the baseline 3.

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 (move), resource (one object), and coordinate semantics (WCS delta dx/dy/dz in drawing units), plus the return value. It also names sibling transforms it is not, so an agent can distinguish it from object_rotate/object_scale.

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?

Explicit disambiguation: 'Use for translation; use object_rotate or object_scale for other transforms.' The mutation constraint is also stated, giving clear when-to-use and when-not guidance.

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

object_queryA
Read-only

Query a bounded object set by type/layer and optional WCS bounding window, returning normalized objects plus measured bounds so source-registration workflows do not need side-channel DXF export.

Side-effects: None. Read-only spatial query. Disambiguation: Preferred spatial query tool to find objects inside a bounding box.

NameRequiredDescriptionDefault
limitNoMaximum objects to return (default: 200)
max_xNoWCS bounding query window upper-right corner X
max_yNoWCS bounding query window upper-right corner Y
min_xNoWCS bounding query window lower-left corner X
min_yNoWCS bounding query window lower-left corner Y
offsetNoPagination starting index (default: 0)
type_filterNoOptional entity type filter (e.g. 'LINE', 'CIRCLE', 'INSERT')
layer_filterNoOptional layer name filter

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so 'Side-effects: None. Read-only spatial query' mostly restates structured data. The genuinely added context is that results come back normalized with measured bounds, removing the need for a separate DXF export, but there is no mention of permission requirements, behavior when only some bounding coordinates are supplied, or cost of large queries.

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 action and return shape, then cleanly separated side-effect and disambiguation lines. The 'so source-registration workflows do not need side-channel DXF export' clause is rationale rather than instruction, but it earns its place by explaining the tool's niche.

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 a full output schema, complete parameter docs, and a readOnly annotation, the remaining burden on the description is small and it covers purpose and preferred-use. It omits edge-case behavior that matters for an 8-parameter spatial query, such as partial bbox input or how limit/offset interact with the bounding window.

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 100%, so all eight parameters are already documented, including the bbox corners, filters, limit and offset. The description only references the type/layer filters and bounding window generically and adds no semantics beyond the schema, which is the baseline-3 case.

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 ('Query a bounded object set by type/layer and optional WCS bounding window') plus the return shape ('normalized objects plus measured bounds'). The disambiguation line positions it as the spatial-query option versus plain listing/getting, but it never names the sibling tools (object_list, object_get) it is meant to replace.

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 says it is the 'preferred spatial query tool to find objects inside a bounding box', which gives a clear selection criterion. It lacks any when-not guidance (e.g., use object_list when no spatial constraint applies) and says nothing about combining bbox with filters or about paginating large result sets.

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

object_rotateA

Rotate one object around the supplied WCS base point by angle_deg in degrees; this mutates geometry in the active document.

Side-effects: Mutates entity geometry in active drawing. Disambiguation: Rotates geometry counter-clockwise in degrees; use object_scale to resize or object_move to translate.

NameRequiredDescriptionDefault
base_xYesWCS X coordinate of rotation center base point
base_yYesWCS Y coordinate of rotation center base point
angle_degYesRotation angle in degrees (counter-clockwise)
object_idYesBackend entity identifier or persistent CAD handle of object to rotate

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false; the description adds real context by stating the operation mutates entity geometry in the active drawing and specifying counter-clockwise degrees. It omits whether rotation is about the WCS Z-axis only and whether changes are undoable, which would complete the mutation profile.

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 labeled lines: the action and its inputs come first, followed by side-effects and disambiguation. Every sentence carries distinct information 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?

With full schema coverage and an output schema present, the description needn't explain returns, and it covers mutation and direction adequately. Minor gaps remain around axis of rotation and undo/transaction expectations for a mutating call.

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 100%, so all four parameters are already documented, including the counter-clockwise convention and WCS base point. The description largely restates those facts rather than adding new semantics, so the baseline 3 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 and resource ('Rotate one object') plus the exact governing parameters (WCS base point, angle_deg). The Disambiguation line explicitly contrasts it with object_scale and object_move, so an agent can select it without opening sibling schemas.

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 routes the agent to object_scale for resizing and object_move for translation, giving clear alternative selection criteria. It stops short of stating preconditions (e.g., entity must exist, or that a transaction/undo may be warranted), so it is strong but not exhaustive.

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

object_scaleA

Scale one object uniformly about the supplied WCS base point by a positive factor; this mutates geometry in the active document.

Side-effects: Mutates entity scale in active drawing. Disambiguation: Modifies entity size; use object_move to reposition.

NameRequiredDescriptionDefault
base_xYesWCS X coordinate of scaling center base point
base_yYesWCS Y coordinate of scaling center base point
factorYesPositive uniform scaling multiplier (e.g. 2.0 = double size, 0.5 = half size)
object_idYesBackend entity identifier or persistent CAD handle of object to scale

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

The description discloses the mutation up front ("mutates geometry in the active document") and repeats the specific side effect as entity scale, which is the level of detail annotations (readOnlyHint=false only) do not provide. It stops short of saying what happens to dependent geometry, whether the edit is undoable as a unit, or whether invalid factors are rejected.

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 purpose is front-loaded in a single well-formed sentence and the trailing lines are short and scannable. However, "mutates geometry in the active document" and "Side-effects: Mutates entity scale in active drawing" say essentially the same thing, which is mild 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?

With an output schema present and full parameter coverage, the description only needs to carry purpose, mutation risk, and sibling routing, all of which it does. Gaps are secondary: behavior for non-positive factors, dependency/undo implications, and whether block or xref entities are scalable are unaddressed.

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 100%, so all four parameters are already documented, including the positive-multiplier semantics and WCS base point. The description restates those same concepts (WCS base point, positive factor, uniform) without adding syntax or edge-case guidance, so baseline 3 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 (scale), resource (one object), and the exact transform semantics (uniform, about a WCS base point, positive factor). The Disambiguation line explicitly distinguishes it from object_move, so an agent can separate it from siblings 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 Disambiguation sentence names an alternative (object_move) and the condition that selects it (repositioning rather than resizing). It does not address other near-neighbors such as object_rotate or batch_transform_entities, so the guidance is clear but not exhaustive.

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

object_set_propertiesA

Update selected properties of one object—layer, color, linetype, or visibility—while leaving unspecified properties unchanged.

Side-effects: Modifies entity visual properties. Disambiguation: Use to style entities; for spatial changes use object_move, object_rotate, or object_scale.

NameRequiredDescriptionDefault
colorNoAutoCAD Color Index (ACI 0-256; 0=ByBlock, 256=ByLayer)
layerNoTarget layer name. Layer must exist
visibleNoEntity visibility flag (True=visible, False=hidden)
linetypeNoLinetype name to assign (e.g. 'Continuous', 'DASHED')
object_idYesBackend entity identifier or persistent CAD handle

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, and the description adds a real behavioral fact beyond that: 'Side-effects: Modifies entity visual properties' plus the partial-update guarantee that unspecified properties are left unchanged. It does not cover persistence (whether a save/transaction is needed) or failure modes, so it stops short of full disclosure.

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, labeled lines (main behavior, Side-effects, Disambiguation) with the primary action front-loaded. No filler and nothing redundant with the schema.

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 an output schema present, return values need no explanation, and the description covers mutation scope and sub-tool routing. It leaves out whether a transaction/commit is required for changes to persist and what error surfaces when a layer name doesn't exist.

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 100%, so baseline is 3, but the description adds semantics the schema lacks: that omitted/null properties are left unchanged rather than reset. It still doesn't explain the null-vs-omitted distinction per parameter or ACI/linetype validity rules, which stay in the 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 and resource ('Update selected properties of one object') and enumerates the exact property set (layer, color, linetype, visibility). It also distinguishes itself from spatial siblings in the same breath, so an agent can identify the tool 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 Guidelines5/5

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

Explicit routing: 'Use to style entities; for spatial changes use object_move, object_rotate, or object_scale.' That names both the condition for this tool and the concrete alternatives for the excluded case.

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

redoA

Redo the most recent reverted backend/document operation according to backend history semantics; refuses when no redoable state is available.

Side-effects: Re-applies reverted modification. Disambiguation: Single-step forward history navigation.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Only readOnlyHint=false is provided, but the description steps in with the side-effect ('Re-applies reverted modification') and failure mode ('refuses when no redoable state is available'). It leaves out whether a redo is itself undoable and how it interacts with explicit transactions, which would have earned a 5.

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, labeled lines with zero filler; the core action is front-loaded and the side-effect and disambiguation follow in a scannable order.

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 no-parameter mutation tool that ships an output schema, the description covers the action, side-effect, failure condition, and its relation to sibling history tools. Nothing an agent needs 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?

The tool takes no parameters, and the schema correctly declares an empty object, so there is nothing for the description to disambiguate. That matches the baseline for zero-parameter tools.

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 (redo) applied to a specific resource (the most recent reverted backend/document operation) and scopes it to a single step. The 'Single-step forward history navigation' disambiguation line clearly separates it from the sibling undo 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?

Tells the agent the precondition (a reverted operation must exist) and the refusal behavior when no redoable state is available. It falls short of explicitly naming undo as the counterpart alternative, though 'forward history navigation' implies the pairing.

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

solid_booleanA

Apply UNION, SUBTRACT, or INTERSECT between two distinct ACIS 3DSOLIDs and return post-operation volume, centroid, bounding box, and tool-consumption state.

Side-effects: Combines or cuts solids; consumes tool body. Disambiguation: Constructive solid geometry operation.

NameRequiredDescriptionDefault
operationYesBoolean operation: 'union', 'subtract', 'intersect'
tool_handleYesHandle of tool ACIS 3DSOLID (consumed by operation)
target_handleYesHandle of base ACIS 3DSOLID (modified in-place)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries most of the burden and does well: it discloses the mutation side-effects (combining/cutting solids) and that the tool body is consumed, which is critical before invocation. It does not mention reversibility or transaction requirements, but the destructive semantics are clearly 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?

Three tightly packed lines: operation+return values, side-effects, disambiguation. Front-loaded and zero waste.

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?

An output schema exists, so return values needn't be explained, and all three params are fully documented in schema. The description covers the key side-effect and consumption behavior; only transaction/permission context is absent, which is minor for this 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 coverage is 100%, so the schema already documents each parameter including that tool_handle is consumed and target_handle is modified in-place. The description adds the 'distinct' constraint but otherwise reinforces rather than extends schema meaning, so baseline 3 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 (apply UNION/SUBTRACT/INTERSECT) on a specific resource (two ACIS 3DSOLIDs) and names what it returns. It is clearly distinguishable from siblings like solid_transform or solid_create_primitive.

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 says the operation happens 'between two distinct' solids and that the tool body is consumed, which implies usage context. However, it offers no explicit when-to-use/when-not guidance or routing to alternatives such as solid_transform or solid_inspect, leaving selection largely to inference.

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

solid_create_primitiveA

Create a native ACIS BOX, CYLINDER, SPHERE, CONE, TORUS, or WEDGE from typed numeric parameters; the live AutoCAD backend is required and an optional output layer is applied explicitly.

Side-effects: Adds 3DSOLID entity to drawing. Disambiguation: Primary tool for baseline solid shapes; use boolean operations to combine.

NameRequiredDescriptionDefault
kindYes3D solid primitive type: 'box', 'cylinder', 'sphere', 'cone', 'torus', 'wedge'
layerNoTarget layer name for the solid entity
parametersYesPrimitive dimensions (e.g. length/width/height for box; radius/height for cylinder)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

With only readOnlyHint=false in annotations, the description adds important behavior by disclosing the side effect ('Adds 3DSOLID entity to drawing') and the live-backend requirement. It does not discuss permissions, failure modes, or whether existing geometry is affected, but the main mutation behavior is clear.

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 compact and front-loaded: the create action and primitive list come first, followed by backend/layer behavior, side effects, and disambiguation. Every line contributes useful selection or invocation context.

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 primitive-creation tool with a complete input schema and an output schema, the description covers the essential non-schema behavior: required backend, side effect, optional layer, and sibling disambiguation. Nothing critical is missing for an agent to invoke it correctly.

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 100%, so the schema already documents kind, layer, and parameters thoroughly. The description adds only that parameters are 'typed numeric parameters' and that the output layer is applied explicitly, which is marginal beyond the 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?

The description states a specific verb and resource: 'Create a native ACIS BOX, CYLINDER...' and enumerates the exact primitive types. It also distinguishes itself from siblings by calling itself the 'Primary tool for baseline solid shapes' and routing boolean combination elsewhere.

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 clear usage context: the live AutoCAD backend is required, an optional output layer is applied explicitly, and boolean operations should be used to combine solids. The only gap is that it does not explicitly compare against solid_extrude, solid_revolve, or solid_sweep for non-baseline shapes.

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

solid_exportA

Export selected native ACIS solids to a contained SAT artifact using AutoCAD's typed Export API and return SHA-256 provenance; unsupported STEP/STL requests are refused rather than emulated unsafely.

Side-effects: Writes SAT file to disk. Disambiguation: CAD interchange for solid geometry.

NameRequiredDescriptionDefault
pathYesAllowed destination filesystem path (.sat) for ACIS export
formatNoExport file format: 'sat' (default: 'sat')sat
handlesYesList of ACIS 3DSOLID handles to export

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations provide only readOnlyHint=false, so the description earns real credit for stating 'Writes SAT file to disk,' disclosing the provenance hash return, and warning that STEP/STL requests are refused rather than emulated. What's missing is behavior around overwriting an existing file at 'path' and whether the write is atomic.

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 core action and output are front-loaded in the first sentence, with side-effects and disambiguation broken out into labeled lines. Every sentence carries distinct information — no restatement of the name or filler.

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 100% schema coverage and an output schema present, the description's remaining job is behavioral context, which it supplies: write side-effect, provenance return, and refusal of unsupported formats. An agent has everything needed to invoke this correctly and to know what it will refuse.

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 100%, so 'handles', 'path', and 'format' are already documented in the schema. The description reinforces that export operates on 'selected native ACIS solids,' but adds no format syntax, handle validity rules, or default behavior beyond what the schema states. Baseline 3 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 (export), a specific resource (selected native ACIS solids), and the exact output artifact (SAT), plus the additional outputs of SHA-256 provenance and refusal of STEP/STL. This is clearly distinguishable from siblings like document_save_as, document_export_pdf, or artifact_seal, which handle different formats or functions.

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?

Includes an explicit when-not condition ('unsupported STEP/STL requests are refused rather than emulated unsafely') and a disambiguation line scoping its use to 'CAD interchange for solid geometry.' It stops short of naming the alternative tool an agent should choose for other export formats, leaving that inference to the agent.

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

solid_extrudeA

Create an ACIS 3DSOLID by extruding a closed planar profile by non-zero height and bounded taper angle; temporary regions are cleaned deterministically.

Side-effects: Creates 3DSOLID from profile; removes temp region. Disambiguation: Linear extrusion; use solid_revolve for rotational solids.

NameRequiredDescriptionDefault
layerNoTarget layer name for the resulting solid
heightYesExtrusion height in drawing units (must be non-zero)
taper_angleNoTaper angle in degrees between -89 and +89 (default: 0.0)
profile_object_idYesBackend entity ID of closed planar 2D profile to extrude

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries most of the burden and does add value: it names the Side-effects (creates a 3DSOLID, removes the temporary region) and calls the cleanup deterministic. It doesn't say whether the source profile object survives, what happens on failure, or whether a transaction is 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?

Three short lines: purpose first, then side-effects, then disambiguation. No filler, and the most decision-relevant information (what it makes, and which sibling to use instead) is front-loaded.

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 a full output schema and complete parameter documentation, the description covers what matters: entity created, side effects, and sibling routing. It could go further on workflow preconditions (valid profile reference, transaction handling), which is the only remaining gap for a mutating geometry 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 100%, so all four parameters are already documented in the schema, including the non-zero height and taper range. The description's mention of 'non-zero height' and 'bounded taper angle' merely restates schema constraints rather than adding new semantics. Baseline 3 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?

Specific verb plus resource plus constraints: 'Create an ACIS 3DSOLID by extruding a closed planar profile by non-zero height and bounded taper angle.' It is clearly distinguishable from solid_sweep and solid_revolve, and the resulting entity type is named explicitly.

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 Disambiguation line explicitly routes rotational needs to solid_revolve, which is real alternative-routing value. However, it doesn't state prerequisites (e.g., profile must already exist as a closed planar entity, or that a transaction must be active) or when-not-to-use beyond the rotational case.

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

solid_inspectA
Read-only

Inspect an ACIS 3DSOLID by handle and return layer, visibility, volume, centroid, and WCS bounding box; face-level topology is reported as unsupported when it cannot be proven through ActiveX.

Side-effects: None. Read-only solid inspection. Disambiguation: Physical and spatial verification of solids.

NameRequiredDescriptionDefault
handleYesHandle of the ACIS 3DSOLID entity to inspect

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Confirms the readOnlyHint with 'Side-effects: None' and, more valuably, discloses a real behavioral limit: face-level topology is reported as unsupported when it cannot be proven through ActiveX. That partial-failure semantics is not derivable from annotations or schema. What's missing is what happens on an invalid handle or a non-solid entity.

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 verb and the output payload, followed by two tight labeled lines. The disambiguation line is the weakest sentence since it gestures at scope without naming a sibling, but nothing is padded or 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 an output schema present, return values need no prose, and the safety profile is covered by annotations plus the side-effects line. The remaining gap is edge-case handling (invalid handle, non-solid target), which for a diagnostic inspection tool is a modest omission.

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?

Single parameter with 100% schema description coverage, so the schema already explains 'Handle of the ACIS 3DSOLID entity to inspect'. The description only restates 'by handle' and adds the implicit constraint that the target must be an ACIS solid; no handle format or error behavior is added.

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 (Inspect) and resource (ACIS 3DSOLID by handle) and enumerates exactly what is returned: layer, visibility, volume, centroid, and WCS bounding box. This is enough for an agent to distinguish it from generic readers like object_get or object_measure 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?

The 'Disambiguation: Physical and spatial verification of solids' line implies the tool's niche, but it never names an alternative (object_get, object_measure, object_query) or states when-not to use this one. Usage is inferable rather than explicit.

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

solid_revolveA

Create an ACIS 3DSOLID by revolving a closed planar profile around a non-degenerate WCS 3D axis by a non-zero angle within plus/minus 360 degrees.

Side-effects: Creates 3DSOLID by rotation. Disambiguation: Use for axisymmetric shapes (shafts, pulleys).

NameRequiredDescriptionDefault
layerNoTarget layer name for the resulting solid
axis_x1YesAxis of revolution start point X in WCS
axis_x2YesAxis of revolution end point X in WCS
axis_y1YesAxis of revolution start point Y in WCS
axis_y2YesAxis of revolution end point Y in WCS
axis_z1YesAxis of revolution start point Z in WCS
axis_z2YesAxis of revolution end point Z in WCS
angle_degNoRevolution angle in degrees (default: 360.0)
profile_object_idYesBackend entity ID of closed planar profile to revolve

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries real weight and does add value: it names the concrete side effect (a 3DSOLID is created by rotation) and encodes preconditions the agent would otherwise discover only via failure. It is silent on transaction/undo requirements, whether the profile entity is consumed, and layer defaulting 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?

Three short labeled lines — purpose, side-effects, disambiguation — with the core operation front-loaded and zero filler. Every sentence carries distinct 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 9-parameter mutation with an output schema and minimal annotations, the definition covers purpose, preconditions, and side effect adequately. Gaps remain around transaction handling, the source profile's fate, and layer defaulting, which matter for a modeling operation that other tools (transaction_begin, solid_boolean) can interact with.

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 100%, so the baseline is 3, but the description adds genuine semantic constraints absent from the schema: the profile must be closed and planar, the axis must be non-degenerate, and the angle must be non-zero and bounded by ±360. It adds nothing about how to obtain profile_object_id or what layer defaults to.

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 ACIS 3DSOLID) plus the mechanical operation (revolving a closed planar profile around a WCS axis), which is far more precise than the name alone. It does not explicitly name solid_extrude or solid_sweep as the alternatives it is distinguished from, so it stops short of full 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 Guidelines4/5

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

'Use for axisymmetric shapes (shafts, pulleys)' gives a clear positive selection criterion, and the validity constraints (closed planar profile, non-degenerate axis, non-zero angle within ±360) tell the agent when the tool is applicable. It never states when-not to use it or which sibling to pick instead.

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

solid_sweepA

Create an ACIS 3DSOLID by sweeping a closed profile along a supported typed CAD curve path; unsupported path types are refused before opaque AutoCAD failures.

Side-effects: Creates 3DSOLID along trajectory. Disambiguation: Path-driven extrusion for pipes, ducts, rails.

NameRequiredDescriptionDefault
layerNoTarget layer name for the resulting solid
path_object_idYesBackend entity ID of 2D/3D curve path (line, polyline, arc, spline)
profile_object_idYesBackend entity ID of closed planar profile to sweep

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries most of the burden and does add real value: it discloses the side-effect (solid created along the trajectory) and that invalid path types fail fast with a clean error rather than an opaque AutoCAD failure. It does not say what happens to the source profile/path entities or what a caller gets back 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.

Conciseness5/5

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

Three short labeled lines (definition, side-effects, disambiguation) with the core operation front-loaded and no filler. Every clause carries either the action, the risk, or the disambiguation.

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 an output schema present, the description needn't explain return values, and annotations cover the safety profile. Given a 3-parameter mutation tool, the remaining gap is minor: nothing on layer fallback/current-layer behavior or on whether source entities are preserved.

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 100%, so the baseline is 3, but the description adds constraints not obvious from the schema alone: the profile must be *closed* and the path must be a *supported typed* curve. The layer parameter's effect is left to the schema, which documents it adequately.

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 (Create), a specific resource (ACIS 3DSOLID), and the exact operation (sweeping a closed profile along a typed curve path). The disambiguation line explicitly separates it from solid_extrude as the 'path-driven' variant, so an agent can distinguish it from the sibling 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 disambiguation line gives concrete use cases (pipes, ducts, rails) and the 'unsupported path types are refused' clause sets an expectation about inputs. It stops short of naming alternatives like solid_extrude/solid_revolve explicitly, so selection between the solid_* siblings still requires inference.

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

solid_transformA

Apply one typed 3D move, rotate, uniform-scale, or mirror operation to an ACIS solid; free-form matrices and arbitrary commands are not accepted.

Side-effects: Modifies solid position/orientation. Disambiguation: 3D spatial transformation for ACIS bodies.

NameRequiredDescriptionDefault
handleYesHandle of the ACIS 3DSOLID entity to transform
operationYesTransform operation: 'move', 'rotate', 'scale', 'mirror'
parametersYesOperation parameters (e.g. dx,dy,dz for move; axis/angle for rotate; factor for scale; plane for mirror)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false; the description adds the concrete side-effect (modifies solid position/orientation) and the input-rejection rule, going beyond the annotation. It omits whether changes are undoable/transactional and how non-solid handles are rejected, which would fully close the loop 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?

Three tight segments — capability, side-effects, disambiguation — with the constraint (no free-form matrices) placed up front. No filler sentences.

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?

Output schema exists, so return values needn't be described, and the mutation side-effect is disclosed. Slightly incomplete for a write tool on nested 'parameters' — it doesn't say what happens on a malformed operation/parameter combination or whether a transaction context is required.

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 100%, so baseline is 3, but the description contributes real meaning beyond the schema: it constrains 'scale' to uniform scaling and frames 'operation' as a closed typed set, neither of which the schema states explicitly. It doesn't add per-operation parameter validity rules (e.g. required plane for mirror).

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 (apply) plus the exact set of accepted operations (move, rotate, uniform-scale, mirror) on a specific resource (ACIS solid). The disambiguation line scopes it as 3D spatial transformation for ACIS bodies, distinguishing it from the generic object_move/object_rotate/object_scale and batch_transform_entities 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 an explicit exclusion — free-form matrices and arbitrary commands are rejected — which tells the agent when not to reach for this tool. It stops short of naming the alternative (object_move, object_rotate, batch_transform_entities) for non-ACIS or batch cases, leaving that inference to the agent.

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

system_capabilitiesA
Read-only

Return the backend capability map used to plan calls before side effects; this tool has no CAD side effects.

Side-effects: None. Read-only capability query. Disambiguation: Use system_capabilities before calling mutations to check supported CAD operations.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, and the description repeats that this tool is read-only with no side effects. It adds the useful planning context of checking capabilities before mutations, but does not disclose anything further about the capability map's contents, freshness, or scope beyond what the annotation already establishes.

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 key purpose is front-loaded and the disambiguation sentence earns its place. However, the no-side-effects message is repeated across 'no CAD side effects,' 'Side-effects: None,' and 'Read-only capability query,' making the description more redundant than necessary.

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?

This is a simple, parameterless tool with an output schema and read-only annotation, so most structural context is already covered. The description supplies purpose and usage guidance, though it could be slightly richer about what the capability map contains for planning.

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

Parameters4/5

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

With zero parameters and full schema coverage, there is no parameter semantics burden on the description. The baseline for a no-parameter tool applies cleanly.

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: 'Return the backend capability map.' It clearly frames the tool as a read-only planning aid before mutations. However, it does not explicitly differentiate itself from nearby informational siblings such as system_status or help.

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 an explicit usage condition: use system_capabilities before calling mutations to check supported CAD operations. It does not state alternatives or when not to use this tool, but the intended context is clear.

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

system_statusA
Read-only

Report provider runtime status, AutoCAD version/progid, transport, and generation metadata.

Side-effects: None. Read-only status query. Disambiguation: Use system_status to verify CAD connection and process health; use system_capabilities to inspect supported operations.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, and the description's 'Side-effects: None. Read-only status query' largely restates that. It adds modest value by naming the reported fields (transport, generation metadata), but discloses nothing about failure modes, connection-error behavior, or cost/latency that annotations don't already cover.

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, front-loaded sentences with no wasted prose, and the disambiguation is placed where an agent will see it. The minor redundancy between 'Side-effects: None' and 'Read-only status query' costs it a point.

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?

A zero-parameter, read-only query with an output schema that already documents return values. Purpose, safety profile, and sibling routing are all covered, so nothing an agent needs in order to call it 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 parameter semantics to explain and the baseline is 4. Nothing in the description conflicts with the empty input 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?

The description uses a specific verb (Report) with a clearly bounded resource (provider runtime status) and enumerates the contents: AutoCAD version/progid, transport, generation metadata. It is immediately distinguishable from system_capabilities, which the description names explicitly.

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?

An explicit Disambiguation section states when to use this tool (verify CAD connection and process health) and names the alternative (system_capabilities) for inspecting supported operations. This is exactly the routing guidance an agent needs with dozens of siblings.

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

transaction_beginA

Begin a backend-tracked transaction or undo scope on the bound document; nested depth is limited and document switching is blocked while active.

Side-effects: Starts undo group; blocks document switching. Disambiguation: Group multiple modifications into a single undoable unit.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the minimal readOnlyHint=false annotation, the description discloses important behavior: it starts an undo group, blocks document switching while active, and has limited nested depth. These are exactly the side effects and operational constraints an agent needs before calling a transaction-begin 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?

The description is compact and front-loaded: it states the core action first, then notes side effects and disambiguation in clearly labeled lines. 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.

Completeness5/5

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

The tool has no parameters and an output schema exists, so the description need not explain return values. It covers the essential behavioral context: transaction/undo scope, nesting limits, blocked document switching, and the intended grouping use case.

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 are no parameter semantics for the description to explain. With schema coverage at 100% and no parameters to document, the baseline score of 4 is appropriate.

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: begin a backend-tracked transaction or undo scope on the bound document. It is immediately distinguishable from sibling tools such as transaction_commit, transaction_rollback, undo, and redo because it clearly describes opening a transaction/undo scope rather than ending or reversing one.

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 description gives a clear usage context: group multiple modifications into a single undoable unit. It does not explicitly name transaction_commit or transaction_rollback as the follow-up alternatives, nor does it state when not to use this tool, so it falls short of full when/when-not/alternatives guidance.

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

transaction_commitA

Commit the current backend-tracked transaction or undo scope for the bound document; refuses when no tracked transaction is active.

Side-effects: Finalizes undo group. Disambiguation: Completes transaction started by transaction_begin.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only supply readOnlyHint=false, so the description carries most of the burden and does add real context: the commit finalizes the undo group, and the call fails when no transaction is active. It stops short of describing the failure mode (error vs. returned status) or what happens to pending changes 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.

Conciseness5/5

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

Three short, labeled segments (purpose, side-effects, disambiguation) with no filler, and the core action is front-loaded in the first clause. Every 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 zero-parameter lifecycle tool with an output schema available, the description covers precondition, side-effect and sibling relationship adequately. The only remaining gap is what the caller observes on refusal or partial commit, which the output schema partly covers.

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. The description correctly implies no arguments are needed beyond the bound document context.

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 ('Commit the current backend-tracked transaction or undo scope for the bound document') and immediately names the failure condition. It is clearly distinguishable from the siblings transaction_begin, transaction_rollback, undo and redo.

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 'Disambiguation' line explicitly ties it to transaction_begin ('Completes transaction started by transaction_begin'), and 'refuses when no tracked transaction is active' tells the agent the precondition. It never explicitly says when to prefer transaction_rollback or undo instead, so a small inference gap remains.

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

transaction_rollbackA

Rollback the current backend-tracked transaction or undo scope for the bound document; this intentionally reverts mutations in that scope.

Side-effects: Destructive reversal of mutations within active transaction. Disambiguation: Reverts state back to transaction_begin.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the readOnlyHint=false annotation, the description discloses the destructive nature of the call and the exact scope of reversal, which is meaningful added context for a mutation tool. It stops short of stating preconditions (what happens if no transaction is active) or whether the rollback itself can be redone, so not a 5.

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 action, then side-effects, then disambiguation — a sensible ordering. It loses a little to redundancy, since 'reverts mutations in that scope' and 'Destructive reversal of mutations within active transaction' restate the same fact.

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 zero params, an output schema present, and readOnlyHint supplied, the description covers purpose, destructive side effect, and sibling disambiguation — enough to call it correctly. The remaining gap is precondition handling (behavior when no transaction is active), which would matter for a rollback primitive.

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 forbids additional properties, so there is no parameter semantics to explain — baseline 4 applies. Nothing in the description misrepresents or omits needed input detail.

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 ('Rollback the current backend-tracked transaction') and includes an explicit disambiguation line tying it to transaction_begin, which separates it from transaction_commit, undo, and redo in the sibling list. An agent can identify the operation 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 Guidelines4/5

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

The disambiguation line ('Reverts state back to transaction_begin') gives clear context for selecting this over transaction_commit. However, it never explicitly addresses when to use plain undo/redo instead, which are adjacent siblings that also revert state — that exclusion 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.

undoA

Undo the most recent available backend/document operation according to backend history semantics; refuses when no undoable state is available.

Side-effects: Reverts last modification. Disambiguation: Single-step backward history navigation.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

The annotations only state readOnlyHint=false, so the description usefully adds that the operation reverts the last modification and refuses when no undoable state exists. It does not contradict the annotation. It could say more about history semantics or interactions with redo, but it discloses the key mutation 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?

The description is front-loaded with the core action, followed by side effects and disambiguation. Every sentence adds useful information with no waste.

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 zero-parameter undo operation with an output schema present, the description covers purpose, side effect, refusal behavior, and scope. Nothing essential for correct invocation 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 has zero parameters, so there is no parameter semantics to explain. The baseline for a zero-parameter tool 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?

The description gives a specific verb and resource: undo the most recent backend/document operation. It also distinguishes the tool from forward-history navigation with the explicit phrase 'Single-step backward history navigation.' An agent can identify its role without consulting 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?

It states a clear when-not condition: it refuses when no undoable state is available. The disambiguation clarifies single-step backward navigation, though it does not explicitly name alternatives such as redo or transaction_rollback. The usage context is clear but lacks explicit sibling routing.

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

viewport_createA

Create a paper-space viewport on a named layout with center/size in paper units, WCS view target, and positive custom scale.

Side-effects: Adds VIEWPORT entity to active layout. Disambiguation: Requires active paper-space layout.

NameRequiredDescriptionDefault
scaleNoViewport scale factor (e.g. 0.02 for 1:50 scale) (default: 1.0)
widthYesViewport width in paper units (mm or inches)
heightYesViewport height in paper units (mm or inches)
layoutYesName of paper-space layout to place the viewport on
center_xYesViewport center X coordinate on paper sheet in paper units
center_yYesViewport center Y coordinate on paper sheet in paper units
view_center_xYesTarget model-space center X visible in viewport
view_center_yYesTarget model-space center Y visible in viewport

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false; the description adds the concrete side effect ('Adds VIEWPORT entity to active layout'), which is exactly the kind of context annotation does not carry. It stops short of covering rollback/undo interaction or failure behavior when the layout is missing, so not a 5.

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, front-loaded lines: purpose first, then side effects, then disambiguation. Every sentence carries distinct information 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 an 8-parameter mutation tool with an output schema and only a readOnlyHint annotation, the description covers purpose, side effect, and the key precondition. Remaining gaps — behavior when the named layout does not exist, and whether a transaction is required — are minor but real.

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 100%, so the baseline is 3; the description earns one more by stating a semantic constraint the schema omits — the scale must be positive — and by framing width/height as paper units and view_center as a WCS target. It adds meaning rather than repeating the 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 and resource ('Create a paper-space viewport on a named layout') and enumerates the defining inputs (center/size in paper units, WCS view target, positive custom scale). This clearly separates it from sibling mutators like viewport_set_scale, viewport_lock, and viewport_delete, which operate on existing viewports.

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 'Disambiguation' line gives a real precondition — an active paper-space layout is required — which tells the agent when the call is valid. It does not name alternatives (e.g. viewport_set_scale for existing viewports) or explicit when-not conditions, so it falls short of a 5.

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

viewport_deleteA

Delete a paper-space viewport by handle; pre-existing or unknown viewports require force=true because ActiveX cannot reliably identify the main viewport.

Side-effects: Destructive deletion of viewport from paper space. Disambiguation: Deletes viewport layout frame; pass force=True for unmanaged or preexisting viewports.

NameRequiredDescriptionDefault
forceNoRequired force confirmation flag to delete non-provider viewports (default: False)
handleYesPersistent CAD handle of the viewport entity to delete

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only supply readOnlyHint=false, so the description carries most of the burden and does so: it discloses destructive deletion of the viewport and explains the underlying ActiveX limitation that motivates force. Reversibility (undo) and failure behavior are not mentioned, so not a 5.

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 action, then side-effects and disambiguation as separate labeled lines. The force guidance is stated twice ('pre-existing or unknown viewports require force=true' and 'pass force=True for unmanaged or preexisting viewports'), which is minor waste.

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 an output schema present, return values need not be explained, and the description covers action, safety profile, and the force condition. Only the recovery path (undo behavior after deletion) is left unaddressed for a destructive, two-parameter tool.

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 100%, so the baseline is 3, but the description adds meaning beyond the schema by explaining why force exists (ActiveX cannot reliably identify the main viewport) and which viewport classes it applies to. That is genuine added semantics.

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 with scope: 'Delete a paper-space viewport by handle.' The disambiguation line clarifies it removes the layout frame, not the content shown through it, which separates it from sibling tools like object_delete or viewport_set_scale.

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 concrete condition for when force=true is required (pre-existing or unknown viewports), which is real usage guidance. It does not explicitly compare against object_delete or explain when deletion is inappropriate, keeping it short of a 5.

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

viewport_listA
Read-only

List paper-space viewports for one or all layouts with handle, geometry, target, scale, lock state, and backend-created ownership hint.

Side-effects: None. Read-only viewport query. Disambiguation: Inspect viewport handles, scales, and bounding boxes.

NameRequiredDescriptionDefault
layoutNoOptional layout name filter. Lists viewports across all layouts if omitted

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

readOnlyHint=true already declares the safety profile, and "Side-effects: None. Read-only viewport query." merely repeats it rather than adding context. The one piece of added value is the note that results carry a "backend-created ownership hint," which signals what the agent will see, but no pagination, error, or size behavior 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.

Conciseness4/5

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

Three short labeled lines with the core action front-loaded and no filler prose. The "Side-effects" line duplicates the annotation and partly duplicates "Read-only viewport query," which is mild waste but not bloat.

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?

An output schema exists, so return values needn't be explained, and the description still names the key fields. With one optional parameter and a read-only operation, nothing essential for correct invocation is missing; only edge-case behavior is unaddressed.

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 100% and the single param is fully documented in the schema, so baseline 3 applies. The phrase "for one or all layouts" mirrors the schema's own note that omitting the filter lists across all layouts, adding no new semantics.

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 ("List paper-space viewports") with the scope "one or all layouts" and enumerates the returned fields (handle, geometry, target, scale, lock state). The verb 'list' clearly separates it from viewport_create, viewport_set_scale, viewport_lock, and viewport_delete siblings, though no sibling is named explicitly.

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 "Disambiguation" line ("Inspect viewport handles, scales, and bounding boxes") restates the purpose rather than giving when-to-use versus when-to-use-an-alternative guidance. The optional layout filter implies usage context, but there are no explicit exclusions or named alternatives.

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

viewport_lockA

Set or clear DisplayLocked for a paper-space viewport by handle and return the verified lock state.

Side-effects: Sets DisplayLocked property on viewport. Disambiguation: Lock viewports to prevent accidental zoom changes during drafting.

NameRequiredDescriptionDefault
handleYesPersistent CAD handle of the viewport entity
lockedNoTrue to lock viewport display scale against zoom/pan, False to unlock (default: True)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only supply readOnlyHint=false; the description carries the real burden and does so by declaring the side-effect ('Sets DisplayLocked property on viewport') and that the returned state is verified post-write. It doesn't cover error behavior for an invalid/non-viewport handle or idempotency, which would be needed for a 5.

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 labeled lines: the core action first, then side-effects, then disambiguation. Every sentence carries distinct information with no repetition of the schema.

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 an output schema present, return values needn't be explained, and the mutation's side-effect is disclosed. Minor gaps remain around failure modes and whether locking affects other viewport properties, but for a 2-parameter toggle this is nearly complete.

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 100%, so both handle and locked are fully documented with defaults and semantics, setting the baseline at 3. The description restates the handle-addressing and the lock-state intent but adds no syntax or format detail beyond the 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 pair (set/clear) plus the exact resource and property (DisplayLocked on a paper-space viewport) and the addressing key (handle). This clearly separates it from sibling tools like viewport_set_scale or viewport_create, which act on the viewport's contents rather than its lock state.

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?

'Disambiguation: Lock viewports to prevent accidental zoom changes during drafting' gives a concrete usage context, and 'set or clear' implies both directions of use. It stops short of explicitly naming alternatives or stating when not to use it (e.g., when you actually want to change scale, use viewport_set_scale).

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

viewport_set_scaleA

Set a paper-space viewport's positive custom scale by handle and return the verified scale and derived view height.

Side-effects: Updates viewport magnification and view height. Disambiguation: Adjusts architectural/engineering scale (e.g. 1:50, 1:100).

NameRequiredDescriptionDefault
scaleYesPositive scale factor (paper units / model units)
handleYesPersistent CAD handle of the viewport entity

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries most of the burden. It does disclose side-effects (viewport magnification and view height are changed) and the verified return values, which is valuable context. It omits error/failure behavior for invalid handles or non-positive scales.

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 labeled lines with the core action front-loaded, side-effects and disambiguation separated clearly. Every sentence earns its place with zero padding.

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 an output schema present, the description needn't detail return values, yet it helpfully names them anyway. Side-effects and scale semantics are covered; the only gap is failure-mode behavior for invalid input, which is minor for this scope.

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 100%, so both 'scale' (positive paper/model unit ratio) and 'handle' (persistent CAD handle) are already fully documented. The description reinforces 'positive custom scale' but adds no syntax or format detail beyond the schema, so baseline 3 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 and resource ('Set a paper-space viewport's positive custom scale by handle') and even declares the return value. It is clearly distinguishable from siblings like viewport_lock, viewport_delete, or object_scale.

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 disambiguation line clarifies this sets architectural/engineering scale (1:50, 1:100), which implicitly separates it from object_scale and other viewport tools. It lacks explicit when-not guidance or naming of an alternative sibling, so it stops short of a 5.

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

view_screenshotA
Read-only

Capture the live AutoCAD application window as PNG bytes; this is read-only and requires the live COM screenshot capability.

Side-effects: None. Returns raster PNG bytes. Disambiguation: Quick visual verification; use document_export_pdf for vector deliverables.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, and the description reinforces that with "this is read-only" plus "Side-effects: None." It adds useful behavioral context by stating the return type is "raster PNG bytes" and noting the live COM screenshot capability requirement, though it does not discuss failure modes or whether the AutoCAD window must be visible.

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 compact and front-loaded with the core action, return format, side-effect profile, and sibling disambiguation. Every phrase carries useful selection or invocation information, with no redundant restatement of the title or schema.

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 zero-parameter, read-only screenshot tool with no output schema, the description covers what it does, what it returns, its side-effect profile, its precondition, and when to use a different export tool. Nothing essential for correct invocation 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 has zero parameters, so there are no parameter semantics to explain. The description correctly does not waste space discussing nonexistent inputs, and the schema is empty with additionalProperties false.

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 uses a specific verb and resource: "Capture the live AutoCAD application window as PNG bytes." It also distinguishes the tool from the sibling document_export_pdf by clarifying that this produces raster PNG output for quick visual verification rather than vector deliverables.

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?

It explicitly frames the intended use as "Quick visual verification" and names the alternative: "use document_export_pdf for vector deliverables." This gives the agent a clear condition for choosing this tool versus a sibling without needing to inspect other definitions.

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

view_set_directionA

Set a normalized 3D model-space view direction from a WCS vector and zoom to extents; this may alter persisted view state even though it does not modify CAD geometry.

Side-effects: Rotates 3D viewpoint; drawing geometry unmodified. Disambiguation: Arbitrary 3D view angle; use view_set_preset for standard orthogonal/isometric views.

NameRequiredDescriptionDefault
dxYesView direction vector X component from target to camera
dyYesView direction vector Y component from target to camera
dzYesView direction vector Z component from target to camera

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only say readOnlyHint=false; the description adds the crucial nuance that the call rotates the viewpoint and may alter persisted view state while leaving drawing geometry unmodified. This resolves the ambiguity of what 'not read-only' means here. It stops short of stating whether the persisted view change is undoable or tied to the document save.

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 action front-loaded, followed by labeled Side-effects and Disambiguation lines. Every sentence carries information an agent would otherwise have to guess.

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 an output schema present, the description needn't describe return values, and it covers the safety profile, the visible effect, and the sibling alternative. The only gap is how the view-state change interacts with undo or save, which an agent might need before mutating state.

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 100%, so the baseline is 3, but the description adds semantics the schema lacks: the vector is in WCS and is normalized by the tool. It still does not explain how dx/dy/dz relate to the zoom-to-extents step or edge cases such as a zero vector.

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: set a normalized 3D model-space view direction from a WCS vector, plus the zoom-to-extents behavior. It explicitly distinguishes itself from view_set_preset in the Disambiguation line, so an agent can pick between them without opening either 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 Disambiguation line gives an explicit routing rule: use view_set_preset for standard orthogonal/isometric views, this tool for an arbitrary 3D angle. It does not address when to use the built-in zoom-to-extents versus calling view_zoom_extents, but the core alternative is named.

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

view_set_presetA

Apply an allowlisted orthographic or isometric 3D view preset such as se_isometric using typed direction vectors rather than free-text AutoCAD commands.

Side-effects: Changes viewpoint camera to preset angle. Disambiguation: Fast standard view alignment.

NameRequiredDescriptionDefault
presetNoStandard 3D view preset: 'top', 'bottom', 'left', 'right', 'front', 'back', 'sw_isometric', 'se_isometric', 'ne_isometric', 'nw_isometric' (default: 'se_isometric')se_isometric

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false; the description earns credit by disclosing the actual side effect (camera viewpoint changes to a preset angle) and that inputs are allowlisted rather than free-text. It goes beyond the annotation without contradicting it.

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, labeled lines with the core action front-loaded and no filler. Slightly terse, but every sentence carries 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?

A small, single-parameter mutation tool with an output schema and full schema documentation; the description covers purpose and side effect adequately. Only a clearer relationship to view_set_direction/view_zoom_extents 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?

Schema coverage is 100% and the schema already enumerates all ten preset strings with a default, so the description only needs to point at the concept. It adds the illustrative 'se_isometric' example, but no extra semantics about case, invalid values, or axis conventions 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?

The description names a specific verb and resource (apply a 3D view preset) and scopes it with 'allowlisted orthographic or isometric', so an agent knows exactly what operation it performs. It doesn't explicitly contrast with view_set_direction, but 'preset' vs. typed vectors plus the 'se_isometric' example give a reasonable signal.

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 'Disambiguation: Fast standard view alignment' line implies this is the quick path for standard angles, but no sibling is named and no when-not condition is given. An agent must infer the boundary with view_set_direction on its own.

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

view_set_visual_styleA

Apply an allowlisted model-space visual style such as shades_of_gray through a bounded internal AutoCAD command mapping; arbitrary command text is never accepted from callers.

Side-effects: Modifies viewport rendering mode. Disambiguation: Changes shading and display mode.

NameRequiredDescriptionDefault
styleNoAllowlisted visual style: '2d_wireframe', 'conceptual', 'hidden', 'realistic', 'shades_of_gray', 'sketchy', 'wireframe', 'x_ray' (default: 'shades_of_gray')shades_of_gray

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

The description adds meaningful behavior beyond the readOnlyHint=false annotation: it discloses the side effect of modifying viewport rendering mode and explains the security boundary that only allowlisted styles are accepted. It does not cover reversibility or persistence, but it provides solid context for a simple rendering-setting 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?

The description is short, front-loaded with the core action, and structured with explicitly labeled side-effects and disambiguation lines. Every sentence contributes useful information without 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?

Given the single-parameter schema, full parameter description coverage, an output schema, and sparse annotations, the description provides enough context to invoke the tool correctly. It could be more complete by explicitly naming the sibling view tools to avoid confusion, but it covers the essential behavior and side effect.

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 100%, and the schema already enumerates all allowed style values. The description reinforces that the style must be allowlisted and gives an example, but it does not add syntax or semantic detail beyond the schema, so the baseline of 3 is appropriate.

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: apply an allowlisted model-space visual style. It also scopes the behavior to bounded internal command mapping and explicitly notes that arbitrary command text is not accepted, which distinguishes it from generic command or view-manipulation 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?

The disambiguation line 'Changes shading and display mode' implies when this tool is relevant, but the description does not explicitly say when to use it versus view_set_direction, view_set_preset, view_zoom_extents, or other view-related siblings. Usage is inferable rather than clearly guided.

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

view_zoom_extentsA

Zoom the live AutoCAD view to drawing extents; this changes only the operator view and does not modify drawing geometry.

Side-effects: Changes current display camera; drawing geometry unmodified. Disambiguation: Frames full drawing; use view_zoom_window to zoom to a specific area.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

Annotations only say readOnlyHint=false, which flags mutation but not its scope; the description closes that gap by stating the change is confined to the display camera and drawing geometry is untouched. That is exactly the extra context annotations cannot convey. It stops short of mentioning view-state persistence, whether the zoom survives a save/reload, or any refresh cost.

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, front-loaded lines with no padding beyond the purpose claim. The non-modification point is stated twice (main clause and again as "Side-effects: ... drawing geometry unmodified"), a small redundancy that costs it a point but aids skimming.

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 zero-parameter view tool with an output schema present, the description covers what it does, what it changes, what it does not change, and which sibling to use instead. Return values need not be described given the output schema.

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 an empty closed object, so there is no parameter meaning to explain. Baseline 4 applies: nothing missing, nothing to add.

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?

Opening clause states a specific verb and resource: "Zoom the live AutoCAD view to drawing extents." It also distinguishes the tool from the nearest sibling by naming view_zoom_window in the disambiguation line, so an agent can route between the two without opening either schema.

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?

"Frames full drawing; use view_zoom_window to zoom to a specific area" gives an explicit when-to-use plus a named alternative and the condition that selects it. Nothing about tool selection 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.

view_zoom_windowA

Zoom the live AutoCAD view to the supplied WCS XY window bounds; zero-area windows are refused and drawing geometry is unchanged.

Side-effects: Changes display window; drawing geometry unmodified. Disambiguation: Zooms to specific bounding area.

NameRequiredDescriptionDefault
x1YesLower-left corner X coordinate in WCS
x2YesUpper-right corner X coordinate in WCS
y1YesLower-left corner Y coordinate in WCS
y2YesUpper-right corner Y coordinate in WCS

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations only give readOnlyHint=false, so the description usefully clarifies that the mutation is limited to the display window and that drawing geometry is untouched, plus the zero-area rejection rule. It is consistent with the annotation (view state does change), though it does not say whether the zoom is undoable or how it interacts with active viewports.

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?

Front-loaded and short overall, but two of the four lines do not earn their place: "drawing geometry is unchanged" is restated as "Side-effects: ... drawing geometry unmodified," and the Disambiguation line merely repeats the first sentence rather than contrasting a sibling.

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?

An output schema exists, all four parameters are documented, and the description covers the side effect and the invalid-input rule, which is sufficient for a low-complexity view tool. The only real gap is routing against the extents-based sibling, which overlaps with usage guidance.

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 100%, with each of x1/y1/x2/y2 already documented as WCS corners, so the baseline is 3. The description adds the useful constraint that a zero-area window is refused, which tells the agent the corners must define a non-degenerate rectangle.

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 ("Zoom the live AutoCAD view") plus the exact scope ("supplied WCS XY window bounds"), which is enough to tell it apart from view_zoom_extents in practice. The sibling is never named, so the differentiation is inferred 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 Guidelines3/5

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

"Zooms to specific bounding area" and "supplied WCS XY window bounds" imply the use case (a caller-chosen rectangle rather than drawing extents), but the description never names view_zoom_extents as the alternative or states when each should be chosen. Usage must be inferred 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.

xref_attachA

Attach or overlay one allowed DWG/DXF external reference with a bounded WCS transform and optional layer; source paths are canonicalized before AutoCAD side effects.

Side-effects: Attaches external drawing file to active document. Disambiguation: Use to reference external drawings; use block_insert for internal blocks.

NameRequiredDescriptionDefault
xNoInsertion point X in WCS (default: 0.0)
yNoInsertion point Y in WCS (default: 0.0)
zNoInsertion point Z in WCS (default: 0.0)
nameNoBlock name for the XREF. Defaults to filename stem if omitted
pathYesFilesystem path to the external DWG/DXF reference file
layerNoTarget layer name for XREF reference
overlayNoTrue for Overlay reference (not nested), False for Attach reference (default: True)
scale_xNoX scale factor (default: 1.0)
scale_yNoY scale factor (default: 1.0)
scale_zNoZ scale factor (default: 1.0)
rotationNoRotation angle in degrees (default: 0.0)

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

With only readOnlyHint=false in annotations, the description earns credit for declaring "Side-effects: Attaches external drawing file to active document" and for noting that source paths are canonicalized before AutoCAD side effects. It still omits what happens on missing/invalid paths, on duplicate block name, and whether an existing xref of the same name is replaced — meaningful gaps for a 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?

Three short, front-loaded blocks (purpose, side-effects, disambiguation) with no filler. The lead sentence is dense with jargon ("bounded WCS transform", "canonicalized before AutoCAD side effects") that costs some immediate readability.

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 an 11-parameter mutation with full schema coverage, an output schema, and a single readOnlyHint=false annotation, the description covers the essentials: it mutates the document, accepts only DWG/DXF, and when to prefer block_insert. Failure behavior and interaction with pre-existing xrefs of the same name remain 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 100% across all 11 parameters, so the schema already explains insertion point, scale factors, rotation, overlay flag, name, and layer. The description adds only two cross-parameter constraints not in the schema: only one reference per call, and the DWG/DXF type restriction. Baseline 3 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?

The first sentence states a specific verb (attach/overlay) and resource (DWG/DXF external reference) plus its scope qualifiers (single reference, WCS transform, optional layer, path canonicalization). The disambiguation line explicitly separates it from block_insert, so an agent can distinguish it from the nearest sibling without opening either 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?

It gives an explicit use case ("use to reference external drawings") and an explicit alternative with the condition that selects it (block_insert for internal blocks). It does not address the other xref-family siblings — xref_reload, xref_unload, xref_detach, xref_list — or state prerequisites such as the file needing to exist on disk.

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

xref_detachA

Detach one existing XREF definition from the active document; this is destructive to reference state.

Side-effects: Destructive removal of XREF definition and references. Disambiguation: Destructive; removes dependency from drawing.

NameRequiredDescriptionDefault
nameYesName of attached XREF to permanently detach and remove

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

The only annotation is readOnlyHint=false, which merely signals a write; the description adds real value by disclosing that the operation is destructive and that both the definition and its references are removed. It does not mention undo/irreversibility guarantees or required preconditions, which keeps it from a 5.

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?

Short and front-loaded, but 'destructive' is asserted three times across the body and the Disambiguation line ('Destructive; removes dependency from drawing') largely restates the side-effects line. Redundant rather than efficient.

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 one documented parameter and an output schema present, the description covers the essential behavior for a destructive one-shot operation. Missing only operational context such as whether the XREF must be unloaded first or whether the removal is undoable.

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 100% and the schema's own description already says 'permanently detach and remove', so the description adds no meaning beyond the structured fields. Baseline 3 applies for a single fully-documented 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 ('Detach one existing XREF definition from the active document'), which is clearly distinguishable from attach/reload/unload semantics. It stops short of naming the sibling it is contrasted with (xref_unload), so differentiation is partial.

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 'Disambiguation: Destructive; removes dependency from drawing' line implies this is the permanent-removal option, but it never states when to choose this over xref_unload or that unload is reversible while detach is not. Usage context is implied rather than explicit.

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

xref_listA
Read-only

List live AutoCAD external references with contained/resolved/loaded state while redacting paths that fall outside configured allowed roots.

Side-effects: None. Read-only XREF query. Disambiguation: Use to inspect external DWG attachments.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description reinforces this with 'Side-effects: None' and 'Read-only XREF query.' More importantly, it adds useful behavioral detail beyond annotations: paths outside configured allowed roots are redacted, and the listing reports contained/resolved/loaded state. It does not describe permission requirements or pagination, but the output schema exists and annotations cover the safety profile.

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 compact and front-loaded: the primary listing behavior and redaction rule come first, followed by side-effect and disambiguation notes. Every sentence adds useful information with no redundant restatement of the tool name.

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?

Given zero parameters, an output schema, and readOnlyHint=true, the description supplies everything needed to select and call the tool correctly. It covers purpose, key return-state concepts, redaction behavior, safety context, and a disambiguation hint without over-explaining output details already available in the output schema.

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 there is no parameter semantics to explain. The baseline for zero parameters is 4, and the schema confirms an empty object with additionalProperties false.

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 uses a specific verb and resource ('List live AutoCAD external references') and specifies the state fields returned ('contained/resolved/loaded state'). It also explicitly frames the tool as a read-only XREF query for inspecting external DWG attachments, which distinguishes it from the mutation-oriented xref_attach, xref_reload, xref_unload, and xref_detach 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?

The 'Disambiguation: Use to inspect external DWG attachments' line gives a clear usage context, and 'Read-only XREF query' implies when to choose it over mutating XREF siblings. However, it does not explicitly name alternatives or state when not to use it, such as for modifying or reloading references.

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

xref_reloadA

Reload one existing XREF only when its resolved source remains inside configured allowed roots.

Side-effects: Updates referenced geometry from disk. Disambiguation: Use when an external file has been updated on disk.

NameRequiredDescriptionDefault
nameYesName of attached XREF to reload from disk

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With only readOnlyHint=false in the annotations, the description carries most of the burden and does disclose the key trait: it updates referenced geometry from disk. It also surfaces a security/safety constraint on the source path. It does not say what happens when the source falls outside allowed roots (error vs. silent skip) or whether local edits to the XREF are discarded.

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, labeled sentences (main behavior, Side-effects, Disambiguation) with the core action front-loaded. Every sentence carries distinct information with no restatement of the tool 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 one-parameter tool with an output schema, the description covers the essentials: trigger condition, side effect, and the allowed-roots constraint. The remaining gap is failure semantics when the precondition is violated, which an agent would want to know before calling.

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 100% and the single 'name' parameter is already documented as the attached XREF to reload. The description adds only indirect meaning ('one existing XREF', 'resolved source'), so the baseline 3 applies rather than added value beyond the 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 (Reload) and a bounded resource (one existing XREF), which cleanly separates it from sibling operations like xref_attach, xref_unload, and xref_detach. The scope qualifier about resolved source staying inside allowed roots further pins down what this call will and will not do.

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 Disambiguation line gives an explicit trigger condition: use when an external file has been updated on disk. The allowed-roots precondition also implicitly states when the call is not permitted. It stops short of naming sibling alternatives (e.g. xref_unload/xref_detach) for contrast, so it is strong but not exhaustive.

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

xref_unloadA

Unload one existing XREF definition without deleting it, preserving a reversible reference state.

Side-effects: Unloads XREF memory representation. Disambiguation: Reversible; use xref_detach for permanent removal.

NameRequiredDescriptionDefault
nameYesName of attached XREF to unload from memory

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, so the description carries the real burden and does it well: it discloses the side effect ('Unloads XREF memory representation') and the reversibility guarantee. It stops short of saying whether the definition must currently be loaded or what an error looks like, 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?

Three short, labeled lines — statement, side-effects, disambiguation — with the key reversible-vs-permanent distinction front-loaded. No sentence is filler.

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?

An output schema exists and the annotations cover the mutation flag, so the description only needs to add the non-obvious semantics — reversibility and the memory-only scope — which it does. Nothing an agent needs in order to choose and call the tool 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?

Schema coverage is 100% and the single 'name' parameter is already documented as the attached XREF to unload. The description adds no syntax, format, or matching guidance beyond the schema, so the baseline 3 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 and resource ('Unload one existing XREF definition') and immediately scopes it against the destructive sibling by saying it does not delete. An agent can distinguish it from xref_detach without reading either schema.

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 the alternative tool and the condition that selects it: 'use xref_detach for permanent removal,' framing this as the reversible option. Both the when and the when-not are stated.

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. 71 tool updatesv0.1.1
    • Addedartifact_seal
    • Addedbatch_create_entities
    • Addedbatch_insert_blocks
    • Addedbatch_transform_entities
    • Changedblock_create4 fields changed
      • addedInput schema / properties / base_x / description
        Added value: +"Block origin base point X in WCS drawing units (default: 0.0)"
      • addedInput schema / properties / base_y / description
        Added value: +"Block origin base point Y in WCS drawing units (default: 0.0)"
      • addedInput schema / properties / name / description
        Added value: +"Unique block definition name"
      • addedInput schema / properties / object_ids / description
        Added value: +"List of existing drawing entity IDs to copy into the block"
    • Changedblock_insert7 fields changed
      • addedInput schema / properties / layer / description
        Added value: +"Target layer for the block reference. Uses active layer if omitted"
      • addedInput schema / properties / name / description
        Added value: +"Name of existing block definition to insert"
      • addedInput schema / properties / rotation / description
        Added value: +"Insertion rotation angle in degrees (default: 0.0)"
      • addedInput schema / properties / scale_x / description
        Added value: +"X scale multiplier (default: 1.0)"
      • addedInput schema / properties / scale_y / description
        Added value: +"Y scale multiplier (default: 1.0)"
      • addedInput schema / properties / x / description
        Added value: +"Insertion point X coordinate in WCS"
      • addedInput schema / properties / y / description
        Added value: +"Insertion point Y coordinate in WCS"
    • Changedblock_list5 fields changed
      • addedInput schema / properties / include_xref_dependent
        Added value: +{
        +  "default": false,
        +  "description": "Whether to include XREF-dependent blocks (default: False)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / include_xrefs
        Added value: +{
        +  "default": true,
        +  "description": "Whether to include external reference blocks (default: True)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / limit
        Added value: +{
        +  "default": 200,
        +  "description": "Maximum block definitions to return (default: 200)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / name_filter
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Optional substring filter on block name"
        +}
      • addedInput schema / properties / offset
        Added value: +{
        +  "default": 0,
        +  "description": "Pagination offset index (default: 0)",
        +  "type": "integer"
        +}
    • Changeddimension_aligned7 fields changed
      • addedInput schema / properties / dim_x / description
        Added value: +"Dimension line definition point X coordinate in WCS"
      • addedInput schema / properties / dim_y / description
        Added value: +"Dimension line definition point Y coordinate in WCS"
      • addedInput schema / properties / layer / description
        Added value: +"Target layer name. Uses active layer if omitted"
      • addedInput schema / properties / x1 / description
        Added value: +"First extension line origin X coordinate in WCS"
      • addedInput schema / properties / x2 / description
        Added value: +"Second extension line origin X coordinate in WCS"
      • addedInput schema / properties / y1 / description
        Added value: +"First extension line origin Y coordinate in WCS"
      • addedInput schema / properties / y2 / description
        Added value: +"Second extension line origin Y coordinate in WCS"
    • Addeddimension_angular
    • Addeddimension_diametric
    • Changeddimension_linear8 fields changed
      • addedInput schema / properties / dim_x / description
        Added value: +"Dimension line definition point X coordinate in WCS"
      • addedInput schema / properties / dim_y / description
        Added value: +"Dimension line definition point Y coordinate in WCS"
      • addedInput schema / properties / layer / description
        Added value: +"Target layer name. Uses active layer if omitted"
      • addedInput schema / properties / rotation / description
        Added value: +"Dimension line angle in degrees (0 for horizontal, 90 for vertical)"
      • addedInput schema / properties / x1 / description
        Added value: +"First extension line origin X coordinate in WCS"
      • addedInput schema / properties / x2 / description
        Added value: +"Second extension line origin X coordinate in WCS"
      • addedInput schema / properties / y1 / description
        Added value: +"First extension line origin Y coordinate in WCS"
      • addedInput schema / properties / y2 / description
        Added value: +"Second extension line origin Y coordinate in WCS"
    • Addeddimension_ordinate
    • Addeddimension_radial
    • Addeddocument_configure_units
    • Addeddocument_dependencies
    • Changeddocument_export_pdf2 fields changed
      • addedInput schema / properties / layout / description
        Added value: +"Optional layout name to plot (e.g. 'Model' or 'Layout1'); defaults to active"
      • addedInput schema / properties / path / description
        Added value: +"Allowed destination filesystem path (.pdf) for exported drawing"
    • Changeddocument_open1 field changed
      • addedInput schema / properties / path / description
        Added value: +"Filesystem path to the existing DWG or DXF file to open"
    • Changeddocument_save1 field changed
      • addedInput schema / properties / path / description
        Added value: +"Optional file destination path; if omitted saves in-place to currently bound path"
    • Changeddocument_save_as1 field changed
      • addedInput schema / properties / path / description
        Added value: +"Allowed destination filesystem path (.dwg or .dxf) for the saved drawing"
    • Addeddrawing_extents
    • Changedentity_create_arc7 fields changed
      • addedInput schema / properties / color / description
        Added value: +"AutoCAD Color Index (ACI 1-255). Uses ByLayer if omitted"
      • addedInput schema / properties / cx / description
        Added value: +"Center X coordinate in WCS drawing units"
      • addedInput schema / properties / cy / description
        Added value: +"Center Y coordinate in WCS drawing units"
      • addedInput schema / properties / end_angle / description
        Added value: +"End angle in degrees (counter-clockwise from +X axis)"
      • addedInput schema / properties / layer / description
        Added value: +"Target layer name. Uses active layer if omitted"
      • addedInput schema / properties / radius / description
        Added value: +"Positive arc radius in drawing units"
      • addedInput schema / properties / start_angle / description
        Added value: +"Start angle in degrees (counter-clockwise from +X axis)"
    • Changedentity_create_circle5 fields changed
      • addedInput schema / properties / color / description
        Added value: +"AutoCAD Color Index (ACI 1-255). Uses ByLayer if omitted"
      • addedInput schema / properties / cx / description
        Added value: +"Center X coordinate in WCS drawing units"
      • addedInput schema / properties / cy / description
        Added value: +"Center Y coordinate in WCS drawing units"
      • addedInput schema / properties / layer / description
        Added value: +"Target layer name. Uses active layer if omitted"
      • addedInput schema / properties / radius / description
        Added value: +"Positive circle radius in drawing units"
    • Changedentity_create_line8 fields changed
      • addedInput schema / properties / color / description
        Added value: +"AutoCAD Color Index (ACI 1-255). Uses ByLayer if omitted"
      • addedInput schema / properties / layer / description
        Added value: +"Target layer name. Uses active layer if omitted"
      • addedInput schema / properties / x1 / description
        Added value: +"Start X coordinate in WCS drawing units"
      • addedInput schema / properties / x2 / description
        Added value: +"End X coordinate in WCS drawing units"
      • addedInput schema / properties / y1 / description
        Added value: +"Start Y coordinate in WCS drawing units"
      • addedInput schema / properties / y2 / description
        Added value: +"End Y coordinate in WCS drawing units"
      • addedInput schema / properties / z1 / description
        Added value: +"Start Z coordinate in WCS drawing units (default: 0.0)"
      • addedInput schema / properties / z2 / description
        Added value: +"End Z coordinate in WCS drawing units (default: 0.0)"
    • Changedentity_create_polyline7 fields changed
      • addedInput schema / properties / bulges
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "type": "number"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Optional list of bulge values for arc segments (bulge = tan(included_angle/4))"
        +}
      • addedInput schema / properties / closed / description
        Added value: +"Whether to close polyline connecting last vertex back to first (default: False)"
      • addedInput schema / properties / color / description
        Added value: +"AutoCAD Color Index (ACI 1-255). Uses ByLayer if omitted"
      • addedInput schema / properties / elevation
        Added value: +{
        +  "default": 0,
        +  "description": "Z elevation of the 2D polyline plane (default: 0.0)",
        +  "type": "number"
        +}
      • addedInput schema / properties / layer / description
        Added value: +"Target layer name. Uses active layer if omitted"
      • addedInput schema / properties / points / description
        Added value: +"List of [X, Y] vertex coordinates in WCS drawing units"
      • addedInput schema / properties / widths
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "items": {
        +          "type": "number"
        +        },
        +        "type": "array"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Optional list of [start_width, end_width] for each segment"
        +}
    • Changedentity_create_text7 fields changed
      • addedInput schema / properties / color / description
        Added value: +"AutoCAD Color Index (ACI 1-255). Uses ByLayer if omitted"
      • addedInput schema / properties / height / description
        Added value: +"Text height in drawing units (default: 2.5)"
      • addedInput schema / properties / layer / description
        Added value: +"Target layer name. Uses active layer if omitted"
      • addedInput schema / properties / rotation / description
        Added value: +"Text rotation angle in degrees counter-clockwise (default: 0.0)"
      • addedInput schema / properties / text / description
        Added value: +"Text string content to display"
      • addedInput schema / properties / x / description
        Added value: +"Insertion point X coordinate in WCS drawing units"
      • addedInput schema / properties / y / description
        Added value: +"Insertion point Y coordinate in WCS drawing units"
    • Addedfeature_execute
    • Changedhatch_create6 fields changed
      • addedInput schema / properties / angle / description
        Added value: +"Hatch pattern rotation angle in degrees (default: 0.0)"
      • addedInput schema / properties / boundary_points / description
        Added value: +"List of [X, Y] coordinates defining a closed planar polygon boundary"
      • addedInput schema / properties / color / description
        Added value: +"AutoCAD Color Index (ACI 1-255). Uses ByLayer if omitted"
      • addedInput schema / properties / layer / description
        Added value: +"Target layer name. Uses active layer if omitted"
      • addedInput schema / properties / pattern / description
        Added value: +"Hatch pattern name (e.g. 'SOLID', 'ANSI31', 'ANSI32', 'BRICK') (default: 'SOLID')"
      • addedInput schema / properties / scale / description
        Added value: +"Hatch pattern scale factor (default: 1.0)"
    • Changedlayer_create2 fields changed
      • addedInput schema / properties / color / description
        Added value: +"AutoCAD Color Index (ACI 1-255) (default: 7 - White/Black)"
      • addedInput schema / properties / name / description
        Added value: +"New layer name to create (must be unique in drawing)"
    • Changedlayer_set_current1 field changed
      • addedInput schema / properties / name / description
        Added value: +"Name of existing layer to set as current active layer"
    • Addedlayer_update_state
    • Changedlayout_create1 field changed
      • addedInput schema / properties / name / description
        Added value: +"Name for the new paper-space layout sheet"
    • Changedlayout_set_current1 field changed
      • addedInput schema / properties / name / description
        Added value: +"Name of existing layout to activate (e.g. 'Model' or 'Layout1')"
    • Addedmetadata_get
    • Addedmetadata_query
    • Addedmetadata_set
    • Addednative_document_identity_initialize
    • Addednative_integrity_status
    • Changedobject_copy4 fields changed
      • addedInput schema / properties / dx / description
        Added value: +"WCS delta X offset in drawing units"
      • addedInput schema / properties / dy / description
        Added value: +"WCS delta Y offset in drawing units"
      • addedInput schema / properties / dz / description
        Added value: +"WCS delta Z offset in drawing units (default: 0.0)"
      • addedInput schema / properties / object_id / description
        Added value: +"Backend entity identifier or persistent CAD handle of object to copy"
    • Changedobject_count2 fields changed
      • addedInput schema / properties / layer_filter / description
        Added value: +"Optional layer name filter"
      • addedInput schema / properties / type_filter / description
        Added value: +"Optional entity type filter (e.g. 'LINE', 'CIRCLE')"
    • Changedobject_delete1 field changed
      • addedInput schema / properties / object_id / description
        Added value: +"Backend entity identifier or persistent CAD handle of object to delete"
    • Changedobject_get1 field changed
      • addedInput schema / properties / object_id / description
        Added value: +"Backend entity identifier or persistent CAD handle"
    • Addedobject_intersections
    • Changedobject_list4 fields changed
      • addedInput schema / properties / layer_filter / description
        Added value: +"Optional layer name filter"
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of objects to return per page (default: 200)"
      • addedInput schema / properties / offset / description
        Added value: +"Starting index offset for pagination (default: 0)"
      • addedInput schema / properties / type_filter / description
        Added value: +"Optional entity type filter (e.g. 'LINE', 'CIRCLE', 'LWPOLYLINE', 'INSERT')"
    • Addedobject_measure
    • Changedobject_move4 fields changed
      • addedInput schema / properties / dx / description
        Added value: +"WCS delta X translation in drawing units"
      • addedInput schema / properties / dy / description
        Added value: +"WCS delta Y translation in drawing units"
      • addedInput schema / properties / dz / description
        Added value: +"WCS delta Z translation in drawing units (default: 0.0)"
      • addedInput schema / properties / object_id / description
        Added value: +"Backend entity identifier or persistent CAD handle of object to move"
    • Addedobject_query
    • Changedobject_rotate4 fields changed
      • addedInput schema / properties / angle_deg / description
        Added value: +"Rotation angle in degrees (counter-clockwise)"
      • addedInput schema / properties / base_x / description
        Added value: +"WCS X coordinate of rotation center base point"
      • addedInput schema / properties / base_y / description
        Added value: +"WCS Y coordinate of rotation center base point"
      • addedInput schema / properties / object_id / description
        Added value: +"Backend entity identifier or persistent CAD handle of object to rotate"
    • Changedobject_scale4 fields changed
      • addedInput schema / properties / base_x / description
        Added value: +"WCS X coordinate of scaling center base point"
      • addedInput schema / properties / base_y / description
        Added value: +"WCS Y coordinate of scaling center base point"
      • addedInput schema / properties / factor / description
        Added value: +"Positive uniform scaling multiplier (e.g. 2.0 = double size, 0.5 = half size)"
      • addedInput schema / properties / object_id / description
        Added value: +"Backend entity identifier or persistent CAD handle of object to scale"
    • Changedobject_set_properties5 fields changed
      • addedInput schema / properties / color / description
        Added value: +"AutoCAD Color Index (ACI 0-256; 0=ByBlock, 256=ByLayer)"
      • addedInput schema / properties / layer / description
        Added value: +"Target layer name. Layer must exist"
      • addedInput schema / properties / linetype / description
        Added value: +"Linetype name to assign (e.g. 'Continuous', 'DASHED')"
      • addedInput schema / properties / object_id / description
        Added value: +"Backend entity identifier or persistent CAD handle"
      • addedInput schema / properties / visible / description
        Added value: +"Entity visibility flag (True=visible, False=hidden)"
    • Addedsolid_boolean
    • Addedsolid_create_primitive
    • Addedsolid_export
    • Addedsolid_extrude
    • Addedsolid_inspect
    • Addedsolid_revolve
    • Addedsolid_sweep
    • Addedsolid_transform
    • Addedview_set_direction
    • Addedview_set_preset
    • Addedview_set_visual_style
    • Changedview_zoom_window4 fields changed
      • addedInput schema / properties / x1 / description
        Added value: +"Lower-left corner X coordinate in WCS"
      • addedInput schema / properties / x2 / description
        Added value: +"Upper-right corner X coordinate in WCS"
      • addedInput schema / properties / y1 / description
        Added value: +"Lower-left corner Y coordinate in WCS"
      • addedInput schema / properties / y2 / description
        Added value: +"Upper-right corner Y coordinate in WCS"
    • Changedviewport_create8 fields changed
      • addedInput schema / properties / center_x / description
        Added value: +"Viewport center X coordinate on paper sheet in paper units"
      • addedInput schema / properties / center_y / description
        Added value: +"Viewport center Y coordinate on paper sheet in paper units"
      • addedInput schema / properties / height / description
        Added value: +"Viewport height in paper units (mm or inches)"
      • addedInput schema / properties / layout / description
        Added value: +"Name of paper-space layout to place the viewport on"
      • addedInput schema / properties / scale / description
        Added value: +"Viewport scale factor (e.g. 0.02 for 1:50 scale) (default: 1.0)"
      • addedInput schema / properties / view_center_x / description
        Added value: +"Target model-space center X visible in viewport"
      • addedInput schema / properties / view_center_y / description
        Added value: +"Target model-space center Y visible in viewport"
      • addedInput schema / properties / width / description
        Added value: +"Viewport width in paper units (mm or inches)"
    • Changedviewport_delete2 fields changed
      • addedInput schema / properties / force / description
        Added value: +"Required force confirmation flag to delete non-provider viewports (default: False)"
      • addedInput schema / properties / handle / description
        Added value: +"Persistent CAD handle of the viewport entity to delete"
    • Changedviewport_list1 field changed
      • addedInput schema / properties / layout / description
        Added value: +"Optional layout name filter. Lists viewports across all layouts if omitted"
    • Changedviewport_lock2 fields changed
      • addedInput schema / properties / handle / description
        Added value: +"Persistent CAD handle of the viewport entity"
      • addedInput schema / properties / locked / description
        Added value: +"True to lock viewport display scale against zoom/pan, False to unlock (default: True)"
    • Changedviewport_set_scale2 fields changed
      • addedInput schema / properties / handle / description
        Added value: +"Persistent CAD handle of the viewport entity"
      • addedInput schema / properties / scale / description
        Added value: +"Positive scale factor (paper units / model units)"
    • Addedxref_attach
    • Addedxref_detach
    • Addedxref_list
    • Addedxref_reload
    • Addedxref_unload
  2. 50 tool updatesv0.1.0
    • First observedblock_create
    • First observedblock_insert
    • First observedblock_list
    • First observeddimension_aligned
    • First observeddimension_linear
    • First observeddocument_export_pdf
    • First observeddocument_info
    • First observeddocument_new
    • First observeddocument_open
    • First observeddocument_save
    • First observeddocument_save_as
    • First observeddrawing_audit
    • First observeddrawing_purge
    • First observedentity_create_arc
    • First observedentity_create_circle
    • First observedentity_create_line
    • First observedentity_create_polyline
    • First observedentity_create_text
    • First observedhatch_create
    • First observedhelp
    • First observedlayer_create
    • First observedlayer_list
    • First observedlayer_set_current
    • First observedlayout_create
    • First observedlayout_list
    • First observedlayout_set_current
    • First observedobject_copy
    • First observedobject_count
    • First observedobject_delete
    • First observedobject_get
    • First observedobject_list
    • First observedobject_move
    • First observedobject_rotate
    • First observedobject_scale
    • First observedobject_set_properties
    • First observedredo
    • First observedsystem_capabilities
    • First observedsystem_status
    • First observedtransaction_begin
    • First observedtransaction_commit
    • First observedtransaction_rollback
    • First observedundo
    • First observedview_screenshot
    • First observedview_zoom_extents
    • First observedview_zoom_window
    • First observedviewport_create
    • First observedviewport_delete
    • First observedviewport_list
    • First observedviewport_lock
    • First observedviewport_set_scale

TDQS

A3.6/5.0

Scored across 87 tools

Disambiguation4/5

Most tools have distinct resource/action scopes, and descriptions include explicit cross-references for close neighbors such as document_save vs document_save_as and xref_unload vs xref_detach. Some overlap remains between generic object transforms, solid_transform, batch_transform_entities, and feature_execute vs transaction tools, so an agent still needs careful selection.

Naming Consistency4/5

Tools are overwhelmingly snake_case with resource-first naming such as object_move, layer_create, and solid_boolean, which is predictable across major groups. Minor deviations like help/undo/redo and mixed action ordering in names such as native_integrity_status or drawing_extents keep it from perfect consistency.

Tool Count1/5

87 tools is far above the recommended 3-15 range and crosses the 50+ extreme-mismatch threshold. Although the tools are largely non-redundant, the surface is too large for efficient agent selection and would benefit from consolidation into higher-level operations.

Completeness4/5

The surface covers document lifecycle, layers, blocks, xrefs, layouts, viewports, objects, entity creation, dimensions, solids, metadata, transactions, and undo/redo, so core AutoCAD workflows are well covered. Gaps remain for deleting layers/blocks/layouts, closing documents, block attributes, and several common entity types, but agents can mostly work around them.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables automation of AutoCAD LT and headless DXF creation through two backends (File IPC for Windows AutoCAD LT and ezdxf for cross-platform) with tools for drawing, entity, layer, block, annotation, PID, view, and system operations.
    8
    13
    MIT
  • F
    license
    B
    quality
    A
    maintenance
    Natural-language MCP bridge for AutoCAD 2024. Enables users to inspect and edit DWG drawings, manage layers, entities, layouts, styles, and system variables; draw 2D geometry and 3D solids; perform measurements and transactional edits; and export to DWG, STL, PDF, DWF, SVG, or raster formats through a local named-pipe connection.
    21
    1
    -
  • A
    license
    C
    quality
    C
    maintenance
    Enables MCP clients to create and edit technical drawings, manage layers and geometry, process GIS/research mapping data, generate previews and layouts, and automate AutoCAD documents on Windows through COM.
    225
    207 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP clients to drive AutoCAD LT or headless DXF generation through natural-language requests, exposing consolidated tools for drawings, entities, layers, blocks, annotations, P&ID symbols, viewport screenshots, and AutoLISP execution.
    1
    MIT