@modudraft/mcp 0.12.1 → 0.12.2
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.
- package/README.md +17 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -82,8 +82,8 @@ Copy the key - you'll only see it once.
|
|
|
82
82
|
### Architecture nodes & edges
|
|
83
83
|
| Tool | Description |
|
|
84
84
|
|---|---|
|
|
85
|
-
| `add_node` | Add a component (compute, database, queue, gateway, etc.) |
|
|
86
|
-
| `update_node` | Update label, tool, or archetype |
|
|
85
|
+
| `add_node` | Add a component (compute, database, queue, gateway, etc.). `tool` takes a catalog key or a common name and is resolved to the catalog key (see [Tool names](#tool-names)) |
|
|
86
|
+
| `update_node` | Update label, tool, or archetype (a `tool` name is resolved the same way; the archetype is left alone) |
|
|
87
87
|
| `delete_node` | Remove a node and its connections |
|
|
88
88
|
| `add_edge` | Connect two nodes with optional label and protocol |
|
|
89
89
|
| `update_edge` | Update edge label or protocol |
|
|
@@ -272,3 +272,18 @@ Agents build a diagram with many small calls, and the layout only makes sense on
|
|
|
272
272
|
- Calling `layout_diagram` yourself tidies right away and cancels the pending one.
|
|
273
273
|
- The tidy is best-effort: if the diagram is locked by someone editing, it is skipped, and the next add or remove schedules another.
|
|
274
274
|
- Set `MODUDRAFT_AUTO_TIDY_MS` to change the quiet period, or `0` to turn it off.
|
|
275
|
+
|
|
276
|
+
## Tool names
|
|
277
|
+
|
|
278
|
+
A node's `tool` is a catalog key (`better-auth`, `postgresql`, `google-oauth`), and the app shows an initials badge with an "unknown tool" warning for anything else. Agents rarely use the exact key, so `add_node`, `update_node`, `bulk_add_nodes` and `apply_architecture` resolve what they are given:
|
|
279
|
+
|
|
280
|
+
1. an exact catalog key (any case);
|
|
281
|
+
2. an alias listed on the tool in the catalog (`postgres`, `pg`, `k8s`, `NextAuth`, `entra id`, `sign in with Google`, `GitHub login`);
|
|
282
|
+
3. the key or display label with case, spaces, punctuation and underscores ignored (`Better Auth`, `betterauth`, `better_auth`, `Auth.js`).
|
|
283
|
+
|
|
284
|
+
- The resolved catalog key is stored. If you did not pass an `archetype`, the tool's own is used, so `tool: "Better Auth"` is an `auth` node, not `compute`. An explicit `archetype` always wins, and `update_node` never changes the archetype.
|
|
285
|
+
- Nothing is guessed: an ambiguous name (a bare `google`, `microsoft` or `apple`) stays unresolved.
|
|
286
|
+
- An unknown tool is kept exactly as typed (custom technologies are fine) and the response carries a `tool_hint` (`tool_hints` for the bulk tools) naming the closest catalog tools. Use `list_tools` to browse valid values.
|
|
287
|
+
- `suggest_architecture` also recognises these names when it looks for an auth component in a description, and the nodes it proposes now carry real catalog archetypes (`client`, `gateway`, `auth`, `notification`, `search`, `database`, `cache`, `queue`, `storage`, `observability`, `compute`).
|
|
288
|
+
- Aliases are part of the catalog itself (an `aliases` list on each tool in `@modudraft/core`), so the editor's palette search finds a tool by them too: typing `entra`, `next auth` or `sign in with google` finds Azure AD, Auth.js and Google OAuth.
|
|
289
|
+
- Importing a dependency manifest (`import_file` on `package.json`, `requirements.txt`, `Gemfile`, `go.mod`, `composer.json`, `pom.xml`) now also reports an `auth` list of the authentication libraries it finds, under their catalog names (`Better Auth`, `Auth.js`, `Clerk`, `Keycloak`, `Microsoft OAuth`...), ready to pass straight to `add_node`. Bare `@supabase/supabase-js` and `firebase` are not counted as auth.
|