You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
5. **Use render_diagram** to visualize — returns SVG with color-coded node types.
108
104
6. **Use describe_architecture** to get a text summary of all nodes and relationships.
109
105
7. Every node needs a globally unique \`unique-id\` (kebab-case recommended).
110
-
8. Relationships reference nodes by their \`unique-id\` in \`source\` and \`destination\`.
106
+
8. \`relationship-type\` is an **object** keyed by variant (\`connects\`, \`interacts\`, \`composed-of\`, \`deployed-in\`, \`options\`) — never a plain string. Each variant has its own nested structure (e.g. \`connects\` wraps \`source\`/\`destination\` as \`{ node, interfaces? }\` objects).
Copy file name to clipboardExpand all lines: docs/docs/working-with-calm/calm-studio.md
+84-1Lines changed: 84 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -124,4 +124,87 @@ Import a CALM JSON file to start from an existing architecture (e.g., one genera
124
124
125
125
## MCP Server Integration
126
126
127
-
CALM Studio ships a standalone MCP server (`@calmstudio/mcp-server`) that lets AI tools like Claude Code and GitHub Copilot create and modify CALM architectures programmatically. The server exposes tools covering node CRUD, relationship management, rendering, and validation.
127
+
CALM Studio ships a standalone MCP server (`@calmstudio/mcp`) that lets AI tools like Claude Code and GitHub Copilot create and modify CALM architectures programmatically. The server exposes 20 tools covering node CRUD, relationship management, rendering, and validation.
128
+
129
+
### Recommended workflow
130
+
131
+
Always call `read_calm_guide` before creating nodes or relationships. It returns the full node-type vocabulary and relationship forms that the other tools enforce.
4. validate_architecture(file) ← fix errors before continuing
138
+
5. finalize_architecture(file) ← validates + attaches AIGF if AI nodes present
139
+
6. export_calm(file, destination)
140
+
```
141
+
142
+
### Relationship form — nested object, not a string
143
+
144
+
`relationship-type` is an **object** keyed by variant. This is enforced by the CALM 1.2 schema and by `validate_architecture`. The flat string form (`"relationship-type": "connects"`) is invalid and will be rejected.
0 commit comments