drawio-mcp-server 1.1.0 → 1.1.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 +26 -1
- package/build/index.js +2 -1
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -26,7 +26,7 @@ The tool supports bidirectional communication, allowing both control of Draw.io
|
|
|
26
26
|
To use the Draw.io MCP server, you'll need:
|
|
27
27
|
|
|
28
28
|
### Core Components
|
|
29
|
-
- **Node.js** (
|
|
29
|
+
- **Node.js** (v20 or higher) - Runtime environment for the MCP server
|
|
30
30
|
- **Draw.io MCP Browser Extension** - Enables communication between Draw.io and the MCP server
|
|
31
31
|
|
|
32
32
|
### MCP Ecosystem
|
|
@@ -199,6 +199,28 @@ In order to control the Draw.io diagram, you need to install dedicated Browser E
|
|
|
199
199
|
3. Ensure it is connected, the Extension icon should indicate green signal overlay <img alt="Extension connected" src="https://raw.githubusercontent.com/lgazo/drawio-mcp-extension/refs/heads/main/public/icon/logo_connected_32.png" />
|
|
200
200
|
|
|
201
201
|
|
|
202
|
+
## Sponsoring
|
|
203
|
+
|
|
204
|
+
If you enjoy the project or find it useful, consider supporting its continued development.
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
lightning invoice:
|
|
208
|
+
|
|
209
|
+

|
|
210
|
+
|
|
211
|
+
```
|
|
212
|
+
lnbc1p5f8wvnpp5kk0qt60waplesw3sjxu7tcqwmdp6ysq570dc4ln52krd3u5nzq6sdp82pshjgr5dusyymrfde4jq4mpd3kx2apq24ek2uscqzpuxqr8pqsp5gvr72xcs883qt4hea6v3u7803stcwfnk5c9w0ykqr9a40qqwnpys9qxpqysgqfzlhm0cz5vqy7wqt7rwpmkacukrk59k89ltd5n642wzru2jn88tyd78gr4y3j6u64k2u4sd4qgavlsnccl986velrg3x0pe95sx7p4sqtatttp
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
lightning address:
|
|
216
|
+
```
|
|
217
|
+
ladislav@blink.sv
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
<div align="center">
|
|
221
|
+
<a href="https://liberapay.com/ladislav/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a>
|
|
222
|
+
</div>
|
|
223
|
+
|
|
202
224
|
## Features
|
|
203
225
|
|
|
204
226
|
The Draw.io MCP server provides the following tools for programmatic diagram interaction:
|
|
@@ -224,6 +246,9 @@ The Draw.io MCP server provides the following tools for programmatic diagram int
|
|
|
224
246
|
- `shape_name`: Name of the shape to retrieve
|
|
225
247
|
*Returns*: Shape object including its category and style information
|
|
226
248
|
|
|
249
|
+
- **`list-paged-model`**
|
|
250
|
+
Retrieves a paginated view of all cells (vertices and edges) in the current Draw.io diagram. This tool provides access to the complete model data with essential fields only, sanitized to remove circular dependencies and excessive data. It allows to filter based on multiple criteria and attribute boolean logic. Useful for programmatic inspection of diagram structure without overwhelming response sizes.
|
|
251
|
+
|
|
227
252
|
### Diagram Modification Tools
|
|
228
253
|
- **`add-rectangle`**
|
|
229
254
|
Creates a new rectangle shape on the active Draw.io page with customizable properties:
|
package/build/index.js
CHANGED
|
@@ -222,7 +222,8 @@ server.tool(TOOL_list_paged_model, "Retrieves a paginated view of all cells (ver
|
|
|
222
222
|
.describe('Boolean logic array expressions for filtering cell attributes. Format: ["and" | "or", ...expressions] or ["equal", key, value]. Matches against cell attributes and parsed style properties.'),
|
|
223
223
|
})
|
|
224
224
|
.optional()
|
|
225
|
-
.describe("Optional filter criteria to apply to cells before pagination")
|
|
225
|
+
.describe("Optional filter criteria to apply to cells before pagination")
|
|
226
|
+
.default({}),
|
|
226
227
|
}, default_tool(TOOL_list_paged_model, context));
|
|
227
228
|
async function main() {
|
|
228
229
|
log.debug("Draw.io MCP Server starting");
|
package/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "drawio-mcp-server",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "Provides Draw.io services to MCP Clients",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"bin": {
|
|
8
8
|
"drawio-mcp-server": "./build/index.js"
|
|
9
9
|
},
|
|
10
|
+
"engines": {
|
|
11
|
+
"node": ">=20.0.0"
|
|
12
|
+
},
|
|
10
13
|
"files": [
|
|
11
14
|
"build"
|
|
12
15
|
],
|
|
@@ -28,7 +31,7 @@
|
|
|
28
31
|
"nanoid": "5.1.5",
|
|
29
32
|
"pino": "9.6.0",
|
|
30
33
|
"pino-pretty": "13.0.0",
|
|
31
|
-
"uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.
|
|
34
|
+
"uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.52.0",
|
|
32
35
|
"zod": "3.24.3"
|
|
33
36
|
},
|
|
34
37
|
"devDependencies": {
|
|
@@ -47,7 +50,7 @@
|
|
|
47
50
|
"build": "tsc",
|
|
48
51
|
"ci": "pnpm install --frozen-lockfile",
|
|
49
52
|
"dev": "tsc --watch",
|
|
50
|
-
"inspect": "pnpx @modelcontextprotocol/inspector node build/index.js",
|
|
53
|
+
"inspect": "HOST=0.0.0.0 pnpx @modelcontextprotocol/inspector node build/index.js",
|
|
51
54
|
"lint": "tsc --noEmit",
|
|
52
55
|
"format": "prettier --write \"src/**/*.ts\"",
|
|
53
56
|
"format:check": "prettier --check \"src/**/*.ts\"",
|