Skip to main content
Glama

@endiagram/mcp

MCP-Server für EN Diagram – deterministische Strukturanalyse auf Basis der Graphentheorie. Jedes Ergebnis wird durch ein benanntes mathematisches Theorem gestützt. Keine KI in der Berechnung enthalten.

Installation

Direkt ausführen:

npx @endiagram/mcp

Oder global installieren:

npm install -g @endiagram/mcp

Verbinden

Claude Code

claude mcp add endiagram npx @endiagram/mcp

Claude Desktop

Fügen Sie dies zu Ihrer claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "endiagram": {
      "command": "npx",
      "args": ["@endiagram/mcp"]
    }
  }
}

Cursor

Fügen Sie dies zu .cursor/mcp.json in Ihrem Projektstammverzeichnis hinzu:

{
  "mcpServers": {
    "endiagram": {
      "command": "npx",
      "args": ["@endiagram/mcp"]
    }
  }
}

HTTP (keine Installation)

Jeder MCP-Client, der HTTP-Transport unterstützt:

https://api.endiagram.com/mcp

Smithery

smithery mcp add dushyant30suthar/endiagram

Umgebungsvariablen

Variable

Standard

Beschreibung

EN_API_URL

https://api.endiagram.com

API-Endpunkt für den EN Diagram-Dienst

Werkzeuge

Sechs Fragen zu jedem System sowie ein Rendering-Werkzeug. Jedes Werkzeug akzeptiert source (EN-Code oder .en/.txt-Dateipfad). Werkzeugnamen sind Kurzformen, keine Spezifikationen – lesen Sie jede Beschreibung vor dem Aufruf; compose und equivalent sind modusbasiert, keine allgemeinen Analysetools.

Werkzeug

Was es beantwortet

Hebel

structure

Was ist dieses System? Form, Phasen, Brücken, Zyklen, kritischer Pfad, Dominator-Baum, Min-Cuts, Subsysteme, Akteure, Standorte.

detect_findings=true markiert Risiken (unguarded-sink, single-cut-path, multi-cut-path); node=X gibt die Zentralität pro Knoten zurück (Betweenness, Closeness, Eigenvektor).

invariant

Was ist immer wahr? Erhaltungssätze, T-Invarianten (nachhaltige Zyklen), erschöpfbare Mengen, Defizienz, Reversibilität.

rules (eine pro Zeile) prüft benutzerdefinierte Behauptungen. Vier unterstützte Formen: no bridge that is also hub · every path from X to Y passes through at least one of [A,B,C] (Präzedenz) · no node with centrality above N · removing any single node disconnects at most N others.

live

Kann es zu einem Deadlock kommen? Können Entitäten überlaufen? Siphons, Fallen, unbeschränkte Zyklen, strukturelle Lebendigkeit und Beschränktheit.

reachable

Kann X Y erreichen? Pfad, Distanz, Grenzüberschreitungen. from/to akzeptieren Entitäts- oder Aktionsnamen.

defense_nodes=a,b,c prüft, ob Schutzmaßnahmen jeden Pfad abdecken.

equivalent

Sind zwei Systeme identisch, oder was ändert sich, wenn ich dieses ändere?

Vergleichsmodus (source_a+source_b): Editierdistanz + spektrale Kospektralität. Evolutionsmodus (source+patch): einfaches EN fügt hinzu; - name entfernt; gleicher Name ersetzt.

compose

Wie werden Teile kombiniert (zusammenführen) oder wie steht ein Teil für sich allein (extrahieren)?

Zusammenführen: source_a+source_b+links (a.entity=b.entity pro Zeile). Extrahieren: source+subsystem (Namen stammen aus structure.subsystems).

render

SVG- oder PNG-Diagramm. Nur aufrufen, wenn der Benutzer eine Visualisierung anfordert.

Themen: Editorial, Primer, Carbon (jeweils ± isDark) oder von color=#RRGGBB abgeleitet. structure_layers Bitmaske (1=Subsysteme, 2=Pipelines, 4=Zyklen, 8=Forks, 16=Joins, 32=Hubs, 64=Deadlock, 128=Überlauf).

EN-Syntax

Eine Anweisung pro Zeile:

actor do: action needs: input1, input2 yields: output1, output2

Gemeinsame Namen zwischen yields und needs erzeugen automatisch Verbindungen:

customer do: place order needs: menu yields: order
kitchen do: prepare food needs: order yields: meal
waiter do: deliver needs: meal yields: served customer

Modellierung

Gleicher Name = gleiche Sache. Setzen Sie alle erforderlichen Eingaben in eine needs:-Liste (UND). Geben Sie zwei Aktionen denselben Yield-Namen, um Alternativen anzubieten (ODER). Sequenz = eine Aktion verbraucht den Yield einer anderen. Geben Sie zustandsbehaftete Ressourcen erneut aus (re-yield), um sie persistent zu halten; einmalige Daten bleiben verbraucht. Modellieren Sie in der tatsächlichen atomaren Granularität – teilen Sie nur dann auf, wenn auf die Teile unabhängig zugegriffen werden könnte.

Erfahren Sie mehr unter endiagram.com.

Telemetrie

@endiagram/mcp generiert beim ersten Start eine zufällige Installations-ID, die unter ~/.endiagram/install-id (Modus 0600) gespeichert wird. Sie wird bei jeder Anfrage als HTTP-Header X-Endiagram-Install-Id gesendet, damit wir Anfragen von derselben Installation korrelieren können, um Probleme zu debuggen, die das Signal pro IP allein nicht verfolgen kann (Mobilfunknetze, VPNs, CGNAT lassen IPs kollabieren oder wechseln).

Es werden kein Quellcode, keine Dateipfade, keine Umgebungsvariablen und keine personenbezogenen Daten gesendet. Die Installations-ID ist eine zufällige, lokal generierte, undurchsichtige UUIDv4.

Ein Hinweis beim ersten Start wird an stderr ausgegeben (niemals stdout – stdout ist der MCP JSON-RPC-Kanal), zusammen mit der Offenlegung und den Anweisungen zum Opt-out. Der Hinweis erscheint einmal pro Installation und danach nie wieder.

Opt-out

Jede dieser drei Methoden deaktiviert die Installations-ID:

  1. Setzen Sie ENDIAGRAM_TELEMETRY=off als Umgebungsvariable (akzeptiert auch 0, false, no).

  2. Erstellen Sie eine Datei unter ~/.endiagram/telemetry, die das Wort off enthält.

  3. Löschen Sie ~/.endiagram/install-id. (Eine neue wird beim nächsten Start generiert, sofern nicht Option 1 oder 2 ebenfalls gesetzt ist.)

Wenn eine dieser Methoden aktiv ist, wird der X-Endiagram-Install-Id-Header überhaupt nicht gesendet – der Server greift auf seine HMAC-cid pro IP zur Korrelation zurück, was für kurzfristige Trace-Vorgänge pro Sitzung gut funktioniert.

Vollständige Datenschutzrichtlinie: endiagram.com/privacy

Lizenz

MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dushyant30suthar/endiagram-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server