Skip to main content
Glama
Meteor-Simulation

BULC MCP

Official

Arch analyze drawing

arch_analyze_drawing
Read-onlyIdempotent

Read architectural floor plans to recognize units, scale, walls, doors, windows, columns, stairs, rooms and story labels. Returns candidateId and summary.

Instructions

Read an architectural floor plan (.dxf, .dwg via the bundled converter, vector .pdf, or an image) and recognise the building: units and scale (DXF $INSUNITS, dimension values, PDF scale text), layer roles, wall centrelines with thickness (double-line or single-line walls), doors (swing arcs / door blocks), windows (window layers / blocks), columns, stair areas, room names and story labels. Returns candidateId, a summary and questions to confirm with the user (DRW-001…003). Images and outlined PDFs return needsVision — then read the picture yourself and call arch_import_floorplan_report. show = walls | openings | columns | rooms | levels | layers lists details (offset, limit, ids). Read-only; the file is read on this PC only. [bulc-mcp rules] DRW-004 — bulc_knowledge_search ""

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idsNo
showNo
limitNoRows for show (default 80, max 300)
offsetNo
optionsNoRe-analysis options: scaleMmPerUnit (drawing unit → mm; PDF: scale denominator, 1:100 → 100), wallLayers / doorLayers / windowLayers / columnLayers / excludeLayers (layer names), wallStyle auto|double|single, wallThicknessRange [min,max] m (default [0.05,0.6]), defaultWallThickness m (single-line walls, default 0.2), minWallLength m (default 0.3), page (PDF page, default 1).
filePathNoAbsolute path of the drawing (.dxf .dwg .pdf .png .jpg)
candidateIdNoRe-use an earlier analysis (with options = analyse again)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv4.0.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare read-only/idempotent/non-destructive/non-open-world, so the safety profile is covered. The description adds meaningful behavior beyond that: the file is read on this PC only (local, no uploads), the needsVision fallback for rasters/outlined PDFs, and the returned artifacts (candidateId, summary, questions DRW-001…003). It stops short of describing pagination limits on show output beyond the schema's limit description.

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 verb and resource, then progressively narrower detail (formats → extraction list → return artifacts → fallback → show values → read-only). It is dense and readable, though the single run-on sentence packs a lot, and the bracketed 'bulc-mcp rules' fragment is terse enough to be ambiguous about its purpose.

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?

No output schema exists, so the description carries the return-value burden — and it does, naming candidateId, summary, and confirmation questions (DRW-001…003). With 7 parameters including a nested options object, some option semantics rely on the schema, but the tool's overall contract is sufficiently complete 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 coverage is 57%, so the schema documents roughly half the params. The description adds some value: it enumerates show values (walls | openings | columns | rooms | levels | layers) and mentions layer-role and scale inputs conceptually. But it does not clarify ids, or most nested options (wallThicknessRange, minWallLength, page) beyond what the schema already states, leaving the undocumented half partially unexplained.

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

Purpose5/5

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

States a specific verb (Read/recognise) and resource (architectural floor plan) with a precise enumeration of what is extracted: units/scale, layer roles, wall centrelines, doors, windows, columns, stairs, rooms. It distinguishes itself from the sibling spr_analyze_drawing (sprinkler) and names arch_import_floorplan_report as the downstream step, so an agent can place it without opening other 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?

Gives clear usage context: use it for .dxf/.dwg/.pdf/image plans, and explicitly routes the agent when images/outlined PDFs return needsVision — 'read the picture yourself and call arch_import_floorplan_report.' It also notes the re-analysis path via candidateId. It does not spell out when NOT to use it vs. other intake tools, so it falls short of a full 5.

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

Deploy Server

Other Tools