mcpField
E
endiagram-mcp

endiagram-mcp

远程服务
github.com/dushyant30suthar开发工具827 周前更新
代码仓库

关于 endiagram-mcp

endiagram-mcp 是用于 EN Diagram 的 MCP 服务,通过图论对并发系统进行确定性结构分析,面向系统建模与验证场景。计算不使用 AI,每项结果均对应明确的数学定理。

主要功能

  1. 01分析系统结构和关键路径
  2. 02检查不变量与活性
  3. 03查询实体间可达性
  4. 04比较或演化系统模型
  5. 05合并或提取子系统
  6. 06渲染 SVG 或 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 端点

工具

针对任意系统的六个问题,外加一个渲染工具。每个工具都接收 source(EN 代码或 .en/.txt 文件路径)。工具名称只是简写,并非规范说明——调用前请阅读各工具的描述;compose 和 equivalent 基于模式运行,并非通用分析器。

工具回答的问题可调参数
structure这个系统是什么?形状、阶段、桥接点、环路、关键路径、支配树、最小割、子系统、参与者、位置。detect_findings=true 可标记风险(unguarded-sink、single-cut-path、multi-cut-path);node=X 返回各节点的中心性(中介中心性、接近中心性、特征向量中心性)。
invariant哪些性质始终成立?守恒律、T 不变量(可持续环路)、可耗尽集合、亏格、可逆性。rules(每行一条)用于检查自定义断言。支持四种形式: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 用于检查防护节点是否覆盖所有路径。
equivalent两个系统是否相同?或者修改当前系统会带来哪些变化?比较模式(source_a+source_b):编辑距离 + 谱余谱性。演化模式(source+patch):纯 EN 添加;- name 删除;同名替换。
compose各部分如何组合(合并)?或者某个部分如何独立存在(提取)?合并:source_a+source_b+links(每行一个 a.entity=b.entity)。提取:source+subsystem(名称来自 structure.subsystems)。
renderSVG 或 PNG 图表。仅在用户要求可视化时调用。主题:Editorial、Primer、Carbon(各自支持 ± isDark),或根据 color=#RRGGBB 派生种子。structure_layers 位掩码(1=subsystems,2=pipelines,4=cycles,8=forks,16=joins,32=hubs,64=deadlock,128=overflow)。

EN 语法

每行一条语句:

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

产出和需求中的同名项会自动建立连接:

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

建模

同名即同一事物。将所有必需输入放在同一个 needs: 列表中(AND)。让两个动作使用相同的产出名称,即表示替代方案(OR)。序列表示一个动作消耗另一个动作的产出。对有状态资源重新产出,以保持其持续存在;一次性数据则会被消耗。按实际的原子粒度建模——仅当各部分可以独立访问时才拆分。

在 endiagram.com 了解更多。

遥测

@endiagram/mcp 首次运行时会生成一个随机安装 ID,并将其存储在 ~/.endiagram/install-id(模式为 0600)。每次请求都会通过 X-Endiagram-Install-Id HTTP 标头发送该 ID,以便我们关联来自同一安装的请求,排查仅凭每 IP 信号无法追踪的问题(移动网络、VPN 和 CGNAT 都会导致 IP 合并或频繁变化)。

**不会发送源代码、文件路径、环境变量或任何个人身份信息。**安装 ID 是在本地生成的随机、不透明 UUIDv4。

首次运行时,会在 stderr 中显示一条通知(绝不会输出到 stdout——stdout 是 MCP JSON-RPC 通道),其中包含相关说明和退出方法。该通知每次安装只显示一次,不会再次显示。

退出遥测

以下三种方法均可停用安装 ID:

  1. 将 ENDIAGRAM_TELEMETRY=off 设置为环境变量(也接受 0、false、no)。
  2. 在 ~/.endiagram/telemetry 创建一个文件,并在其中写入单词 off。
  3. 删除 ~/.endiagram/install-id。(下次运行时会生成一个新的,除非同时启用了方法 1 或 2。)

启用上述任一方法后,将完全不发送 X-Endiagram-Install-Id 标头——服务会改用按 IP 生成的 HMAC cid 进行关联,这对于短期的会话跟踪完全够用。

完整隐私政策:endiagram.com/privacy

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。