@endiagram/mcp 0.2.14 → 0.2.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/tools.json +15 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@endiagram/mcp",
3
- "version": "0.2.14",
3
+ "version": "0.2.16",
4
4
  "description": "MCP server for EN Diagram — deterministic structural analysis backed by named theorems",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/tools.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "instructions": "EN Diagram is a deterministic structural analysis engine. No AI inside.\n\nTo describe a system, write one statement per line:\n actor do: action needs: input1, input2 yields: output1, output2\n\nShared names between yields and needs create connections automatically. Multi-word names work fine. Use commas to separate multiple inputs or outputs.\n\nThe engine computes structural truth from the description — the tool outputs are raw mathematical findings. Translate them into the language of the system being analyzed. If analyzing a payment flow, say 'the payment gateway is structurally isolated' not 'node X has high centrality'. Speak in the user's domain, not in graph theory.\n\nEvery tool output contains node names, values, and structural properties that can be fed directly into other tools. Read the output. Find the surprising node, the unexpected value, the structural anomaly. Then pick the tool that investigates THAT specific finding. One tool surfaces a fact. The next tool explains it. The next stress-tests it. Keep narrowing until you reach the root cause. One thread followed to completion beats ten shallow observations.\n\nDo not stop at one tool call. Do not summarize after one result. The first call reveals the structure — the real insight comes from the second, third, fourth call that digs into what the first one found.\n\nIMPORTANT: Load ALL tool descriptions before starting analysis. Each tool's description explains how to read its output — without that context, results are uninterpretable. The 13 tools are: analyze, detail, categorize, distance, diff, trace, between, extract, impact, evolve, compose, conserve, render. Speak in the user's domain, not in graph theory. Only call render when the user explicitly asks to visualize.",
2
+ "instructions": "EN Diagram is a deterministic structural analysis engine. No AI inside.\n\nTo describe a system, write one statement per line:\n actor do: action needs: input1, input2 yields: output1, output2\n\nShared names between yields and needs create connections automatically. Multi-word names work fine. Use commas to separate multiple inputs or outputs.\n\nThe engine computes structural truth from the description — the tool outputs are raw mathematical findings. Translate them into the language of the system being analyzed. If analyzing a payment flow, say 'the payment gateway is structurally isolated' not 'node X has high centrality'. Speak in the user's domain, not in graph theory.\n\nEvery tool output contains node names, values, and structural properties that can be fed directly into other tools. Read the output. Find the surprising node, the unexpected value, the structural anomaly. Then pick the tool that investigates THAT specific finding. One tool surfaces a fact. The next tool explains it. The next stress-tests it. Keep narrowing until you reach the root cause. One thread followed to completion beats ten shallow observations.\n\nDo not stop at one tool call. Do not summarize after one result. The first call reveals the structure — the real insight comes from the second, third, fourth call that digs into what the first one found.\n\nSpeak in the user's domain, not in graph theory. Only call render when the user explicitly asks to visualize.",
3
3
  "tools": [
4
4
  {
5
5
  "name": "analyze",
@@ -99,6 +99,20 @@
99
99
  {"name": "source", "type": "string", "description": "EN source code describing the system", "required": true}
100
100
  ]
101
101
  },
102
+ {
103
+ "name": "responsibility",
104
+ "description": "Who does what. Output: actors lists each actor with their actionCount and the entities their actions touch. coAction lists actor pairs sharing actions (from the actor co-action matrix). workloadEntropy is 0-1 normalized — 0 means all work on one actor, 1 means perfectly even distribution.",
105
+ "parameters": [
106
+ {"name": "source", "type": "string", "description": "EN source code describing the system", "required": true}
107
+ ]
108
+ },
109
+ {
110
+ "name": "locality",
111
+ "description": "Where work happens. Output: locations lists each location with actionCount and entities handled there. coLocation lists location pairs sharing actions. boundaryCrossings counts entity flows where the producing action and consuming action are at different locations. localityEntropy is 0-1 normalized — 0 means all actions at one location, 1 means perfectly distributed.",
112
+ "parameters": [
113
+ {"name": "source", "type": "string", "description": "EN source code describing the system", "required": true}
114
+ ]
115
+ },
102
116
  {
103
117
  "name": "render",
104
118
  "description": "SVG diagram. Only call when user explicitly asks to visualize.",