Skip to main content
Glama

Server Details

EN Diagram — structural verification for concurrent systems. Pure math, no AI.

Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
0.0% over 40 days
Last Tested
Transport
Streamable HTTP
URL
Repository
dushyant30suthar/endiagram-mcp
GitHub Stars
8
Server Listing
endiagram

TDQS

A3.5/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct analysis operation: compose for merging/extracting, equivalent for comparison, invariant for property checking, live for deadlock/boundedness, reachable for reachability, render for visualization, and structure for overall shape. No overlapping purposes.

Naming Consistency5/5

All tool names are single-word verbs in lowercase, following a consistent imperative style (compose, equivalent, invariant, live, reachable, render, structure). No mixing of conventions.

Tool Count5/5

With 7 tools, the server covers the essential analysis operations for system diagrams without being overly large or minimal. Each tool earns its place.

Completeness5/5

The tool surface covers structural analysis (structure), behavioral properties (invariant, live, reachable), comparison (equivalent), composition (compose), and visualization (render). No obvious gaps for the stated analysis purpose.

Tool Schema Changelog

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

  1. 1 tool update
    • Changedrender1 field changed
      • changedInput schema / properties / theme / description
        Previous value: -"Color theme. Named presets (curated, each with light + dark variants; pair with isDark): Blueprint (architectural drafting paper), Swiss (International Typographic — black/white with red accent), Bauhaus (primary-color geometric), Brutalist (high-contrast stark). Seed-derived (auto-generated palettes from themes.json): Nord, Catppuccin, etc. Or pass 'dark'/'light' for the default theme in that mode. Overridden by `color` if provided."New value: +"Color theme. Curated presets (each with light + dark variants; pair with `isDark`): `Editorial` (stone paper + rust focal, adapted from cathrynlavery/diagram-design), `Primer` (GitHub design system — blue accent, data-vis roles), `Carbon` (IBM Carbon — sharp 0px corners, corporate blue). Or seed-derived palettes generated on the fly from `color`. Pass 'dark'/'light' for the default variant. Overridden by `color` if provided."
  2. 5 tool updates
    • Changedcompose2 fields changed
      • changedInput schema / properties / links / description
        Previous value: -"Entity links e.g. 'a.node1=b.node2'"New value: +"Entity identifications, one per line. Format: `a.<entity name>=b.<entity name>` (A's entity is the same as B's entity). `#` starts a comment. Example: `a.user session=b.authenticated session`."
      • changedInput schema / properties / subsystem / description
        Previous value: -"Subsystem name for extract mode"New value: +"Subsystem name to extract. Valid names come from structure's `subsystems` field — call structure on the source first to discover them."
    • Changedequivalent1 field changed
      • changedInput schema / properties / patch / description
        Previous value: -"EN patch for evolve mode"New value: +"EN patch for evolve mode. Three directive types: plain EN statement (`actor do: X needs: Y yields: Z at: W`) adds action X; a line starting with `-` (and not containing `do:`) removes the named action; a new statement with an existing action name replaces the original. Multiple directives allowed, one per line."
    • Changedinvariant1 field changed
      • changedInput schema / properties / rules / description
        Previous value: -"Structural rules to check, one per line"New value: +"Custom structural rules, one per line. Four supported sentence shapes (regex-matched): (1) `no bridge that is also hub` — flags nodes that are both a bridge and a hub. (2) `every path from X to Y passes through at least one of [A, B, C]` — encodes precedence/coverage; use to check `A must happen before Y produces Z` by rewriting as `every path from Z's input to Z passes through [A]`. (3) `no node with centrality above 0.5` — flags over-central nodes (replace 0.5 with any threshold). (4) `removing any single node disconnects at most N others` — connectivity robustness check. Unrecognized rules return satisfied:false with an explanation listing these shapes."
    • Changedrender1 field changed
      • changedInput schema / properties / theme / description
        Previous value: -"Color theme: named preset (Blueprint, Swiss, etc.) or dark/light"New value: +"Color theme. Named presets (curated, each with light + dark variants; pair with isDark): Blueprint (architectural drafting paper), Swiss (International Typographic — black/white with red accent), Bauhaus (primary-color geometric), Brutalist (high-contrast stark). Seed-derived (auto-generated palettes from themes.json): Nord, Catppuccin, etc. Or pass 'dark'/'light' for the default theme in that mode. Overridden by `color` if provided."
    • Changedstructure2 fields changed
      • changedInput schema / properties / detect_findings / description
        Previous value: -"Set to 'true' to detect structural findings"New value: +"Set to 'true' to flag named structural findings. Possible values: unguarded-sink, single-cut-path, multi-cut-path."
      • changedInput schema / properties / node / description
        Previous value: -"Node name for centrality query"New value: +"Node name. When provided, returns per-node centrality (betweenness, closeness, eigenvector) for this specific node instead of the overview."
  3. 1 tool update
    • Changedrender1 field changed
      • changedInput schema / properties / type / description
        Previous value: -"Output format: svg (default) or png. PNG is rasterized server-side via Batik."New value: +"Output format: png (default) or svg. PNG is rasterized server-side via Batik."
  4. 1 tool update
    • Changedrender6 fields changed
      • addedInput schema / properties / direction
        Added value: +{
        +  "description": "Layout direction: LR (left-to-right) or TB (top-to-bottom). Default auto-detects from condensation DAG aspect ratio.",
        +  "type": "string"
        +}
      • addedInput schema / properties / isDark
        Added value: +{
        +  "description": "true or false. Selects the dark or light variant of a named preset. If omitted, defaults to dark unless theme=light.",
        +  "type": "string"
        +}
      • changedInput schema / properties / output / description
        Previous value: -"File path to save the SVG"New value: +"File path to save the rendered image"
      • changedInput schema / properties / structure_layers / description
        Previous value: -"Bitmask for structure overlays. Bits: 1=subsystems, 2=pipelines, 4=cycles, 8=forks, 16=joins, 32=hubs. Default 63 (all on). Pass 0 to hide all."New value: +"Bitmask for structure overlays. Bits: 1=subsystems, 2=pipelines, 4=cycles, 8=forks, 16=joins, 32=hubs, 64=deadlock, 128=overflow. Default 255 (all on). Pass 0 to hide all."
      • changedInput schema / properties / theme / description
        Previous value: -"Color theme: dark or light"New value: +"Color theme: named preset (Blueprint, Swiss, etc.) or dark/light"
      • addedInput schema / properties / type
        Added value: +{
        +  "description": "Output format: svg (default) or png. PNG is rasterized server-side via Batik.",
        +  "type": "string"
        +}
  5. 1 tool update
    • Changedrender1 field changed
      • addedInput schema / properties / color
        Added value: +{
        +  "description": "Seed color hex (#RRGGBB) to generate a custom theme. Overrides theme parameter. One color generates the entire palette.",
        +  "type": "string"
        +}
  6. 6 tool updates
    • Changedcompose2 fields changed
      • changedInput schema / properties / source_a / description
        Previous value: -"EN source code for the first system"New value: +"EN source code or path to .en/.txt file for the first system"
      • changedInput schema / properties / source_b / description
        Previous value: -"EN source code for the second system"New value: +"EN source code or path to .en/.txt file for the second system"
    • Changedequivalent2 fields changed
      • changedInput schema / properties / source_a / description
        Previous value: -"EN source code for the first system"New value: +"EN source code or path to .en/.txt file for the first system"
      • changedInput schema / properties / source_b / description
        Previous value: -"EN source code for the second system"New value: +"EN source code or path to .en/.txt file for the second system"
    • Changedinvariant1 field changed
      • changedInput schema / properties / source / description
        Previous value: -"EN source code describing the system"New value: +"EN source code, or path to .en/.txt file"
    • Changedlive1 field changed
      • changedInput schema / properties / source / description
        Previous value: -"EN source code describing the system"New value: +"EN source code, or path to .en/.txt file"
    • Changedrender2 fields changed
      • changedInput schema / properties / source / description
        Previous value: -"EN source code describing the system"New value: +"EN source code, or path to .en/.txt file"
      • changedInput schema / properties / view / description
        Previous value: -"View mode: flow (default), actors (swimlane by actor), locations (grouped by context), summary (one node per subsystem)"New value: +"Group by: actors (partition by actor) or locations (partition by location). Default auto-detects topology."
    • Changedstructure1 field changed
      • changedInput schema / properties / source / description
        Previous value: -"EN source code describing the system"New value: +"EN source code, or path to .en/.txt file"
  7. 1 tool update
    • Changedrender2 fields changed
      • removedInput schema / properties / show_regions
        Removed value: -{
        -  "description": "Show structural regions like fork, pipeline, join. Default true",
        -  "type": "string"
        -}
      • addedInput schema / properties / structure_layers
        Added value: +{
        +  "description": "Bitmask for structure overlays. Bits: 1=subsystems, 2=pipelines, 4=cycles, 8=forks, 16=joins, 32=hubs. Default 63 (all on). Pass 0 to hide all.",
        +  "type": "string"
        +}
  8. 1 tool update
    • Changedrender1 field changed
      • removedInput schema / properties / show_locations
        Removed value: -{
        -  "description": "Show location zones from at: clauses. Default true",
        -  "type": "string"
        -}
  9. 1 tool update
    • Changedrender2 fields changed
      • addedInput schema / properties / show_locations
        Added value: +{
        +  "description": "Show location zones from at: clauses. Default true",
        +  "type": "string"
        +}
      • addedInput schema / properties / show_regions
        Added value: +{
        +  "description": "Show structural regions like fork, pipeline, join. Default true",
        +  "type": "string"
        +}
  10. 1 tool update
    • Changedrender1 field changed
      • addedInput schema / properties / view
        Added value: +{
        +  "description": "View mode: flow (default), actors (swimlane by actor), locations (grouped by context), summary (one node per subsystem)",
        +  "type": "string"
        +}
  11. 1 tool update
    • Changedrender1 field changed
      • addedInput schema / properties / output
        Added value: +{
        +  "description": "File path to save the SVG",
        +  "type": "string"
        +}
  12. 19 tool updates
    • Removedanalyze
    • Removedbetween
    • Removedcategorize
    • Changedcompose4 fields changed
      • changedInput schema / properties / links / description
        Previous value: -"Entity links e.g. 'a.node1=b.node2, a.node3=b.node4'"New value: +"Entity links e.g. 'a.node1=b.node2'"
      • addedInput schema / properties / source
        Added value: +{
        +  "description": "EN source code for extract mode",
        +  "type": "string"
        +}
      • addedInput schema / properties / subsystem
        Added value: +{
        +  "description": "Subsystem name for extract mode",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "source_a",
        -  "source_b",
        -  "links"
        -]New value: +[]
    • Removedconserve
    • Removeddetail
    • Removeddiff
    • Removeddistance
    • Addedequivalent
    • Removedevolve
    • Removedextract
    • Removedimpact
    • Addedinvariant
    • Addedlive
    • Removedlocality
    • Addedreachable
    • Removedresponsibility
    • Addedstructure
    • Removedtrace
  13. 2 tool updates
    • Addedlocality
    • Addedresponsibility

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    AI-native architecture diagramming for MCP clients (Claude Code, Cursor, Windsurf). The calling agent authors the graph (nodes, groups, edges); Flowgraf validates it, lays it out deterministically with ELK, renders an SVG + Mermaid, and returns a link to a live, editable canvas you can refine by chat, drag, or one-click AI design review. Agent-authored ops — no API key and no LLM cost to the calle
    3
    36 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    The diagram-quality layer for AI agents — an opinionated Excalidraw methodology (isomorphism test, evidence artifacts, multi-zoom, container discipline) plus a render-view-fix loop. Accepts skeleton and Mermaid input, 5 publishable themes, dual Node/Python renderer. Proven on a 77-diagram published book.
    4
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Deterministic AI safety policy engine with Z3 formal verification. Write, verify, simulate, and enforce machine-verifiable safety constraints for AI agents. Completely outside the LLM.
    6
    22 PyPI
    17
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.