Skip to main content
Glama
giorgiomoroder

Vectorworks MCP

vw_find_objects

Read-only

Illuminate drafting time by locating objects through exact class, layer, type, plug-in, record, or name filters in Vectorworks. Query and filter drawing elements precisely via the Vectorworks MCP server.

Instructions

Find objects by any combination of exact class, layer, type ("Symbol", "Rectangle", "Plug-in Object"...), plug-in name ("Lighting Device"), attached record (optionally with field == value) and object name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
fieldNo
layerNo
limitNo
valueNo
pluginNo
recordNo
class_nameNo
object_typeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds nothing behavioral beyond that: it doesn't disclose the default 500 limit, truncation/pagination behavior, ordering, or what happens on a no-match query. With annotations carrying the load, 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?

A single front-loaded sentence that opens with the verb and then lists the filter dimensions. No filler, and the parenthetical examples earn their space by disambiguating type and record values. Dense but not bloated.

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

Completeness3/5

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

An output schema exists, so return-value explanation is not required. However, for a 9-parameter query tool with 0% schema description coverage, the description omits the limit/pagination default and gives no syntax detail for the "field == value" coupling. Adequate but with a clear hole around result-size control.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate, and it does for most fields: class_name, layer, object_type (with example values), plugin ("Lighting Device"), record, name, and the coupled field/value pair ("field == value"). That is strong coverage of 8 of 9 parameters. It leaves the limit parameter unmentioned, which is the main gap.

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

Purpose4/5

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

The verb+resource ("Find objects") is specific and immediately clarifies that this is a filtered query tool. The enumeration of accepted dimensions (class, layer, type, plug-in name, record, name) makes the scope concrete. It doesn't name any sibling to distinguish itself from, but the purpose itself is unambiguous.

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

Usage Guidelines2/5

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

"Any combination" implies the filters are composable, which is mild usage context, but there is no explicit when-to-use statement, no exclusions, and no routing to alternatives such as vw_get_selection or vw_get_record. The agent must infer the use case entirely.

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