Endiagram MCP logo

Endiagram MCP

by endiagram

Analyzes EN syntax as deterministic graphs for topology, risks, paths, changes, composition, and rendered diagrams.

Install Endiagram MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "endiagram-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@endiagram/mcp"
      ],
      "env": {
        "EN_API_URL": "YOUR_VALUE_HERE",
        "ENDIAGRAM_TELEMETRY": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Automated check passed— started and listed 7 tools correctly (22d ago).

Overview

endiagram/mcp MCP server exposes EN Diagram's deterministic graph analysis through MCP tools. It accepts EN syntax or .en/.txt file paths, then calculates structure, invariants, reachability, liveness, equivalence, composition, and renders. Run it locally with npx or connect through the documented HTTP endpoint. Reach for it when an agent needs repeatable structural analysis without AI in the computation.

Use cases

  • Analyze system topology and structural risks
  • Check whether guards cover every path
  • Compare two EN system descriptions
  • Render an EN model as SVG or PNG

Key features

  • Deterministic graph analysis
  • Topology and centrality inspection
  • Invariant and reachability checks
  • Liveness and boundedness analysis
  • System comparison and composition
  • SVG and PNG rendering

Tools7

What Endiagram MCP lets your agent do. Expand a tool for its parameters.

Verified live~2.3k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

7/7 checks healthy over the last 48d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 9d ago via OSV.dev · @endiagram/mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars8Stargazers on the source repository.
npm downloads1.2kPackage downloads in the last 30 days.
Last commit6mo agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed7Callable tools this server registers over MCP.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How Endiagram MCP works

What endiagram/mcp does

endiagram/mcp MCP server connects MCP clients to EN Diagram, where systems are represented as line-based descriptions of actors, actions, inputs, and outputs. Shared names between an action's needs: and another action's yields: create graph connections.

The server belongs in the Developer Tools category and is useful when an agent needs to inspect system structure, test graph properties, compare revisions, or produce a diagram. It can identify stages, bridges, cycles, critical paths, dominators, minimum cuts, subsystems, actors, and locations. Risk detection can flag unguarded sinks, single-cut paths, and multi-cut paths.

How it works

Each tool accepts source, which can contain EN code or point to an .en or .txt file. A basic statement follows the pattern actor do: action needs: input1, input2 yields: output1, output2. Multiple names in needs: are required together, while repeated yield names can represent alternatives. Stateful resources can be yielded again so they remain available; one-shot data is consumed.

The analysis tools cover distinct questions. structure describes graph shape and can return node centrality. invariant checks built-in properties or supported custom rules. live examines deadlocks, overflow, siphons, traps, unbounded cycles, liveness, and boundedness. reachable checks paths between entities or actions and can test whether defense nodes cover every path.

equivalent has separate comparison and evolution modes. Comparison uses two sources to calculate edit distance and spectral cospectrality. Evolution applies additions, removals, and same-name replacements from a plain-EN patch. compose either merges two sources using explicit entity links or extracts a named subsystem. render produces SVG or PNG output.

Setup and configuration

Run endiagram/mcp MCP server directly with npx @endiagram/mcp, or install it globally with npm install -g @endiagram/mcp. Claude Code can register it with claude mcp add endiagram npx @endiagram/mcp. Claude Desktop and Cursor use an MCP configuration entry whose command is npx and whose argument is @endiagram/mcp.

An HTTP transport is also available at https://api.endiagram.com/mcp for clients that support HTTP. The EN_API_URL environment variable changes the API endpoint and defaults to https://api.endiagram.com.

The package creates a random install identifier at ~/.endiagram/install-id on first run. Set ENDIAGRAM_TELEMETRY=off, 0, false, or no to disable the install identifier. A first-run notice is written to stderr, leaving stdout available for MCP JSON-RPC traffic.

Tools and capabilities

  • structure: inspect topology, subsystems, paths, cuts, cycles, and centrality.
  • invariant: evaluate supported custom rules, including path precedence, centrality limits, bridge-and-hub exclusions, and single-node disconnection limits.
  • live: inspect deadlocks, overflow, siphons, traps, and related structural properties.
  • reachable: calculate paths, distances, boundary crossings, and defense coverage.
  • equivalent: compare systems or apply a described evolution patch.
  • compose: merge systems or extract a subsystem.
  • render: create SVG or PNG diagrams using named themes, a seed color, and selectable structure layers.

For rendering, available themes are Editorial, Primer, and Carbon, each with an optional dark setting. The structure_layers bitmask selects elements such as subsystems, pipelines, cycles, forks, joins, hubs, deadlocks, and overflow.

Limitations and notes

endiagram/mcp MCP server uses the EN model supplied by the caller, so meaningful results depend on names, inputs, outputs, and action granularity being represented accurately. The README advises splitting actions only when their parts could be accessed independently. Tool names are shorthand rather than complete specifications; callers should read each tool description, especially because compose and equivalent use modes.

Custom invariant checking supports four documented rule shapes only. Rendering should be requested when a visualization is needed rather than used as a general analysis operation. The local command requires Node package execution through npx or a global installation, while HTTP use requires an MCP client with HTTP transport support.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Endiagram MCP

endiagram/mcp is an MCP server that connects AI clients to EN Diagram for deterministic analysis of EN syntax system descriptions. Its main tools inspect structure, invariants, liveness, reachability, equivalence, composition, and rendering, using graph-based computation rather than AI inside the analysis.

Install it by running `npx @endiagram/mcp`, or use `npm install -g @endiagram/mcp` for a global installation. You can also connect an HTTP-capable MCP client to `https://api.endiagram.com/mcp` without a local install.

Yes, endiagram/mcp works with Cursor through a `.cursor/mcp.json` project configuration. Define an MCP server named `endiagram` with `npx` as the command and `@endiagram/mcp` as its argument.

Set `ENDIAGRAM_TELEMETRY=off`, `0`, `false`, or `no` to disable the install identifier. You can also create `~/.endiagram/telemetry` containing `off`, or delete the identifier file while using one of the persistent opt-out methods.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewEndiagram MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/endiagram-mcp?style=directory)](https://allmcps.com/mcp/endiagram-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/endiagram-mcp"><img src="https://allmcps.com/api/badge/endiagram-mcp?style=directory" alt="Endiagram MCP on AllMCPs" /></a>