endiagram-mcp 是为 EN Diagram 提供支持的 MCP 服务器,面向任意系统做确定性的结构分析。其计算由图论驱动,每个结果都对应一个具名数学定理,官方明确说明计算内部不使用 AI。
用途
- 对以 EN 语法描述的系统进行结构分析,关注拓扑、瓶颈、爆炸半径、追踪、差异与中心性等结构性议题。
- 通过 MCP 协议把分析能力接入 MCP 客户端。
主要能力
- 提供六个关于任意系统的问题,另加一个渲染工具。
- 每个工具的输入为 source,即 EN 代码,或 .en / .txt 文件路径。
- 官方提示:工具名称是简写而非规格说明,调用前应阅读每个工具的描述;compose 与 equivalent 是基于模式(mode-based)的工具,并非通用分析器。
EN 语法要点
- 每行一条语句。
- yields 与 needs 之间共享名称会自动建立连接。
- 同名即同一事物。
- 把所有必需输入放在一个 needs: 列表中,表示 AND。
- 让两个动作具有相同的 yield 名称,表示提供备选方案(OR)。
- 序列:一个动作消费另一个动作的产物。
- 对于有状态资源,重新 yield 以保持其持久;一次性数据保持被消费状态。
- 按真实的原子粒度建模——只有当各部分可以被独立访问时才拆分。
使用方式
- 安装:npx @endiagram/mcp
- 也可全局安装。
- 将配置加入 claude_desktop_config.json。
- 将配置加入项目根目录的 .cursor/mcp.json。
- HTTP(零安装):适用于任何支持 HTTP 传输的 MCP 客户端。
隐私与遥测
- @endiagram/mcp 在首次运行时生成随机安装 ID,存储于 ~/.endiagram/install-id(权限 0600)。
- 该 ID 随每个请求以 X-Endiagram-Install-Id HTTP 头发送,用于关联同一安装的请求,以调试仅靠按 IP 信号无法追踪的问题(移动网络、VPN、CGNAT 都会导致 IP 合并或变化)。
- 官方说明不会发送源代码、文件路径、环境变量或 PII;安装 ID 是本地生成的随机不透明 UUIDv4。
- 首次运行会向 stderr(绝不用 stdout——stdout 是 MCP JSON-RPC 通道)打印一次通知,包含披露与退出说明;每个安装只触发一次。
- 三种方式可禁用安装 ID:设置环境变量 ENDIAGRAM_TELEMETRY=off(也接受 0、false、no);创建 ~/.endiagram/telemetry 文件并写入 off;删除 ~/.endiagram/install-id(除非同时设置了前两种方式,否则下次运行会生成新的)。
- 当任一方式生效时,完全不发送 X-Endiagram-Install-Id 头,服务器回退到按 IP 的 HMAC cid 进行关联,这对短期按会话追踪足够。
适用场景
- 需要通过 MCP 客户端对系统结构做确定性图论分析的场景。
- 使用 EN 语法建模系统,并希望获得拓扑、瓶颈、爆炸半径、追踪、差异、中心性等结构性视图的工作流。
限制
- 官方明确说明计算内部不使用 AI,因此不应期待生成式分析。
- 工具名称只是简写,compose 与 equivalent 是基于模式的工具,而非通用分析器;使用前需阅读各工具描述。
- EN 语法的语义依赖命名约定(同名即同一事物,AND/OR 通过 needs 列表与 yield 命名表达),建模时需遵循这些规则。
- 价格、收费、平台支持范围、分析效果等详细信息暂未提供。