endiagram
It has been replaced by endiagram-mcp
Server Details
12 deterministic graph-theory tools for structural analysis. Describe systems in EN syntax — get topology, bottlenecks, blast radius, critical paths. No AI inside the computation.
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
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: compose merges/extracts systems, equivalent compares/replays changes, invariant finds automatic properties, live checks deadlock/boundedness, reachable tests connectivity, render visualizes, structure analyzes topology. No overlap.
All tool names are single, lowercase verbs (compose, equivalent, invariant, live, reachable, render, structure), forming a consistent and predictable pattern.
7 tools cover the major analysis dimensions of system modeling (composition, comparison, invariants, liveness, reachability, visualization, structure) without being overly numerous or sparse.
The tool set provides comprehensive analytical coverage: structural analysis, branching/composition, behavioral checks (invariants, liveness, reachability), change comparison, and visualization. No obvious gaps for its domain.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
render1 field changed- changed
Input schema / properties / theme / descriptionPrevious 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."
5 tool updates
- Changed
compose2 fields changed- changed
Input schema / properties / links / descriptionPrevious 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`." - changed
Input schema / properties / subsystem / descriptionPrevious 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."
- Changed
equivalent1 field changed- changed
Input schema / properties / patch / descriptionPrevious 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."
- Changed
invariant1 field changed- changed
Input schema / properties / rules / descriptionPrevious 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."
- Changed
render1 field changed- changed
Input schema / properties / theme / descriptionPrevious 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."
- Changed
structure2 fields changed- changed
Input schema / properties / detect_findings / descriptionPrevious 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." - changed
Input schema / properties / node / descriptionPrevious 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."
1 tool update
- Changed
render1 field changed- changed
Input schema / properties / type / descriptionPrevious 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."
1 tool update
- Changed
render6 fields changed- added
Input schema / properties / directionAdded value: +{ + "description": "Layout direction: LR (left-to-right) or TB (top-to-bottom). Default auto-detects from condensation DAG aspect ratio.", + "type": "string" +} - added
Input schema / properties / isDarkAdded 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" +} - changed
Input schema / properties / output / descriptionPrevious value: -"File path to save the SVG"New value: +"File path to save the rendered image" - changed
Input schema / properties / structure_layers / descriptionPrevious 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." - changed
Input schema / properties / theme / descriptionPrevious value: -"Color theme: dark or light"New value: +"Color theme: named preset (Blueprint, Swiss, etc.) or dark/light" - added
Input schema / properties / typeAdded value: +{ + "description": "Output format: svg (default) or png. PNG is rasterized server-side via Batik.", + "type": "string" +}
1 tool update
- Changed
render1 field changed- added
Input schema / properties / colorAdded value: +{ + "description": "Seed color hex (#RRGGBB) to generate a custom theme. Overrides theme parameter. One color generates the entire palette.", + "type": "string" +}
6 tool updates
- Changed
compose2 fields changed- changed
Input schema / properties / source_a / descriptionPrevious value: -"EN source code for the first system"New value: +"EN source code or path to .en/.txt file for the first system" - changed
Input schema / properties / source_b / descriptionPrevious value: -"EN source code for the second system"New value: +"EN source code or path to .en/.txt file for the second system"
- Changed
equivalent2 fields changed- changed
Input schema / properties / source_a / descriptionPrevious value: -"EN source code for the first system"New value: +"EN source code or path to .en/.txt file for the first system" - changed
Input schema / properties / source_b / descriptionPrevious value: -"EN source code for the second system"New value: +"EN source code or path to .en/.txt file for the second system"
- Changed
invariant1 field changed- changed
Input schema / properties / source / descriptionPrevious value: -"EN source code describing the system"New value: +"EN source code, or path to .en/.txt file"
- Changed
live1 field changed- changed
Input schema / properties / source / descriptionPrevious value: -"EN source code describing the system"New value: +"EN source code, or path to .en/.txt file"
- Changed
render2 fields changed- changed
Input schema / properties / source / descriptionPrevious value: -"EN source code describing the system"New value: +"EN source code, or path to .en/.txt file" - changed
Input schema / properties / view / descriptionPrevious 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."
- Changed
structure1 field changed- changed
Input schema / properties / source / descriptionPrevious value: -"EN source code describing the system"New value: +"EN source code, or path to .en/.txt file"
1 tool update
- Changed
render2 fields changed- removed
Input schema / properties / show_regionsRemoved value: -{ - "description": "Show structural regions like fork, pipeline, join. Default true", - "type": "string" -} - added
Input schema / properties / structure_layersAdded 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" +}
1 tool update
- Changed
render1 field changed- removed
Input schema / properties / show_locationsRemoved value: -{ - "description": "Show location zones from at: clauses. Default true", - "type": "string" -}
1 tool update
- Changed
render2 fields changed- added
Input schema / properties / show_locationsAdded value: +{ + "description": "Show location zones from at: clauses. Default true", + "type": "string" +} - added
Input schema / properties / show_regionsAdded value: +{ + "description": "Show structural regions like fork, pipeline, join. Default true", + "type": "string" +}
1 tool update
- Changed
render1 field changed- added
Input schema / properties / viewAdded value: +{ + "description": "View mode: flow (default), actors (swimlane by actor), locations (grouped by context), summary (one node per subsystem)", + "type": "string" +}
1 tool update
- Changed
render1 field changed- added
Input schema / properties / outputAdded value: +{ + "description": "File path to save the SVG", + "type": "string" +}
19 tool updates
- Removed
analyze - Removed
between - Removed
categorize - Changed
compose4 fields changed- changed
Input schema / properties / links / descriptionPrevious value: -"Entity links e.g. 'a.node1=b.node2, a.node3=b.node4'"New value: +"Entity links e.g. 'a.node1=b.node2'" - added
Input schema / properties / sourceAdded value: +{ + "description": "EN source code for extract mode", + "type": "string" +} - added
Input schema / properties / subsystemAdded value: +{ + "description": "Subsystem name for extract mode", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "source_a", - "source_b", - "links" -]New value: +[]
- Removed
conserve - Removed
detail - Removed
diff - Removed
distance - Added
equivalent - Removed
evolve - Removed
extract - Removed
impact - Added
invariant - Added
live - Removed
locality - Added
reachable - Removed
responsibility - Added
structure - Removed
trace
2 tool updates
- Added
locality - Added
responsibility
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.169 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm49 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.