Skip to main content
Glama

@endiagram/mcp

EN Diagram 用のMCPサーバー — グラフ理論に基づく決定論的な構造解析ツールです。すべての結果は、名前付きの数学的定理によって裏付けられています。計算にAIは一切使用していません。

インストール

直接実行:

npx @endiagram/mcp

またはグローバルにインストール:

npm install -g @endiagram/mcp

接続

Claude Code

claude mcp add endiagram npx @endiagram/mcp

Claude Desktop

claude_desktop_config.json に追加:

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

Cursor

プロジェクトルートの .cursor/mcp.json に追加:

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

HTTP (インストール不要)

HTTPトランスポートをサポートする任意のMCPクライアント:

https://api.endiagram.com/mcp

Smithery

smithery mcp add dushyant30suthar/endiagram

環境変数

変数

デフォルト

説明

EN_API_URL

https://api.endiagram.com

EN DiagramサービスのAPIエンドポイント

ツール

システムに関する6つの質問と、レンダリングツールを提供します。すべてのツールは source(ENコードまたは .en/.txt ファイルパス)を受け取ります。ツール名は仕様ではなく省略形です。呼び出す前に各説明を読んでください。composeequivalent はモードベースであり、汎用的な解析ツールではありません。

ツール

回答内容

レバー

structure

システムの形状、ステージ、ブリッジ、サイクル、クリティカルパス、ドミネーターツリー、最小カット、サブシステム、アクター、場所。

detect_findings=true はリスク(unguarded-sink, single-cut-path, multi-cut-path)をフラグ立てします。node=X はノードごとの中心性(媒介中心性、近接中心性、固有ベクトル中心性)を返します。

invariant

常に真であることは何か?保存則、T-不変量(持続可能なサイクル)、枯渇可能なセット、欠損、可逆性。

rules(1行に1つ)でカスタムの主張をチェックします。4つの形状をサポート:no bridge that is also hub · every path from X to Y passes through at least one of [A,B,C](優先順位) · no node with centrality above N · removing any single node disconnects at most N others

live

デッドロックの可能性は?エンティティのオーバーフローは?サイフォン、トラップ、非有界サイクル、構造的なライブネスと有界性。

reachable

XはYに到達可能か?パス、距離、境界の横断。from/to はエンティティ名またはアクション名を受け付けます。

defense_nodes=a,b,c はガードがすべてのパスをカバーしているかをチェックします。

equivalent

2つのシステムは同一か、あるいは変更によって何が変わるか?

比較モード(source_a+source_b):編集距離 + スペクトル共スペクトル性。進化モード(source+patch):プレーンなENの追加;- name は削除;同じ名前は置換。

compose

パーツの結合(マージ)や単独での抽出はどう行うか?

マージ:source_a+source_b+links(1行ごとに a.entity=b.entity)。抽出:source+subsystem(名前は structure.subsystems から取得)。

render

SVGまたはPNG図。ユーザーが可視化を求めた場合のみ呼び出してください。

テーマ:Editorial, Primer, Carbon(それぞれ ± isDark)または color=#RRGGBB から派生したシード。structure_layers ビットマスク(1=サブシステム, 2=パイプライン, 4=サイクル, 8=フォーク, 16=ジョイン, 32=ハブ, 64=デッドロック, 128=オーバーフロー)。

EN構文

1行につき1ステートメント:

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

yields と needs の間で名前を共有すると、自動的に接続が作成されます:

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

モデリング

同じ名前は同じものを指します。必要な入力はすべて1つの needs: リストに記述してください(AND)。2つのアクションに同じ yield 名を与えると代替案を提供できます(OR)。シーケンス = あるアクションが他のアクションの yield を消費すること。ステートフルなリソースは再 yield して永続化させます。一度限りのデータは消費されたままになります。実際の原子的な粒度でモデル化してください。個別にアクセスできる可能性がある場合にのみ分割します。

詳細は endiagram.com を参照してください。

テレメトリ

@endiagram/mcp は初回実行時にランダムなインストールIDを生成し、~/.endiagram/install-id(モード 0600)に保存します。これは、IPアドレスのみでは追跡できない問題(モバイルネットワーク、VPN、CGNATなどによるIPの変動)をデバッグするために、リクエストごとに X-Endiagram-Install-Id HTTPヘッダーとして送信されます。

ソースコード、ファイルパス、環境変数、個人情報(PII)は一切送信されません。 インストールIDは、ローカルで生成されたランダムな不透明なUUIDv4です。

初回実行時の通知は stderr に出力されます(stdoutには出力されません。stdoutはMCP JSON-RPCチャネルです)。この通知には開示情報とオプトアウト手順が含まれます。通知はインストールごとに1回のみ表示されます。

オプトアウト

以下の3つの方法のいずれかでインストールIDを無効化できます:

  1. 環境変数 ENDIAGRAM_TELEMETRY=off を設定する(0, false, no も可)。

  2. ~/.endiagram/telemetry というファイルを作成し、中に off と記述する。

  3. ~/.endiagram/install-id を削除する。(オプション1または2が設定されていない限り、次回の実行時に新しいIDが生成されます。)

これらが有効な場合、X-Endiagram-Install-Id ヘッダーは一切送信されません。サーバーはIPごとのHMAC cid にフォールバックし、短期的なセッションごとの追跡を行います。

プライバシーポリシー全文: endiagram.com/privacy

ライセンス

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