Skip to main content
Glama

Server Details

Floor plans as code: compile, lint and repair ArchLang (.arch) floor plans to SVG, DXF and PDF.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
ChanMeng666/archlang
GitHub Stars
34
Server Listing
ArchLang
ChatGPT
–
Claude
–

TDQS

A4.1/5.0

Scored across 12 tools

Disambiguation4/5

Most tools target clearly different stages of one authoring loop (compile, describe, lint, suggest, finish, link), and the descriptions explicitly draw the subtle lines (fix = source-level faults, repair = furniture geometry, validate = gate without a drawing). The remaining friction is between validate, lint and compile, which all surface diagnostics of overlapping kinds, so an agent may occasionally pick the wrong entry point.

Naming Consistency4/5

Eleven of twelve names are single lowercase verbs (compile, complete, describe, finish, fix, link, lint, repair, score, suggest, validate), which is predictable and readable. read_me is the one deviation, named like a document rather than an action, but the set is otherwise free of mixed conventions.

Tool Count5/5

Twelve tools is squarely in the healthy range for a compiler-style domain: each maps to a distinct step (compile, inspect, diagnose, auto-fix, furnish, score, share) rather than restating the same operation. None looks like filler, and none of the pipeline stages is split across redundant tools.

Completeness4/5

The authoring lifecycle is well covered end to end: compile/render, completion, structural inspection, lint and validation gates, two tiers of automatic correction, furnishing/finish, door and window suggestions, intent scoring, and shareable links. Gaps are minor and mostly external (png rendering unavailable on the hosted server, no export to CAD/PDF, no pretty-printer), which agents can route around.

Available Tools

12 tools
compileCompile a floor plan to a drawingA
Read-onlyIdempotent
Inspect

Compile ArchLang .arch source (or a Plan-JSON object) to an SVG floor plan, or with format to a plain-text ASCII plan ("txt"), Plan JSON ("json") or an image ("png"). Format "json" returns the plan as an object, with schema naming its JSON Schema; passed back as plan_json it compiles to the same drawing, unless the plan uses a part of the language Plan JSON does not carry (sheet tables, styles, circular rooms, roofs, storeys, place, accessibility metadata). Returns the output plus diagnostics; a diagnostic usually carries a byte span with line/col and an E_/W_ code, and often a fix, sometimes one the fix tool can apply. Errors come back as data, never as exceptions: read diagnostics and correct the source. A multi-storey plan (level <n> { … }) returns the lowest storey in output and every storey in pages[] ({ level, name, output }); pass level to render just one. format "png" is unavailable on the hosted server, which has no image renderer: use format "svg", or GET /svg/ on this server for an image URL.

Inputs: level, width, format, source, +3 more.

completeCompletions at a source offsetA
Read-onlyIdempotent
Inspect

List the completion items in scope at a source byte offset: keywords, element names, ids and enum values, the same items an editor's language server offers. For structured or assisted authoring.

Inputs: at (required), source (required).

describeDescribe a plan (facts, no render)A
Read-onlyIdempotent
Inspect

Report a plan's facts without rendering, so you can check it against the brief without looking at an image. Returns rooms (area, bbox, adjacency, use, and the exact shape: floor_polygon for a room polygon, floor_circle for a room circle, whose area is exactly πR²), doors (what each connects), windows, circulation (walk distance, bottleneck width, detour), zones, storeys (levels[i] carries the same facts per floor) with the shafts that join them and which storeys stay reachable (vertical), the drawing extent (bbox, bbox_outer), freedom (which positions are hand-authored and which are derived), and totals.

Inputs: source (required).

finishFinish the drawingA
Read-onlyIdempotent
Inspect

Complete a plan for export by adding what it lacks; run it once lint is clean. Two stages. furnish puts furniture, by room use, in each rectangular room that holds none, on every storey (a furnished room is never touched, and one that lacks a piece its use requires is named in unresolved with the missing pieces, not filled; placement is against wall / in <room> anchor, never absolute). sheet adds the sheet statements the plan lacks (paper, scale, dims auto, title, schedule rooms, legend), choosing the finest standard scale on the smallest sheet that holds the drawing. It fills only what is missing and deletes nothing; only runs one stage; reissue:true may replace paper/scale (only those) when the drawing does not fit them. Returns { ok, changed, changes, unresolved, source }; a plan that does not compile comes back untouched with ok:false, and every room left empty (its use has no furniture row or is unknown, or furnishing it would raise a new diagnostic) and every sheet statement left out is named in unresolved with the reason; a note with scope set (outside-table) asks nothing of you unless that room should hold furniture.

Inputs: source (required), only, reissue.

fixApply machine-applicable diagnostic fixesA
Read-onlyIdempotent
Inspect

Apply the machine-applicable fixes attached to a plan's compile diagnostics and return the edited source. It corrects source-level faults (an opening off its wall becomes the attachment form, an out-of-range position is clamped, …); furniture geometry is repair's job. It runs at most 4 passes and rolls back a pass that raises the error count. unsafe:true also applies maybe-incorrect fixes. Returns { ok, passes, applied, skipped, source }.

Inputs: source (required), unsafe.

lintLint architectural soundnessA
Read-onlyIdempotent
Inspect

List advisory architectural-soundness warnings (W_* codes) as data: unreachable room, windowless bedroom, too-narrow door, blocked doorway, furniture through a wall, circuitous path, and more. profile selects a ruleset ("residential-basic", "accessibility-advisory", …).

Inputs: source (required), profile.

read_meHow to use this serverA
Read-onlyIdempotent
Inspect

Explain this hosted ArchLang server in one short page: the authoring loop, the size cap, what is unavailable here, how to get an image URL for a plan, and what the server keeps (nothing). Call it first when unsure.

Inputs: no named parameters.

repairRepair furniture placementA
Read-onlyIdempotent
Inspect

Correct furniture placement and return the corrected .arch source with a change log. It pushes furniture out of walls, doorways and door swings, separates overlapping pieces, moves fixtures that sit in the wrong room, and snaps floating pieces to walls. A piece it may not rewrite is listed in unresolved with the reason. It never adds doors or windows (that is a design choice); use suggest for those.

Inputs: source (required).

scoreScore a plan against a brief (intent meter)A
Read-onlyIdempotent
Inspect

Measure how much of a brief's intent JSON a plan satisfies, without gating. Returns { ok, satisfied, total, score, subscores, violations }, where score is satisfied/total in [0,1] (an empty intent scores 1); call it across edits to watch a plan approach the brief. The intent's shape is the archlang://intent-schema resource. A malformed intent returns { ok:false, intentErrors } as data, never an exception.

Inputs: brief (required), source (required).

suggestSuggest topology fixes (advisory)A
Read-onlyIdempotent
Inspect

Suggest the doors and windows a plan's room graph needs, as data; nothing is applied. For a room with no path back, a building with no entrance, a bath reachable only through a bedroom, or a windowless bedroom, it returns ready-to-paste door/window statements with a rationale, for you to choose among and insert. Each names its wall by an authored id or a unique wall category, else by absolute at (x, y) coordinates. Door candidates avoid furniture in the door's approach; window candidates do not consider furniture.

Inputs: source (required).

validateValidate (parse + resolve + lint)A
Read-onlyIdempotent
Inspect

Check a plan in one pass without returning a drawing (parse, resolve and lint): the gate a plan passes before it ships. strict:true makes advisory warnings fail too. Optional graph checks the plan's interior-door adjacency against an intended room graph ({ room: [neighbours] }); a mismatch fails. Optional intent (a brief's expectations, shaped as the archlang://intent-schema resource describes) is checked against the plan: a missed gating assertion (room count, existence, area, total area, windows) fails, while adjacency and reachability are advisory and only score. A malformed intent returns { ok:false, intentErrors } as data, never an exception. Returns { ok, diagnostics, graph?, intent? }.

Inputs: source (required), graph, intent, strict.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      B
      maintenance
      Floor plans, elevations and sections for agents. Draw a room in real millimetres, place doors, windows and tables, validate with typed errors, render deterministic SVG. Free key, no approval.
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI assistants to automate 2D architectural drafting and CAD file management, including DXF/DWG parsing, SVG/PNG/PDF rendering, wall extrusion to 3D STL meshes, room and beam analysis, block/script library access, and persistent depot storage via a REST API and MCP tools.
      18
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Declarative BIM and Building-as-Code engine for AI agents: model buildings in YAML, compute deterministic QTO and cost estimations, compile to IFC4, and view interactive 3D WebGL models.
      7
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Converts architectural PDF plans into dimension-verified millimetre geometry, IFC models, and CPU-rendered views, with built-in validation for boundaries, areas, and overlaps.
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.