@modudraft/mcp 0.15.2 → 0.17.0
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 +18 -4
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -71,6 +71,20 @@ Without it, all diagram tools work as usual. The file tools fall back to your cl
|
|
|
71
71
|
| `MODUDRAFT_AUTO_TIDY_MS` | No | Quiet period, in milliseconds, before the architecture tab is auto-tidied after nodes or edges are added or removed (default `8000`; `0` turns auto-tidy off). See [Auto-tidy](#auto-tidy) |
|
|
72
72
|
|
|
73
73
|
|
|
74
|
+
### Upgrading to 0.17.0
|
|
75
|
+
|
|
76
|
+
- More importers now report a `warnings` list for what they skipped or could not map (most formats already did; dbml, schema-rb, typeorm, sqlalchemy, dbt, cloudformation and asyncapi return none). `import_file` refuses a SQL file that only has `ALTER TABLE` statements (no `CREATE TABLE`) with a reason.
|
|
77
|
+
- `export_terraform` and `export_k8s_yaml` (and `export_to_file` for those formats) return `warnings` (in the response only; nothing is written into the exported file). Terraform names, values and comments are escaped, and unmappable resource types become commented-out blocks. The Kubernetes YAML no longer carries `# TODO` comments.
|
|
78
|
+
- The SQL export is now quoted. Mermaid output (flowchart, ER, sequence) differs in places: edge labels are escaped, boundaries become subgraphs, and the Mermaid importer handles `&`, dotted and thick links, `:::cls`, quoted labels and subgraphs.
|
|
79
|
+
- The Postman and Insomnia importers now keep `HEAD` and `OPTIONS` requests too, without a request body (`TRACE` and other methods are still skipped with a warning).
|
|
80
|
+
- Table-level `PRIMARY KEY` makes its columns non-nullable on SQL import.
|
|
81
|
+
|
|
82
|
+
### Upgrading to 0.16.0
|
|
83
|
+
|
|
84
|
+
- `HEAD` and `OPTIONS` are supported HTTP methods for API endpoints and OpenAPI imports (`TRACE` is still skipped with a warning). The Postman and Insomnia importers still keep only GET, POST, PUT, PATCH and DELETE.
|
|
85
|
+
- `add_api_endpoint`, `bulk_add_api_endpoints`, and `add_db_table` reject duplicates, for every protocol: an http endpoint with the same method and path (placeholders are normalized, so `/orders/:id`, `/orders/{id}` and `/orders/{orderId}` are the same path), an endpoint of another protocol with the same protocol and name, and a table with the same schema and name (case-insensitive; no schema means `public`).
|
|
86
|
+
- `export_openapi` hoists `$defs` into `components.schemas` (identical definitions share one component), rewrites `:name` path segments to `{name}`, synthesizes undeclared path parameters, and lists undeclared or unused path parameters and duplicate operations under `x-modudraft-warnings`.
|
|
87
|
+
|
|
74
88
|
### Upgrading to 0.14.2
|
|
75
89
|
|
|
76
90
|
- File tools (`read_file`, `import_file`, `import_directory`, `scan_project`, `export_to_file`, ...) only read and write inside your source-code folder (your repo or git worktree). The server takes it from your MCP client's workspace folders, then `MODUDRAFT_PROJECT_ROOTS`, then the folder the server was started in. Your home directory itself is never accepted, so Claude Desktop users who want the file tools should set the optional `MODUDRAFT_PROJECT_ROOTS` to their repo. Relative paths resolve against the first folder, and a leading `~` is expanded.
|
|
@@ -133,7 +147,7 @@ A diagram can hold many named sequences. Each has its own lanes (architecture no
|
|
|
133
147
|
### DB schema (ER diagram)
|
|
134
148
|
| Tool | Description |
|
|
135
149
|
|---|---|
|
|
136
|
-
| `add_db_table` | Add a database table with columns |
|
|
150
|
+
| `add_db_table` | Add a database table with columns; rejects duplicate table names (case-insensitive) |
|
|
137
151
|
| `update_db_table` | Replace a table's columns |
|
|
138
152
|
| `delete_db_table` | Remove a table |
|
|
139
153
|
| `export_er_diagram` | Export schema as SQL DDL |
|
|
@@ -141,11 +155,11 @@ A diagram can hold many named sequences. Each has its own lanes (architecture no
|
|
|
141
155
|
### API schema (OpenAPI)
|
|
142
156
|
| Tool | Description |
|
|
143
157
|
|---|---|
|
|
144
|
-
| `add_api_endpoint` | Add an http, graphql, grpc, websocket or event endpoint. Its request and response shapes go in `contract`: per-protocol slots holding JSON Schema (as an object or YAML), where fields are required unless marked `optional: true`. Omit `contract` to start from an empty one |
|
|
145
|
-
| `bulk_add_api_endpoints` | Add many endpoints in one call, each with its own `contract`; one invalid endpoint rejects the whole batch |
|
|
158
|
+
| `add_api_endpoint` | Add an http (including HEAD and OPTIONS), graphql, grpc, websocket or event endpoint; rejects duplicate endpoints. Its request and response shapes go in `contract`: per-protocol slots holding JSON Schema (as an object or YAML), where fields are required unless marked `optional: true`. Omit `contract` to start from an empty one |
|
|
159
|
+
| `bulk_add_api_endpoints` | Add many endpoints in one call, each with its own `contract`; rejects duplicates within the batch or diagram; one invalid endpoint rejects the whole batch |
|
|
146
160
|
| `update_api_endpoint` | Update endpoint details; `contract` replaces the slots it names and keeps the rest; changing `protocol` converts the contract and lists anything that could not be kept in `dropped` |
|
|
147
161
|
| `delete_api_endpoint` | Remove an endpoint |
|
|
148
|
-
| `export_openapi` | Export the http endpoints as OpenAPI 3.1 (JSON, or YAML with `format: yaml`) |
|
|
162
|
+
| `export_openapi` | Export the http endpoints as OpenAPI 3.1 (JSON, or YAML with `format: yaml`); hoists `$defs` into `components.schemas`, synthesizes undeclared path params, and reports warnings under `x-modudraft-warnings` |
|
|
149
163
|
|
|
150
164
|
The old `request_body`, `request_format`, `body`, `body_format` and top-level `responses` arguments were removed; they now return an error naming their replacement in `contract`.
|
|
151
165
|
|