Skip to main content
Glama
Meteor-Simulation

BULC MCP

Official

Spr analyze drawing

spr_analyze_drawing
Read-onlyIdempotent

Analyze sprinkler or water-spray piping drawings to recognize pipe networks, extract sizes and labels, and return candidate runs, open ends, and ambiguities for import.

Instructions

Read a sprinkler / water-spray piping drawing (.dxf, .dwg, .pdf, .zip of drawings, .png/.jpg) and recognise a candidate pipe network. Isometric (ISO) drawings: scale from DIMENSION entities, pipe linetype, bends, flange/valve gaps bridged, nozzle stems, line-number / reducer / valve labels, 3D reconstruction (X,Y horizontal, Z up, inlet = origin), nominal sizes from labels and flange rings. Plan drawings: pipe layers + head symbols at one height. Returns a summary with candidateId, open ends (drain candidates), reference (dashed, other-system) labels, exclusion hints, runs and ambiguities to ask the user about. Attached chat files arrive as "[첨부 도면] name path=… candidateId=…". PDFs with outlined text set needsVision (read the page image instead). show=segments|nodes|runs|tags|components lists details (ids, offset, limit, component). Then call spr_import_network. [bulc-mcp rules] DRW-006 — bulc_knowledge_search ""

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idsNoshow: only these segment / node / run ids
showNoWhat to return (default summary)
entryNozip only: entry name (or part of it) to show
limitNoshow: rows (default 60, max 200)
offsetNo
optionsNoRe-analysis options: projection (isometric|plan), pipeLinetypes / referenceLinetypes / detailLinetypes (DXF linetype names), layers / excludeLayers, scaleMmPerUnit (drawing unit → mm when the drawing has no DIMENSION), lineNoPattern (regex), rootHint [x,y] (drawing coords near the inlet), plan view: pipeLayers, headBlocks, headLayers, planHeightM; PDF: pages [1,2].
filePathNoAbsolute path of the drawing file
componentNoshow: only this connected component (0 = main network)
candidateIdNoId from an earlier analysis or the chat attachment (re-use without re-reading)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv4.0.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: it explains what is recognised (bends, flange/valve gaps bridged, nozzle stems, reducer/valve labels), the 3D reconstruction convention (X,Y horizontal, Z up, inlet = origin), how attached chat files surface as '[첨부 도면] name path=… candidateId=…', and that ambiguities are surfaced for the user rather than resolved silently.

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 purpose before diving into ISO/plan mechanics, return contents, attachment encoding, show options and the follow-up call. It is dense and parenthetical-heavy, but nearly every clause carries information; only the trailing '[bulc-mcp rules] DRW-006' pointer reads as boilerplate.

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

Completeness4/5

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

With no output schema, the description correctly carries the return contract ('summary with candidateId, open ends ... runs and ambiguities'), and the re-analysis options are explained in context. The one gap is that no parameter is marked required, so the description should be explicit that a filePath or candidateId (or attachment) must be supplied.

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 89%, so the baseline is 3, but the description adds real meaning: the show modes are tied to what the agent will do with them ('lists details (ids, offset, limit, component)'), and it explains where candidateId comes from (earlier analysis or the chat attachment) and why it avoids re-reading. It still doesn't explain entry/rootHint/lineNoPattern beyond what the schema says.

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 ('Read a sprinkler / water-spray piping drawing ... recognise a candidate pipe network'), enumerates supported formats (.dxf, .dwg, .pdf, .zip, .png/.jpg) and both projection modes. The sprinkler-piping domain clearly separates it from the sibling arch_analyze_drawing and bulc_drawing_intake, and it names spr_import_network as the downstream consumer.

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 forward workflow ('Then call spr_import_network') and practical routing hints such as 'PDFs with outlined text set needsVision (read the page image instead)' and candidateId re-use 'without re-reading'. It never states when NOT to use it or how it differs from arch_analyze_drawing/bulc_drawing_intake, so explicit alternative selection is missing.

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