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 端点

工具

关于任何系统的六个问题,外加一个渲染工具。每个工具都接受 source(EN 代码或 .en/.txt 文件路径)。工具名称是简写,而非规范 —— 调用前请阅读每个描述;composeequivalent 是基于模式的,而非通用分析器。

工具

回答的问题

控制参数

structure

这是什么系统?形状、阶段、桥接、循环、关键路径、支配树、最小割、子系统、参与者、位置。

detect_findings=true 标记风险(未受保护的汇点、单割路径、多割路径);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

会死锁吗?实体会溢出吗?虹吸、陷阱、无界循环、结构活性和有界性。

reachable

X 能到达 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)。

render

SVG 或 PNG 图表。仅在用户要求可视化时调用。

主题:EditorialPrimerCarbon(每个可选 isDark)或从 color=#RRGGBB 派生的种子。structure_layers 位掩码(1=子系统, 2=管道, 4=循环, 8=分支, 16=汇合, 32=枢纽, 64=死锁, 128=溢出)。

EN 语法

每行一条语句:

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

建模

相同的名称 = 相同的事物。将所有必需的输入放入一个 needs: 列表中(AND)。给两个动作相同的 yield 名称以提供替代方案(OR)。序列 = 一个动作消耗另一个动作的 yield。重新产生有状态资源以保持其持久性;一次性数据保持被消耗状态。在真实的原子粒度上建模 —— 仅在各部分可以独立访问时才进行拆分。

了解更多信息,请访问 endiagram.com

遥测

@endiagram/mcp 在首次运行时生成一个随机安装 ID,存储在 ~/.endiagram/install-id(模式 0600)。它随每个请求作为 X-Endiagram-Install-Id HTTP 标头发送,以便我们可以关联来自同一安装的请求,从而调试仅靠 IP 信号无法追踪的问题(移动网络、VPN、CGNAT 都会导致 IP 折叠或变动)。

不发送源代码、文件路径、环境变量和个人身份信息 (PII)。 安装 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

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