endiagram-mcp — Claude Code MCP server: what it does, how to install
Runs structural checks on concurrent systems using graph theory, catching deadlocks, cycles and failure points without an LLM doing the math.
claude mcp add --transport http endiagram-mcp https://api.endiagram.com/mcpWhat endiagram-mcp does
The server reads a system description written in the EN language (lines like actor do: action needs: ... yields: ...) and exposes six analysis tools plus a diagram renderer. structure maps shape, stages, bridges, cycles, the critical path, dominator tree and min-cuts; invariant checks conservation laws and custom rules such as "no bridge that is also a hub"; live looks for deadlocks and overflow conditions; reachable tests whether one node can reach another and whether defense nodes cover every path; equivalent compares two systems or evaluates a proposed patch; compose merges subsystems together or extracts one out.
Every answer traces back to a named theorem rather than a model guess, which is the whole premise of the tool. The six tools are not interchangeable analyzers though: compose and equivalent each run in distinct modes (merge/extract, compare/evolve), so reading a tool's description before calling it matters more than guessing from its name.
On first run the server generates a random install ID and attaches it as an X-Endiagram-Install-Id header on requests, used only to correlate calls from the same install. Source code, file paths and environment variables are never sent. Setting ENDIAGRAM_TELEMETRY=off, writing off into ~/.endiagram/telemetry, or deleting ~/.endiagram/install-id turns this off.
What it helps with
- catch deadlocks and overflow conditions in a concurrent system before they ship
- verify that every path between two nodes is covered by a defense node
- diff two system versions or check what a patch changes without tracing the graph by hand
- pull a subsystem out of a larger model or merge separate systems through shared links
- render an SVG or PNG diagram highlighting cycles, hubs and deadlock points
Example prompts for the agent
- Model a kitchen order flow in EN and run it through structure to find the critical path
- Check with invariant that no node exceeds a given centrality threshold
- Compare source_a against source_b with equivalent in compare mode and show how different they are
How to install endiagram-mcp
1Platform CLI: remote server
claude mcp add --transport http endiagram-mcp https://api.endiagram.com/mcp2Platform CLI
claude mcp add endiagram-mcp -- npx -y @endiagram/mcp1Platform CLI: remote server
codex mcp add endiagram-mcp --url https://api.endiagram.com/mcp2Platform CLI
codex mcp add endiagram-mcp -- npx -y @endiagram/mcpConfig file
{
"mcpServers": {
"endiagram-mcp": {
"url": "https://api.endiagram.com/mcp"
}
}
}{
"mcpServers": {
"endiagram-mcp": {
"command": "npx",
"args": [
"-y",
"@endiagram/mcp"
]
}
}
}Config file
{
"servers": {
"endiagram-mcp": {
"type": "http",
"url": "https://api.endiagram.com/mcp"
}
}
}{
"servers": {
"endiagram-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@endiagram/mcp"
]
}
}
}1Platform CLI: remote server
gemini mcp add -t http endiagram-mcp https://api.endiagram.com/mcp2Platform CLI
gemini mcp add endiagram-mcp npx -y @endiagram/mcpStep by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about endiagram-mcp
How do I install endiagram-mcp in Claude Code?
Over HTTP: claude mcp add --transport http endiagram-mcp https://api.endiagram.com/mcp. Or run it locally via npx: claude mcp add endiagram-mcp -- npx -y @endiagram/mcp.
What does endiagram-mcp do?
It's an MCP server that runs graph-based structural analysis on systems: deadlocks, cycles, bridges, critical paths, conservation laws and reachability between nodes. Results come from deterministic math, not model inference.
What environment variables does endiagram-mcp support?
EN_API_URL points at the EN Diagram API endpoint, defaulting to https://api.endiagram.com. ENDIAGRAM_TELEMETRY=off disables the install ID sent with requests.