autocad-arch-mcp
Enables interaction with AutoCAD 2021 for architectural drafting, supporting YQArch and NBC standard workflows to automate drawing creation and modification.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@autocad-arch-mcpCreate a floor plan with dimensions for a studio apartment."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
autocad-arch-mcp
Architectural MCP for AutoCAD 2021 + YQArch (NBC Standard) — hybrid dotnet + file_ipc + com + ezdxf.
Spec: docs/superpowers/specs/2026-08-24-autocad-arch-mcp-design.md
Knowledge: knowledge/master_knowledge.md + knowledge/*.json|yaml
Prereqs
Windows 10/11, AutoCAD 2021 Full (R24.0) at
D:\SOFTWARES\Autocad 2021\AutoCAD 2021\YQArch at
D:\SOFTWARES\YQArch(orC:\Autodesk\...YQArch)Python 3.10+ Windows native,
uv(install)
Related MCP server: AutoCAD LT AutoLISP MCP Server
Install
cd "D:\6) Obsidian\AI Workspace\Tools\autocad-arch-mcp"
uv syncLoad in AutoCAD
APPLOAD→lisp-code/mcp_arch_dispatch.lsp→=== MCP Arch Dispatch v1 loaded ===NETLOAD→dotnet/AutocadArch.dllAdd both to Startup Suite.
MCP config (opencode)
See spec §8 autocad-arch snippet.
Knowledge
Run uv run python -c "import json, jsonschema; ..." to validate. Phase -1 gate: knowledge/yqarch_compat_matrix.csv must be produced before wrappers.
Dev
uv run pytest tests/ -v
uv run pytest -m "not e2e" -vAvailable Tools
14 toolshama_goldA
Hama gold teaching — every-run retrieval of construction perfection.
operations:
retrieve: data {intent: str, k: int=3} -> top-k gold exemplars (BARAL municipal + Hama A001/A020) via cosine similarity
similarity: data {features: dict, gold_id: str="hama_A001"} -> 0-100 vs Hama
extract: data {} -> extract current drawing features via ezdxf (layers, dims, hatches, viewports) for scoring
score: data {features: dict} -> composite Hama 0.5validator +0.3vision+0.2*sim
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| operation | Yes | ||
| include_screenshot | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no safety annotations beyond a title, the description carries the full transparency burden. It discloses meaningful behavior: the scoring formula (0.5*validator + 0.3*vision + 0.2*sim), the 0-100 similarity scale, the extraction method via ezdxf, and the specific gold exemplar sources. It does not mention permissions, side effects, or external dependencies, but the disclosed details are substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The bullet-list format is compact and scannable, with each operation showing inputs and outputs. The opening phrase 'Hama gold teaching — every-run retrieval of construction perfection' is semantically fluffy, but the rest earns its place by packing useful signatures into a small space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a multi-operation tool and an output schema exists, so return-value details are not needed. However, it leaves include_screenshot unexplained, assumes domain knowledge ('BARAL municipal', 'validator', 'vision', 'sim'), and never clarifies how the top-level operation parameter maps to the listed operation names. These are notable gaps for an agent selecting and invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate—and it largely does. It explains the operation values and the expected data payload shapes for each operation, including intent, k, features, and gold_id. The only schema parameter it leaves undocumented is include_screenshot.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly enumerates the tool's operations—retrieve, similarity, extract, score—each with a specific verb and target resource. It goes well beyond a tautology and gives a concrete sense of what the tool does. However, it does not contrast itself with sibling tools or explain the vague opening phrase 'every-run retrieval of construction perfection'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The operation bullets imply when to use each sub-operation (e.g., retrieve for exemplars, score for scoring), so there is some usage guidance. But the description never explicitly says when to choose hama_gold over its many nbc_* siblings, nor does it provide exclusion conditions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nbc_blockC
Block ops: list/insert/define/get_attributes/update_attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| operation | Yes | ||
| include_screenshot | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide a title and no read-only or destructive hints, so the description must carry the behavioral burden. It indicates both read operations (list, get_attributes) and write operations (insert, define, update_attribute), but it does not disclose side effects, required context, or what happens on updates. This is insufficient for safe autonomous invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise and front-loads the resource and operation set with no filler words. It earns its place by listing the supported operations quickly, though the terseness borders on under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the tool definition is incomplete for reliable use. It omits parameter semantics, usage conditions, and behavioral details for a multi-operation tool. An agent would need substantial external inference to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description does not compensate. It does not explain the 'data' parameter, the effect of 'include_screenshot', or the valid values for 'operation' beyond the loosely named operations in the text. For a 3-parameter tool with no parameter descriptions, this leaves the agent guessing about essential invocation details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as 'block' and enumerates five concrete operations: list, insert, define, get_attributes, and update_attribute. This distinguishes it from sibling tools like nbc_wall and nbc_entity. However, the generic 'Block ops' framing and lack of a single primary use statement keep it just below a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as nbc_drawing or nbc_system. There is no mention of conditions, exclusions, or scenarios where a different tool would be more appropriate. The operation list implies usage but does not clarify selection logic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nbc_decorC
Decor — hatches, fills, symbols, furnishing blocks (YQArch bg/xf).
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| operation | Yes | ||
| include_screenshot | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only a title, so the description carries the full burden for behavioral disclosure. It explains what object categories fall under 'decor' but says nothing about side effects, permissions, state changes, or operation semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a short, front-loaded phrase with no filler or repetition. It is easy to scan, though its brevity is partly the reason it lacks semantic depth.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a required-string-operation tool with an unconstrained data object and zero parameter descriptions, the one-line scope note is insufficient. Even with an output schema, the agent still lacks critical invocation details such as supported operation names and how data should be structured.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the required operation parameter is a bare string with no enum or explanation. The description does not explain valid operation values, the shape of data, or how include_screenshot behaves, so an agent cannot reliably construct arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's domain — hatches, fills, symbols, and furnishing blocks — which helps separate it from wall, opening, or drawing siblings. However, it lacks an explicit verb or action, so it is a category label rather than a statement of what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The listed decor-related item types imply when the tool is relevant, and sibling names provide contrast. Yet no explicit alternatives, exclusions, or selection conditions are stated, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nbc_dimensionC
Dimensions — linear/aligned/angular/radius/leader with NBC ArchTick 45° DIMTAD 1.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| operation | Yes | ||
| include_screenshot | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no readOnly/destructive hints, so the description carries the full transparency burden. It does not disclose whether the tool creates, modifies, or queries dimension objects, nor does it mention side effects, permissions, or state changes. The style parameters 'NBC ArchTick 45° DIMTAD 1' add config detail but no behavioral clarity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and free of filler, but it reads as a telegraphic fragment rather than a structured explanation. The jargon-heavy trailing segment 'NBC ArchTick 45° DIMTAD 1' packs information densely without context. It is concise but under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a required 'operation' parameter, an opaque 'data' object, and no parameter descriptions, the description does not provide enough information to invoke the tool correctly. It offers domain context but omits operational details, acceptable values, and data structure expectations. The presence of an output schema helps return-value understanding but does not fill invocation gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the undocumented 'operation', 'data', and 'include_screenshot' parameters. It hints that dimension types are likely operation values, but it never explains the data object, required operation format, or screenshot flag. This is insufficient for correctly constructing arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as dimension annotations and enumerates specific subtypes—linear/aligned/angular/radius/leader—which differentiates it from sibling tools like nbc_wall or nbc_layer. However, it lacks an explicit verb such as 'create' or 'edit', so the action is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as nbc_drawing, nbc_entity, or nbc_section. There are no stated conditions, exclusions, or prerequisites. The agent must infer usage entirely from the tool name and dimension-type list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nbc_drawingC
Drawing management: create/open/save/info/purge/plot_pdf/get_variables/setup_nbc_standards.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| operation | Yes | ||
| include_screenshot | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide a title, so the description must carry the behavioral disclosure burden. It reveals the existence of operations like purge and save, but does not explain side effects, destructive consequences, required permissions, or operation-specific behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the resource and then provides a useful list of operations. It is concise and contains no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-operation dispatcher tool with no annotations and no parameter enums, this description is too skeletal. It lacks per-operation argument details, expected input formats, and any notes on how the output schema varies by operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for missing parameter documentation. It usefully hints at possible values for the 'operation' parameter, but does not explain 'data' or 'include_screenshot' or how they relate to each operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as managing drawings and enumerates the supported operations: create/open/save/info/purge/plot_pdf/get_variables/setup_nbc_standards. This makes the tool's core function understandable, though it does not explicitly differentiate it from sibling NBC tools beyond the 'Drawing' resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives, or how to choose among the listed operations. The operation list implies usage, but there is no explanation of prerequisites, typical scenarios, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nbc_entityC
Generic entity ops: create_line/circle/polyline/rectangle/arc/ellipse/mtext/hatch/list/count/get/erase/copy/move/rotate/scale/mirror/offset/array/fillet/chamfer.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| operation | Yes | ||
| include_screenshot | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations containing only a title and no read-only or destructive hints, the description carries the full burden. It lists destructive and mutating operations like erase, copy, move, scale, and fillet, but does not disclose side effects, persistence behavior, reversibility, or any consequences of operations. The implicit mutation is not enough for confident use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the generic scope and packs the supported operations into a clear list. There is no filler or redundancy, though the long slash-separated list is dense and harder to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a high-complexity tool with over fifteen operations and three parameters, but the description only provides a list of operation names. The data parameter and per-operation requirements are entirely undocumented, and the output schema does not compensate for missing usage semantics. A minimal viable description would at least explain the data structure or point to per-operation details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and parameters have no descriptions, so the description must compensate. It does add value by listing possible operation values, which helps an agent guess the required operation string. However, it says nothing about the data parameter, which is likely operation-specific, or about include_screenshot semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates a broad but specific set of operations and entity types, such as create_line, circle, polyline, erase, copy, move, and rotate. Although it does not define 'entity' or explain what distinguishes it from sibling tools, the operation list makes the tool's scope reasonably clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus specialized siblings like nbc_wall, nbc_dimension, or nbc_block. The word 'generic' implies it is the catch-all for low-level entity operations, but there are no conditions, exclusions, or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nbc_generateC
Generate any Hama-level drawing: plan 1:100, section 1:20, detail 1:5, schedule, site 1:200.
operation: drawing_type e.g., plan, section, detail, schedule, site, elevation, wall_detail data: {scale: "1:100"/"1:5"/"1:20", building: [WxH], grid_x, grid_y, walls, title, detail_type, kind, building, etc}
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| operation | Yes | ||
| include_screenshot | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only a title, not read-only or destructive hints, so the description must carry behavioral disclosure. It does not state whether generating a drawing mutates state, creates persistent entities, requires authentication, or affects the document. The 'generate' wording suggests output production, but side effects are left ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, and the operation/data lines are useful. But the trailing 'etc', duplicated 'building' entry, and loose format make it less precise than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a free-form data object, no parameter enums, no parameter descriptions, and several seemingly related sibling tools, the description does not provide enough context to invoke it reliably. The include_screenshot parameter is missing entirely, and the payload examples are too underspecified to guarantee correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does add meaning by listing operation values and data keys like scale, building, grid_x, grid_y, and walls. However, types are not specified, the data object is essentially free-form, and the include_screenshot parameter is completely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Generate any Hama-level drawing') and enumerates drawing types with scales, so an agent understands the general purpose. However, it is vague about what distinguishes this tool from siblings like nbc_drawing and nbc_section, so it does not fully differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided. The phrase 'Generate any Hama-level drawing' implies this tool handles everything, but sibling tools such as nbc_drawing, nbc_section, and nbc_wall suggest overlapping or more specialized workflows. The description never explains which tool to choose for a given task.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nbc_layerC
Layer ops: list/create/set_current/set_properties/freeze/thaw/lock/unlock.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| operation | Yes | ||
| include_screenshot | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only a title, so the description carries the full disclosure burden. It lists mutating operations (set_current, set_properties, freeze, thaw, lock, unlock) without noting side effects, persistence, reversibility, or destructive potential, and it never mentions include_screenshot or what it affects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the resource, but it is under-specified rather than deliberately pruned. The dense slash-separated list is efficient yet forces the agent to infer each operation's meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an eight-operation dispatcher with bare annotations, empty schema descriptions, and an undocumented data object, the description is far from complete: no per-operation contracts, no indication of what data each op expects, and no mention of the screenshot flag. The output schema may describe returns, but input semantics remain largely undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the operation parameter has no enums, so the description is the only source of valid operation names; the list partially helps, but maps no operation to data requirements. The data and include_screenshot parameters are completely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pins down the resource (layers) and enumerates eight concrete operations (list, create, set_current, set_properties, freeze, thaw, lock, unlock), going well beyond a bare restatement of the tool name. It is distinguishable from the nbc_* sibling tools by resource type, though it never defines what a layer is in this domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings like nbc_entity or nbc_wall, and no conditions or exclusions for any of the eight operations. The dispatcher-style design would benefit from per-operation usage context, but none is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nbc_openingC
Opening — doors/windows (YQArch ad/aw) with NBC door width gate.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| operation | Yes | ||
| include_screenshot | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only a title, with no readOnly or destructive hints, so the description carries the full behavioral burden. The description does not disclose whether the tool mutates the drawing, validates dimensions, inserts openings, or merely reports them. The 'NBC door width gate' hints at some filtering or restriction but is too vague to be actionable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise line with no filler or redundant sentences. It is front-loaded with the core concept, and the parenthetical adds domain-specific context. However, the cryptic acronyms and lack of explanatory structure keep it from being a top-tier concise description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has three parameters, a required operation string, and no behavioral annotations, yet the description does not explain what action is performed, what inputs are expected, or what effects occur. Although an output schema exists, it does not clarify invocation semantics. The definition is too incomplete for an agent to reliably select and call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the three undocumented parameters, but it does not explain 'operation,' 'data,' or 'include_screenshot.' The required 'operation' field is especially problematic because its allowed value is a plain string with no enums or examples. The phrase 'YQArch ad/aw' may allude to operation values, but it is too obscure to serve as parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource domain (doors/windows) and mentions a specific constraint ('NBC door width gate'), which helps distinguish it from sibling tools like nbc_wall or nbc_drawing. However, it lacks an explicit action verb — it never states whether the tool creates, modifies, or queries openings. The parenthetical 'YQArch ad/aw' is cryptic and does not clarify the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus sibling tools. The description does not mention alternatives, prerequisites, or conditions that would route an agent to this tool. The only contextual hint is the 'NBC door width gate,' but it is not explained in terms of when this tool should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nbc_sectionC
Section — cut lines, section views (generates 1:50/1:20 sections).
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| operation | Yes | ||
| include_screenshot | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only a title, so the description must disclose behavior, yet it only mentions that sections are generated. It does not state whether the tool mutates the drawing, creates new entities, requires an active drawing, or whether 'cut lines' is a destructive operation. With no read-only or safety annotations, this is a meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded, with no wasted words. However, the brevity is under-specification rather than efficient completeness: it reads more like a label than a tool definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has three parameters, one required, and no schema descriptions, so the description needs to provide operational context. It supplies a basic idea of the output (sections at specified scales) but leaves the operation semantics, input data shape, and screenshot behavior unexplained. The presence of an output schema does not cover these gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention operation, data, or include_screenshot. Because operation is required and has no enum values, the agent receives no help choosing a valid operation string. The description fails to compensate for the undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific function — generating section views and cutting lines at 1:50/1:20 scales — so an agent can tell roughly what the tool does. However, it does not explicitly differentiate this from sibling tools like nbc_view or nbc_drawing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to choose this tool over alternatives such as nbc_view or nbc_generate. The context in which section generation should be invoked is only implied by the name and the phrase 'section views.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nbc_stairC
Stair (YQArch ltj / fallback geometry) — tread/riser validated via 2R+T [600,650].
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| operation | Yes | ||
| include_screenshot | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation block contains only a title, so the description carries the full burden of behavioral disclosure and adds little. It mentions a specific validation rule (2R+T [600,650]) and 'fallback geometry', but does not disclose whether the tool creates geometry, mutates the drawing, requires a running CAD session, or what happens on validation failure. The behavioral consequences of invoking this tool are largely opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and arguably front-loaded with the domain word 'Stair', but it is not a model of conciseness because it compresses too much cryptic context into a parenthetical: 'YQArch ltj / fallback geometry' is unexplained and likely meaningless to an agent without domain-specific training. The sentence is compact but spends characters on jargon while omitting more useful operational information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the input contract remains nearly empty: operation is an undocumented string, data is an arbitrary object, and no examples or value constraints are provided. The description does not say what inputs are expected, what operations are supported, or what 'fallback geometry' means in practice. This is incomplete for a tool with an opaque required parameter and an open data object.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not name or explain any of the three parameters. The required 'operation' parameter is completely unspecified with no enums or examples, 'data' is an open object with no shape guidance, and 'include_screenshot' is only inferable from its name. The description's tread/riser hint suggests what data might contain, but it does not meaningfully compensate for the total absence of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the stair domain and a validation rule (2R+T in [600,650]), so it is not a tautology and does distinguish the stair resource from wall/opening/entity siblings. However, it lacks an explicit verb stating what the tool actually does—create, validate, modify, or query. 'Stair (YQArch ltj / fallback geometry)' is cryptic and the only action word, 'validated', is subordinate rather than the main predicate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as nbc_entity, nbc_generate, or nbc_wall. The tool name and 'Stair' hint at the intended domain, but the description does not state conditions, exclusions, or how to choose between this and sibling tools. An agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nbc_systemB
System — status/undo/redo/purge/plot_pdf/execute_lisp/get_variables (ALLOW_RCE gate).
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| operation | Yes | ||
| include_screenshot | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide a title, so the description carries the behavioral burden. It usefully discloses potentially destructive operations (undo, redo, purge) and code execution (execute_lisp) plus the ALLOW_RCE gate, which is important safety-relevant context. It does not detail consequences such as purge scope or undo limits, but the key risk signals are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise and front-loads the tool's identity as 'System', followed by a compact operation list. The cryptic '(ALLOW_RCE gate)' could be clearer, but the overall structure is efficient and scannable for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a multi-operation tool with seven distinct behaviors, yet the description provides no operation-specific rules, parameter contracts, or usage conditions. An output schema exists, which helps with return values, but the input side is too underspecified for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage and no enums, so the description must explain the parameters. It partially does this by listing likely values for 'operation', but it gives no meaning for 'data' or 'include_screenshot', and does not map data payloads to specific operations. This leaves the agent guessing on how to structure calls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('System') and enumerates specific operations: status, undo, redo, purge, plot_pdf, execute_lisp, and get_variables. This makes the tool's scope reasonably clear and distinguishes it from sibling domain tools like nbc_drawing and nbc_wall. However, it lacks a main verb and explains none of the operations, so it is not a fully explicit purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives. The list of operations implies system-level use, and the '(ALLOW_RCE gate)' hint suggests a permission condition, but there is no explicit when-to-use, when-not-to-use, or alternative routing. The agent is left to infer eligibility and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nbc_viewB
View — zoom_extents/zoom_window + screenshot (canvas-only if available).
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| operation | Yes | ||
| include_screenshot | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the core behavior: zoom operations and screenshot capture, including the caveat that screenshots are canvas-only if available. However, with no readOnly/destructive annotations present, the description carries the burden and still omits context such as possible side effects on the viewport or output behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence with no filler. The main action is front-loaded and every phrase contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple view tool with an output schema, the description gives the essential operation modes and screenshot option. However, the required operation parameter's allowed values are not formally specified, and the data parameter is left entirely unexplained, so an agent may still need to guess or inspect external context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does add some meaning by suggesting operation values like zoom_extents and zoom_window, but it never explicitly maps those to the operation parameter, nor does it explain the data parameter at all. The screenshot behavior is only loosely tied to include_screenshot.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a view operation and specifies the concrete actions: zoom_extents/zoom_window plus screenshot. It is distinct from the domain-specific siblings like nbc_wall or nbc_layer, though it does not explicitly name an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus any alternative. The intended use is only implied by the word 'View' and the sibling tool names, with no exclusions or conditions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nbc_wallC
Wall operations (YQArch ww) — create/list with NBC thickness gate.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| operation | Yes | ||
| include_screenshot | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide only a title and no read-only or destructive hints, so the description carries the full burden. It discloses create/list behavior and the NBC thickness gate, but it does not explain side effects, validation behavior, failure modes, or required context beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It communicates the domain, command alias, supported operations, and a key constraint efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description leaves essential invocation details unresolved: exact operation strings, data structure, and the meaning of the NBC thickness gate. With 0% schema parameter coverage and minimal annotation support, this is not enough for reliable tool selection and usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It hints that 'operation' may be 'create' or 'list' and that data may relate to wall definitions, but it never explains the expected values for operation, the shape of data, or the role of include_screenshot.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (walls) and the supported actions (create/list), and adds a relevant constraint (NBC thickness gate). It is clear enough to distinguish the tool from sibling tools by domain, though 'operations' is somewhat generic rather than a single specific verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for wall creation/listing with an NBC thickness requirement, but it gives no explicit guidance about when to choose this tool over siblings or when not to use it. No alternative tools or exclusion conditions are mentioned.
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.
14 tool updates
v0.1.0- First observed
hama_gold - First observed
nbc_block - First observed
nbc_decor - First observed
nbc_dimension - First observed
nbc_drawing - First observed
nbc_entity - First observed
nbc_generate - First observed
nbc_layer - First observed
nbc_opening - First observed
nbc_section - First observed
nbc_stair - First observed
nbc_system - First observed
nbc_view - First observed
nbc_wall
TDQS
Scored across 14 tools
Most nbc_* tools map cleanly to a specific resource, but nbc_drawing and nbc_system both claim purge/plot_pdf/get_variables, making those operations ambiguous. nbc_generate also overlaps conceptually with nbc_drawing's create operation, adding selection risk.
The nbc_<domain> prefix dominates and all names use consistent snake_case, so the overall pattern is predictable. hama_gold and nbc_generate break the pattern, with nbc_generate being an action rather than a resource name.
14 tools is within the ideal range and each major architectural resource area has a dedicated tool. The redundancy between nbc_drawing and nbc_system plus the loosely related hama_gold toolkit makes it slightly heavier than strictly necessary.
The tool surface covers drawing management, architectural elements, dimensions, sections, layers, blocks, views, PDF output, and full drawing generation. Wall/opening updates and deletions are not first-class, but generic entity operations and execute_lisp provide workarounds.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Convert Revit files to XKT, IFC, or DWG and query BIM data via natural language.
DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.
bim.house — words become buildings. Generate BIM, check code & structure, quote materials.
Draw buildings as DXF, IFC and 3D, plus exact French rent and charges calculations.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables controlling CAD software (AutoCAD, GstarCAD, ZWCAD) through natural language instructions, allowing users to create and modify drawings without manually operating the CAD interface.527MIT
- AlicenseAqualityFmaintenanceEnables natural language control of AutoCAD LT through AutoLISP code generation and execution, allowing users to create engineering drawings with conversational prompts.8482MIT
- AlicenseNot gradedqualityDmaintenanceConnects Claude AI to AutoCAD for architectural design, enabling natural language to execute 684 commands. Automates drawing creation and editing through the Model Context Protocol.206MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI clients to drive ZWCAD drawing, modification, query, and plotting via natural language.3MIT