mcpField
E
endiagram-mcp

endiagram-mcp

リモート
github.com/dushyant30suthar開発ツール827 週間前に更新
リポジトリ

endiagram-mcp について

endiagram-mcp は EN で記述した並行システムを、グラフ理論で決定論的に分析する MCP サーバーです。システムのモデリングと検証に向けたもので、計算に AI は使わず、結果は名称付きの数学定理に基づきます。

主な機能

  1. 01構造とクリティカルパスの分析
  2. 02不変条件と活性の検査
  3. 03エンティティ間の到達可能性の確認
  4. 04システムモデルの比較・進化
  5. 05サブシステムの統合・抽出
  6. 06SVG・PNG 図の生成

活用シーン

  1. 01並行システムのデッドロックリスク特定
  2. 02エンティティ間の経路とガードの検証
  3. 03モデル変更前後の構造比較
  4. 04システム図の生成

MCP 対応

構造分析、検証、比較、合成、図の描画を行うツールを MCP クライアントに提供します。stdio で起動でき、HTTP トランスポートのエンドポイントもあります。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://api.endiagram.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npm@endiagram/mcp0.3.16

ツール

7
パラメーター型必須説明
nodestringいいえノード名。指定すると、概要ではなく、この特定のノードの中心性指標(媒介中心性、近接中心性、固有ベクトル中心性)を返します。
sourcestringはいEN ソースコード、または .en/.txt ファイルへのパス
detect_findingsstringいいえ'true' に設定すると、名前付きの構造上の検出項目をマークします。指定可能な値:unguarded-sink、single-cut-path、multi-cut-path。

詳細

@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_URLhttps://api.endiagram.comEN Diagram サービスの API エンドポイント

ツール

あらゆるシステムに関する 6 つの問いに答えるツールと、レンダリング用ツールがあります。各ツールは source(EN コード、または .en/.txt ファイルのパス)を受け取ります。ツール名は仕様ではなく、簡略表記です。呼び出す前に各説明を読んでください。compose と equivalent はモードベースであり、汎用アナライザーではありません。

ツール回答する問い調整項目
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デッドロックが発生する可能性はありますか?エンティティがあふれる可能性はありますか?サイフォン、トラップ、非有界サイクル、構造的活性、制限有界性。—
reachableX から Y に到達できますか?経路、距離、境界の通過を確認します。from/to にはエンティティ名またはアクション名を指定できます。defense_nodes=a,b,c は、すべての経路がガードで保護されているかを確認します。
equivalent2 つのシステムは同じですか?または、こちらを変更すると何が変わりますか?比較モード(source_a+source_b):編集距離とスペクトル共スペクトル性を確認します。発展モード(source+patch):通常の EN を追加します。- name は削除し、同名の項目は置き換えます。
compose部分をどのように組み合わせる(マージする)か、または部分を単独でどのように取り出す(抽出する)かを確認します。マージ:source_a+source_b+links(1 行ごとに a.entity=b.entity)。抽出:source+subsystem(名前は structure.subsystems から取得します)。
renderSVG または 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

yield と 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)。各リクエストで X-Endiagram-Install-Id HTTP ヘッダーとして送信することで、IP アドレスだけでは追跡 できない問題(モバイルネットワーク、VPN、CGNAT では IP アドレスが共有されたり、頻繁に 変わったりします)のデバッグに向けて、同じインストールからのリクエストを関連付けられます。

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

初回起動時には、開示内容とオプトアウトの手順が標準エラー出力に表示されます(標準出力には 表示されません。標準出力は MCP の JSON-RPC チャネルです)。 この通知はインストールごとに一度だけ表示され、その後は表示されません。

オプトアウト

次のいずれかの方法で、インストール 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。