Structural analysis powered by deterministic graph algorithms.
@endiagram/mcp
MCP server for EN Diagram — structural analysis powered by deterministic graph algorithms.
Write your system in plain text. Get back structural facts: bottlenecks, blast radius, flow landmarks, concurrency groups, and more. No AI inside the computation — every result is deterministic.
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
| Tool | Description |
|---|---|
analyze_system |
Structural signal — computes topology, roles, antipatterns from EN source |
render |
Render a dependency graph as publication-quality SVG |
detail |
Deep structural analysis — concurrency, flow landmarks, resilience, dominator tree, min-cuts |
distance |
Shortest path between two nodes with subsystem crossing annotations |
diff |
Structural diff between two systems — topology, role, and subsystem changes |
trace |
Follow directed flow from node A to node B with role and subsystem annotations |
extract |
Extract a named subsystem as standalone EN source code |
impact |
Blast radius — remove a node and see what disconnects |
evolve |
Dry-run architectural changes — apply a patch and see the structural delta |
between |
Betweenness centrality — what fraction of all shortest paths flow through a node |
categorize |
Auto-discover subsystem boundaries from dependency structure |
compose |
Merge two EN graphs into one with entity linking |
EN Syntax
Customer do: place order needs: menu yields: order
Kitchen do: prepare food needs: order yields: meal
Waiter do: deliver needs: meal yields: served customer
Learn more at endiagram.com.
License
MIT
Tools (12)
analyze_systemComputes topology, roles, and antipatterns from EN source.renderRender a dependency graph as publication-quality SVG.detailDeep structural analysis including concurrency, flow landmarks, resilience, and dominator tree.distanceShortest path between two nodes with subsystem crossing annotations.diffStructural diff between two systems including topology, role, and subsystem changes.traceFollow directed flow from node A to node B with role and subsystem annotations.extractExtract a named subsystem as standalone EN source code.impactBlast radius analysis to see what disconnects if a node is removed.evolveDry-run architectural changes by applying a patch and seeing the structural delta.betweenCalculates betweenness centrality for nodes.categorizeAuto-discover subsystem boundaries from dependency structure.composeMerge two EN graphs into one with entity linking.Environment Variables
EN_API_URLAPI endpoint for the EN Diagram serviceConfiguration
{"mcpServers": {"endiagram": {"command": "npx", "args": ["@endiagram/mcp"]}}}