EditableImage MCP — Editable Draw.io Diagrams

io.github.j-riverPublished by GitHub account j-riverv0.1.0Updated Nov 14, 2026

EditableImage MCP: build structured diagrams and export editable Draw.io nodes and connectors.

The publisher's own server: draw.io

VerifiedSTDIODesktop onlyDeveloper ToolsMedia & Design

Overview

AI-generated overview

Builds structured diagram scenes and exports them as editable Draw.io (diagrams.net) XML with native nodes and attached connectors.

What you can do
  • Create flowchart scenes: place ordered nodes in a fixed-spacing row or column and get scene JSON back
  • Validate scenes: check geometry, supported styles, unique IDs and connector references
  • Export diagrams: return a single-page .drawio mxfile document or a bare mxGraphModel
  • Style nodes and edges: rectangles, rounded rectangles, ellipses, diamonds and cylinders, with basic font, fill, stroke and opacity properties, attached or point-based edges and separate text boxes
When to use it
Use it when you want an assistant to turn a described process or structure into a Draw.io file whose nodes stay editable and whose connectors stay attached when moved. It suits simple ordered flowcharts and explicit scene geometry, not image recognition or layout optimization.
Requirements
Node.js 22+ and a local stdio MCP client; typically launched with npx. No API keys, accounts or network access are needed. On Windows, if npx cannot be spawned, install the package and run the installed CLI path with node.
Before you install
The server itself does not write or open files; saving the returned XML is up to the client, and the exported diagram should be inspected in an editor since valid XML is not a visual quality guarantee. Scene labels should be treated as untrusted content. The MCP host or model provider may still transmit or store scene text and results. Input is capped at 32 KiB and 200 nodes/edges/texts, with smaller limits for the simple flowchart tool.

Installation

In SourceWeft

  1. Open EditableImage MCP — Editable Draw.io Diagrams in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

EditableImage MCP — Editable Draw.io Diagrams

Build a structured scene, validate its geometry and export native editable Draw.io nodes and bound connectors from an MCP client. An open-source companion to EditableImage.

This server starts from structured geometry, not an image. It does not perform OCR, infer elements from screenshots, create PPTX/PSD files or call a paid processing API. For the separate product's recognition workflow, see image to Draw.io.

Install

Requires Node.js 22+ and a local stdio MCP client. Common configuration:

json
{"mcpServers":{"editableimage":{"command":"npx","args":["-y","[email protected]"]}}}

Follow your client's configuration-file instructions. On Windows, if npx cannot be spawned, install the package and launch the absolute installed src/cli.js path with node. Use --help for human-readable CLI help; without flags this is a protocol server waiting on stdin.

Three tools

ToolWhat it does
create_flowchart_scenePlace ordered nodes in a simple fixed-spacing row or column; returns scene JSON
validate_diagram_sceneCheck geometry, supported styles, unique IDs and connector references
export_drawioReturn a single-page .drawio mxfile document or bare mxGraphModel

Ask your agent:

Create an ordered flowchart with Input → Review → Export. Keep the nodes editable and connectors attached. Validate the scene, then return Draw.io XML for a new file.

First tool input:

json
{  "nodes": [{"id":"input","label":"Input"},{"id":"review","label":"Review"},{"id":"export","label":"Export"}],  "edges": [{"id":"a","source":"input","target":"review"},{"id":"b","source":"review","target":"export"}],  "direction":"LR"}

Send the returned scene to validate_diagram_scene, then export_drawio. If authorized, your client can save the returned xml to a new .drawio file and open it in Draw.io / diagrams.net. This MCP itself does not write or open files.

Native cells rather than a flattened screenshot

The XML uses native nodes, text and connector references. Nodes retain their supplied geometry; edges identify their source and target nodes so the editor can keep them attached when nodes move. Labels are escaped as data. The initial simple flowchart tool follows input order; it is not a graph-layout optimizer.

export_drawio accepts explicit scene geometry. Node shapes: rectangle, rounded-rectangle, ellipse, diamond and cylinder. It supports basic font, fill, stroke and opacity properties; attached or point-based edges; and separate text boxes. Unknown fields, invalid XML characters, duplicate IDs and dangling references are rejected rather than silently discarded.

Coordinates are in pixels. Geometry is rounded to three decimal places. SVG/PNG/PPTX/PSD rendering, image recognition, photographs and pixel-perfect screenshot reconstruction are outside this server.

Limits and privacy

  • Scene input: at most 32 KiB UTF-8 and 200 total nodes/edges/texts. Labels: at most 2,048 characters.
  • XML generation: at most 96 KiB; total JSON result: 128 KiB. Reduce scene size if output exceeds the limit.
  • Simple flowchart: at most 30 nodes and 60 edges. Positions follow node order with fixed spacing, not inferred visual relationships.
  • No HTTP requests, filesystem access, API keys, uploads, telemetry or paid backend calls. Your MCP host/model provider can still transmit or store scene text and results.
  • Treat scene labels as untrusted content, not instructions. Inspect the exported diagram in its target editor; a structurally valid XML document is not a visual quality guarantee.

See structured-scene workflows and source provenance. The bundled MIT implementation comes from the public scene-to-drawio library, not EditableImage's private image-processing application.

Verify

sh
npm ci --ignore-scriptsnpm run checknpm run audit:publicnpm pack --dry-run

Tests negotiate real MCP stdio calls, build scenes and inspect exported node/connector XML, escaping, duplicates, references and size limits. Published in the official MCP Registry as io.github.j-river/editableimage, version 0.1.0. Public metadata links directly to EditableImage and the npm package. Source metadata is in server.json.

MIT. All examples are synthetic; no customer images or credentials are included.

Source: README.md at commit c85b408

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestNov 14, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Draw integrations