确定性结构分析服务器

基于图论的确定性结构分析服务,提供系统结构、不变性、可达性等分析工具,适用于复杂系统建模与验证。

  • by dushyant30suthar
  • JavaScript
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 dushyant30suthar/endiagram-mcp

使用说明

@菊苣/mcp

MCP服务器 EN图 --基于图论的确定性结构分析。每个结果都有一个命名的数学定理作为支持。计算中没有AI。

安装

直接运行:

npx @endiagram/mcp

或全局安装:

npm install -g @endiagram/mcp

连接

克劳德代码

claude mcp add endiagram npx @endiagram/mcp

克劳德桌面版

添加到您的 claude_desktop_config.json:

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

光标

添加 .cursor/mcp.json 在项目根目录中:

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

HTTP(零安装)

任何支持HTTP传输的MCP客户端:

https://api.endiagram.com/mcp

史密瑟里

smithery mcp add dushyant30suthar/endiagram

环境变量

变量 默认值 描述
EN_API_URL https://api.endiagram.com EN图表服务的API端点

工具

关于任何系统的六个问题,以及一个渲染工具。每个工具都需要 source (EN代码或 .en/.txt 文件路径)。工具名称是简写,而不是规格——在调用之前阅读每个描述; compose 和 equivalent 它们是基于模式的,而不是通用的分析器。

工具 它的答案 杠杆
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格式的图表。仅在用户要求可视化时调用。 主题: Editorial, Primer, Carbon (每个± isDark)或种子来源于 color=#RRGGBB. structure_layers 位掩码(1=子系统,2=流水线,4=循环,8=分叉,16=连接,32=集线器,64=死锁,128=溢出)。

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标头,以便我们可以关联请求 来自同一安装的调试问题,仅针对每IP信号 无法跟踪(移动网络、VPN、CGNAT都会崩溃或流失IP)。

没有源代码,没有文件路径,没有环境变量,也没有PII 已发送。 安装ID是本地生成的随机不透明UUID v4。

首次运行通知打印到 标准错误 (从来没有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/隐私

许可证

麻省理工学院