endiagram/mcp
[](https://glama.ai/mcp/servers/dushyant30suthar/endiagram-mcp) π βοΈ - Structural analysis for any system β 12 deterministic graph tools (topology, bottlenecks, blast radius, trace, diff, centrality) from EN syntax descriptions. No AI inside the computation. Install: `npx @endiagram/mcp`
Install
npx -y @endiagram/mcp
Capabilities
- tools
Server instructions
EN Diagram β structural verification for concurrent systems. Pure math, no AI. ## Syntax One statement per line: actor do: action needs: input1, input2 yields: output1, output2 at: context - All five parts required. - Names span words; whitespace preserved. Quote only if name contains `,`, `:`, or `#`. - Shared names = connections: one action's `yields:` matching another's `needs:` wires them automatically. String equality is the link. IMPORTANT: use natural-language names with spaces (`dln proof 1`), not camelCase, snake_case, or prefixes β transforming the name fragments what should be one entity and the whole analysis will be wasted. - Multi-actor: `a, b do: action needs: X yields: Y` = one joint action. Identical statements merge. - `#` starts a comment. ## Modeling Same name = same thing. Put all required inputs in one `needs:` list (AND). Give two actions the same yield-name to offer alternatives (OR). Sequence = one action consuming another's yield. Re-yield stateful resources to keep them persistent; one-shot data stays consumed. Model at the real atomic granularity β split only when the pieces could be accessed independently. ## Targeted modeling One concern per en session. For broad input, pick one subsystem in the user's own terms (a named module, a specific flow, a file) β not a tool or en concept. Model it, report findings plainly, then offer next areas in the same domain terms. Compose narrow models to build larger systems. ## How to use them Each call's output β node names, structural properties, verdicts β feeds the next call. Read the output; pick the next tool by what was surprising or unverified, not by running through the list. Tool names are shorthand, not specs β read each description before calling; `compose` and `equivalent` are mode-based, not general analyzers. IMPORTANT: chain calls β keep going as long as something's worth following. Don't fire all six on the same `en` either. Speak in the user's domain, not in graph theory. Only call render when the user explicitly asks to visualize.