Skip to main content
Glama

ArchScript for Mac with Claude

ArchScript is an architecture-as-code tool. You describe a system — domains, services, databases, queues, and deployments as cluster → server → Docker container — in a small language. ArchScript draws the diagram, checks the model against architecture rules and exports documentation, a PDF report, Mermaid, PlantUML and Terraform.

ArchScript for Mac includes an MCP server. Claude Desktop, Claude Code and other MCP clients can read the architectures you have open, change them with precise, structured edits, validate them and look at the rendered diagram. Every change appears live in the window and can be undone.

This repository contains the documentation, configuration examples, example models and a small open-source stdio bridge (server/) for the ArchScript MCP server. ArchScript itself is a closed-source app, available on the Mac App Store. The browser Playground is free.

What Claude can do

Tool

What it does

archscript_guide

Learns the language, element types and rules

list_documents

Lists the open documents (id, name, validity)

get_document

Reads a document with line numbers and a structure outline

create_document

Creates a new architecture from ArchScript source

set_document_source

Replaces a document's source

edit_document

Structured edits: add, rename, move and delete elements, relations and containers, and set properties, tags and colours

validate

Returns diagnostics

review

Returns the review score, grade and rule findings

render_diagram

Returns the diagram as an image, so the assistant can see the result

export

Exports Mermaid, PlantUML, Markdown, JSON or Terraform

The assistant doesn't rewrite your file. It sends small operations (for example add_element into cluster:Production/server:app-01/container:api). The ArchScript core turns those into minimal text edits, so comments and formatting stay intact. After each change the assistant gets the validation result and review score back, the same feedback loop a human architect uses.

Example prompts

  • "Read my architecture and tell me which rules it violates."

  • "Add a background worker that sends order emails. Put it in its own container on app-01 and connect the Order API to it."

  • "Create an event-driven architecture for a ticket shop with a payment provider and a read model."

  • "Export the current model as Terraform for AWS and list what wasn't mapped."

Related MCP server: jgs-magic-sysmlv1-mcp

Setup

Requirements: ArchScript for Mac (macOS 14+) with ArchScript Pro (14-day free trial).

  1. Open ArchScript → Settings → AI and turn on Allow AI assistants (MCP).

  2. Copy the snippet for your client from that screen. It already contains your personal access token.

  1. Download archscript.mcpb from the latest release.

  2. Double-click it, or drag it into Claude Desktop → Settings → Extensions.

  3. Paste the access token from ArchScript → Settings → AI.

The extension contains no ArchScript code. It holds a manifest and a small launcher script (mcpb/server/archscript-mcp) that finds ArchScript for Mac and starts its bundled helper.

Claude Code

claude mcp add --transport http archscript http://127.0.0.1:47621/mcp \
  --header "Authorization: Bearer <token from Settings → AI>"

Claude Desktop (manual)

Add the snippet to claude_desktop_config.json, then restart Claude:

{
  "mcpServers": {
    "archscript": {
      "command": "/Applications/ArchScript.app/Contents/MacOS/archscript-mcp",
      "args": ["--token", "<token from Settings → AI>", "--port", "47621"]
    }
  }
}

The bundled archscript-mcp helper bridges stdio to the app and starts ArchScript when Claude needs it.

Other MCP clients

Any client that supports Streamable HTTP can connect to http://127.0.0.1:47621/mcp with the header Authorization: Bearer <token>. Clients that only support stdio can use the helper as shown above, or the open-source Node bridge in server/ (Node 18+, no dependencies):

{
  "mcpServers": {
    "archscript": {
      "command": "node",
      "args": ["/path/to/archscript-mcp/server/index.js"],
      "env": { "ARCHSCRIPT_TOKEN": "<token from Settings → AI>" }
    }
  }
}

Privacy and security

  • Local only. The server listens on 127.0.0.1 and is never reachable from the network.

  • Token required. Every request needs your access token. You can regenerate it at any time in Settings → AI.

  • Off by default. Nothing runs until you turn it on.

  • No telemetry. ArchScript collects no data and sends nothing anywhere. Your AI client only sees what it reads through the tools.

  • The helper is sandboxed and only forwards stdio to the local server.

Screenshots

Visual editing

Review and rules

Right-click menu in the diagram

Architecture review

Inspector

Element library

Editor, diagram and inspector

Element library with a custom type

A Docker deployment as code: cluster → servers → containers → services.

Docker deployment diagram

Example models

The examples/ folder contains ready-to-use architectures. Open one in ArchScript for Mac, or paste it into the Playground:

File

Architecture

basic.archs

The smallest useful model

customer-management.archs

One domain with web app, API and database

webapp.archs

Classic web application with boundaries

microservices.archs

Services with their own databases and an event bus

ddd.archs

Bounded contexts (domain-driven design)

event.archs

Event-driven, CQRS-style flow

saas.archs

Production SaaS with gateway and identity provider

docker.archs

Docker Swarm cluster, servers and containers

A taste of the language:

project DockerShop

cluster Production {
  platform "Docker Swarm"

  server "app-01" {
    container api {
      image "shop/api:1.4"
      element service "Order API" as orders { tech "Rust"; owner "Orders Team" }
    }
  }
}

element frontend "Web Shop" as shop
relation shop -> orders : HTTPS

The full language reference is at archscript.dev/docs.

Feedback

Found a bug in the MCP integration or have an idea for a tool? Please open an issue. Feature requests for ArchScript itself are welcome too.

License

The documentation, configuration snippets, example models and the bridge in server/ are available under the MIT License. ArchScript for Mac and the ArchScript core are proprietary software.

Available Tools

10 tools
archscript_guideArchScript language guideA
Read-only

The ArchScript language: syntax, element types, containers (domain, boundary, environment, cluster, server, container), relations, properties, rules, custom types and the edit operations. Read this before writing ArchScript.

Inputs: no named parameters.

create_documentCreate a documentB

Opens a new ArchScript window with the given source and returns its id and diagnostics.

Inputs: source (required).

edit_documentEdit a documentA

Applies structured edit operations in order (one undoable step). Each operation is an object with "op" and its fields: add_element {kind, name, container?} · add_relation {from, to, label?, bidirectional?} · set_property {element, key, value|null} · rename {element, name} · change_id {element, id} · change_kind {element, kind} · set_tags {element, tags[]} · move_to_container {element, container|null} · delete_element {element} · set_relation_label {relation, label|null} · set_relation_property {relation, key, value|null} · set_relation_direction {relation, direction: forward|reverse|both} · delete_relation {relation} · add_container {kind, name, container?} · rename_container {container, name} · delete_container {container} (keeps contents) · set_container_property {container, key, value|null} · set_container_color {container, color|null}. Elements are referenced by id, relations by index (see get_document), containers by key like "cluster:Prod/server:app-01".

Inputs: operations (required), document.

exportExportC
Read-only

Generated output of a valid document: mermaid, plantuml, markdown (documentation), json (model) or terraform_aws / terraform_azure / terraform_gcp.

Inputs: format (required), document.

get_documentRead a documentA
Read-only

Source code (with line numbers), diagnostics, metrics and the structure (containers, elements, relations with their indices) of a document.

Inputs: document.

list_documentsList open documentsA
Read-only

Open ArchScript documents with id, file name, project name, validity and size. The first entry is the frontmost window.

Inputs: no named parameters.

render_diagramRender the diagramB
Read-only

The document's diagram as a PNG image (the last valid state).

Inputs: document.

reviewArchitecture reviewB
Read-only

Score, grade, metadata coverage, coupling and all rule findings of a document.

Inputs: document.

set_document_sourceReplace a document's sourceA

Replaces the whole source of a document (one undoable step in the user's window). Returns diagnostics.

Inputs: source (required), document.

validateValidate sourceA
Read-only

Compiles ArchScript source without opening or changing a document: diagnostics, metrics and review score.

Inputs: source (required).

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 10 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes, especially document CRUD versus export/render versus the guide. Some overlap exists: get_document, validate, and review all report diagnostics or metrics, and set_document_source versus edit_document both modify source, though their scopes differ.

    Naming Consistency3/5

    Document operations mostly follow verb_noun naming such as list_documents, get_document, and create_document. However, export, validate, and review are bare verbs, while archscript_guide is an anomalous prefixed noun, making the overall convention mixed but still readable.

    Tool Count5/5

    Ten tools is a well-scoped size for an architecture DSL server covering document lifecycle, editing, validation, review, export, rendering, and authoring guidance. No obvious tool feels redundant or trivially unnecessary.

    Completeness4/5

    The surface covers create/list/get/edit/validate/review/export/render plus a language guide, which is strong lifecycle coverage for ArchScript documents. Minor gaps include no document delete/close operation and no explicit open-by-file-path workflow.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables querying and modifying ArchiMate enterprise architecture models from XML or Archi Tool files via REST API and MCP server, supporting multiple simultaneous data sources.
      19 npm
      MIT
    • F
      license
      C
      quality
      B
      maintenance
      MCP bridge to live SysML v1 models in CATIA Magic / Cameo Systems Modeler (No Magic MSoSA). Lets Claude Code or any MCP agent query, audit, and edit MBSE models — blocks, requirements, diagrams, parametrics, traceability — over a local, air-gapped connection.
      133
      4
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables planning and maintaining system architecture as typed, linted, live diagrams stored as files in the repo, with MCP tools for cataloging, creating, editing, linting, exporting, and viewing diagrams locally.
      8
      MIT