
Endiagram Mcp
Brings deterministic structural analysis of concurrent systems into Claude via seven tools backed by graph theory and Petri net semantics. You hand it EN Diagram source code (a simple text format where actors, actions, and resources connect by name) and ask whether the system can deadlock, whether two systems are equivalent, if paths exist between nodes, what the conservation laws are, or how subsystems compose. Every answer references a named theorem. The `structure` tool maps shape and critical paths, `invariant` checks custom rules like "every path from X to Y passes through a guard", `live` detects siphons and unbounded cycles, and `render` outputs annotated diagrams. Runs via stdio or zero install HTTP transport at api.endiagram.com/mcp. Reach for this when designing workflows, protocols, or pipelines where race conditions and bottlenecks matter more than behavior simulation.
- GitHub stars
- 7
- tools
- 7
- transport
- STDIO, HTTP
- last updated
- Apr 21, 2026
Install
From registry metadata$ npx add-mcp https://api.endiagram.com/mcp --name endiagram-mcpRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http endiagram-mcp https://api.endiagram.com/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 7 toolsVerified live against the running server on Nov 6, 2026.
structureWhat is this system? Returns shape (Pipeline, Fork-Join, DAG, Star, Cycle, Tree, Complete, etc.), stages with roles, bridge nodes, cycles, parallelism, critical path, dominator tree, min-cuts, subsystems, interface nodes, actors (who does what, workload entropy), locations (wh...3 params
What is this system? Returns shape (Pipeline, Fork-Join, DAG, Star, Cycle, Tree, Complete, etc.), stages with roles, bridge nodes, cycles, parallelism, critical path, dominator tree, min-cuts, subsystems, interface nodes, actors (who does what, workload entropy), locations (wh...
detect_findingsstringnodestringsource*stringinvariantWhat's always true — automatic findings and on-demand checks. Automatic outputs: conservationLaws (weighted entity sums constant across executions), sustainableCycles (T-invariants — action sequences returning to start state), depletableSets (entity groups whose simultaneous d...2 params
What's always true — automatic findings and on-demand checks. Automatic outputs: conservationLaws (weighted entity sums constant across executions), sustainableCycles (T-invariants — action sequences returning to start state), depletableSets (entity groups whose simultaneous d...
rulesstringsource*stringliveCan it deadlock? Can entities overflow? isStructurallyLive means every siphon contains a trap — no structural deadlock possible. uncoveredSiphons are entity groups that can drain permanently, with the actors and locations affected. isStructurallyBounded means no entity can acc...1 params
Can it deadlock? Can entities overflow? isStructurallyLive means every siphon contains a trap — no structural deadlock possible. uncoveredSiphons are entity groups that can drain permanently, with the actors and locations affected. isStructurallyBounded means no entity can acc...
source*stringreachableCan X reach Y? Follows directed data flow first; falls back to undirected. `from` and `to` accept entity names or action names (resolved against the program). Path shows each step with actor and location. locationCrossings counts boundary transitions. defense_nodes checks if g...4 params
Can X reach Y? Follows directed data flow first; falls back to undirected. `from` and `to` accept entity names or action names (resolved against the program). Path shows each step with actor and location. locationCrossings counts boundary transitions. defense_nodes checks if g...
defense_nodesstringfrom*stringsource*stringto*stringequivalentAre two systems the same, or what changes if I change this one? Compare mode (source_a + source_b): structural differences, edit distance, spectral equivalence. isCospectral=true means identical graph structure up to relabeling — topologically the same despite different names,...4 params
Are two systems the same, or what changes if I change this one? Compare mode (source_a + source_b): structural differences, edit distance, spectral equivalence. isCospectral=true means identical graph structure up to relabeling — topologically the same despite different names,...
patchstringsourcestringsource_astringsource_bstringcomposeHow do parts combine, or how does a part stand alone? Merge mode (source_a + source_b + links): declare which entities in A are the same as entities in B; the combined graph is wired via string-equality of shared names. Extract mode (source + subsystem): pull a named subsystem...5 params
How do parts combine, or how does a part stand alone? Merge mode (source_a + source_b + links): declare which entities in A are the same as entities in B; the combined graph is wired via string-equality of shared names. Extract mode (source + subsystem): pull a named subsystem...
linksstringsourcestringsource_astringsource_bstringsubsystemstringrenderSVG or PNG diagram. Only call when user explicitly asks to visualize. The rendered image is delivered to the user, not injected into the model's context. See the server instructions for EN language syntax.10 params
SVG or PNG diagram. Only call when user explicitly asks to visualize. The rendered image is delivered to the user, not injected into the model's context. See the server instructions for EN language syntax.
colorstringdirectionstringisDarkstringoutputstringqualitystringsource*stringstructure_layersstringthemestringtypestringviewstringSponsors
Readme
@endiagram/mcp
MCP server for EN Diagram — deterministic structural analysis powered by graph theory. Every result is backed by a named mathematical theorem. No AI inside the computation.
Installation
Run directly:
npx @endiagram/mcp
Or install globally:
npm install -g @endiagram/mcp
Connect
Claude Code
claude mcp add endiagram npx @endiagram/mcp
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"endiagram": {
"command": "npx",
"args": ["@endiagram/mcp"]
}
}
}
Cursor
Add to .cursor/mcp.json in your project root:
{
"mcpServers": {
"endiagram": {
"command": "npx",
"args": ["@endiagram/mcp"]
}
}
}
HTTP (zero install)
Any MCP client that supports HTTP transport:
https://api.endiagram.com/mcp
Smithery
smithery mcp add dushyant30suthar/endiagram
Environment Variables
| Variable | Default | Description |
|---|---|---|
EN_API_URL | https://api.endiagram.com | API endpoint for the EN Diagram service |
Tools
Details
- Repository
- github.com/dushyant30suthar/endiagram-mcp
- Category
- Design & Creative
- Package
@endiagram/mcp- Transport
- STDIO, HTTP
- Registry
- MCP registry, active
- Tools verified
- Nov 6, 2026