Mmcp.market

Archlang MCP server

by ChanMeng666·io.github.ChanMeng666/archlang-mcp·v0.2.16

Compile, describe, lint, validate, score and repair multi-storey and curved ArchLang floor plans.

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
Growing

10 stars326 downloads/wk

Reviews

Write one

Nobody has reviewed Archlang yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Archlang tools (9)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • compile

    Compile ArchLang `.arch` source (or a Plan-JSON object) to an SVG floor plan, or to a zero-dependency ASCII text plan (format:"txt"). Returns the rendered output plus diagnostics \u2014 each a byte span, line/col, catalogued E_/W_ code, and a machine-applicable fix. Errors are DATA, never exceptions: read `diagnostics` and correct the source. A MULTI-STOREY plan (`level <n> { \u2026 }`) is a set o

  • complete

    Completion items in scope at a source BYTE offset (the LSP `completion()` core): keywords, element names, ids, enum values \u2014 for structured or assisted authoring.

  • describe

    Semantic facts about a plan without rendering: rooms (areas, bboxes, adjacency, uses, and the exact shape \u2014 `floor_polygon` for a `room polygon`, `floor_circle` for a `room circle`, whose area is exact \u03C0R\xB2), doors (what they connect), windows, circulation (walk distance / bottleneck width / detour), zones, storeys (`levels[i]` carries the same facts per floor) with the shafts that joi

  • fix

    Apply the machine-applicable fixes a compile attaches to its diagnostics \u2014 the SYNTACTIC corrector (off-wall openings \u2192 the attachment form, out-of-range positions clamped, \u2026), distinct from `repair`'s geometric solver. Bounded fixpoint (\u22644 passes; a pass that raises the error count is rolled back). `unsafe:true` also applies `maybe-incorrect` fixes. Returns { ok, passes, appli

  • lint

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

  • repair

    The explicit source-to-source corrector (ADR 0006): push furniture out of walls / doorways / swing arcs, separate overlaps, relocate wrong-room fixtures, snap floating pieces to walls. Returns corrected `.arch` source + a change log. It NEVER adds doors or windows \u2014 that is a design choice; use `suggest` for topology.

  • score

    The continuous intent-satisfaction METER: check a brief's intent JSON (per /intent.schema.json) against a plan and report how much it satisfies. Returns { ok, satisfied, total, score, subscores, violations } where `score` is satisfied/total in [0,1] (an empty intent scores 1). It MEASURES, it never gates \u2014 so you can watch a plan approach the brief across edits. A malformed intent returns `{

  • suggest

    Advisory topology suggestions as DATA \u2014 never applied (ADR 0005). For a room with no path back, a building with no entrance, a bath reachable only through a bedroom, or a windowless bedroom, returns ready-to-paste `door`/`window` statements (attachment form, furniture-aware) plus a rationale, for the agent to choose among and insert.

  • validate

    The ship gate: parse + resolve + lint in one pass, no render. `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 per /intent.schema.json) is checked against the plan \u2014 a failing GATING assertion (room count / existence /

Public scan report

scanner v0.1.5 · 2026-09-19 · same rubric, same numbers if you re-run it

no findings
  • Code scan5 source files scanned25/25
  • Live reliabilityno gateway calls yet and no remote to proben/a
  • Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 2 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

What the publisher says

From the Archlang repository's README, as published. We do not edit it. Read it on GitHub

<!-- AGENT-FIRST NOTICE -->

[!IMPORTANT]

### 🤖 Read this with your AI agent — don't read it by hand.

This repo is written agent-first. Point Claude Code, GitHub Copilot, Cursor, or any agent at it:

"Read the README and AGENTS.md, then help me run / extend this."

Structure + AGENTS.md are optimized for agent comprehension.

<!-- /AGENT-FIRST NOTICE -->

Floor plans as code — compiled to SVG, DXF and PDF.

An open-source (MIT) DSL for floor plans that compiles .arch source to SVG/DXF/PDF with linting and geometric validation — diffable, reproducible, and LLM-writable. Text in, a precise architectural drawing out: deterministic, zero-dependency, and built so an AI agent can verify its own plan without ever looking at an image.

▶ Live Playground · 📖 Docs · ⌨ CLI reference · 📦 npm · 🧩 VS Code

👀 See it

Here is a whole program, and below it the actual drawing it compiles to — not a mock-up. Not one coordinate in it places a door, a window or a piece of furniture: every opening is pinned to a distance along a named wall, every fixture resolves against a room or a wall, and the bath and bedroom are laid out by a strip. site { street north } names the two facades the plan turns on — the front door faces the lane, the glazing faces the garden.

# A one-bedroom laneway cottage — 49 m² that reads as one program.
#
# Nothing here is positioned by hand. Every opening is pinned to a run distance along a
# named wall (`on <wall> at <pos>`), every fixture resolves against a room or a wall
# (`in <room> anchor …`, `against wall …`), and the bath/bedroom pair is laid out by
# `strip`. `site { street north }` names the two facades the plan turns on: the door
# faces the lane, the glass faces the garden.
plan "Laneway House" {
  units mm
  grid 50            # partitions are 100 thick, so a `flush` fixture lands on a …50
  north up
  dims auto all
  site { street north }

  wall id=w_lane   exterior  thickness 200 { (0,0) (7500,0) }
  wall id=w_east   exterior  thickness 200 { (7500,0) (7500,6500) }
  wall id=w_garden exterior  thickness 200 { (0,6500) (7500,6500) }
  wall id=w_west   exterior  thickness 200 { (0,0) (0,6500) }
  wall id=w_hall   partition thickness 100 { (4200,0) (4200,6500) }
  wall id=w_bath   partition thickness 100 { (4200,2500) (7500,2500) }

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Install directly

Runs npx -y @chanmeng666/archlang-mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add archlang-mcp -- npx -y @chanmeng666/archlang-mcp
Add to Cursor

Archlang: common questions

Is Archlang MCP server safe?
Yes, by our scan: it is graded A (92/100). Read the Archlang safety report
How do I install Archlang?
It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
Does Archlang need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Archlang maintained?
The last commit was 3 days ago (2026-09-17). The latest release is v0.2.16.
What can I use instead of Archlang?
Servers from other publishers that do the same job: Semiotic MCP server.

Alternatives to Archlang

Same job from other publishers: the closest match first, then the best rated.

  • Semiotic
    Verified React chart generation: select, validate, repair, render, and inspect charts through MCP.
    B

More from ChanMeng666