Engineering diagrams in draw.io — RF block diagrams, PCB stackups, and EMC test setups generated from structured prompts. Drive it from your IDE, terminal, or AI agent and skip the manual stencil-dragging.
drawio-engineering-mcp is a Node.js MCP server that gives an AI agent
the ability to create, view, and analyze engineering diagrams in
draw.io. It extends the
official draw.io MCP (@drawio/mcp)
with 10 tools and 269 drag-and-drop engineering symbols across RF,
PCB, EMC, wireless, electrical, and general engineering.
Where the upstream MCP gives you a diagram editor, this one gives you a diagram generator: an RF receiver signal chain with Friis-cascade annotations, a CISPR 25 / ISO 11452 test setup, a 6-layer PCB stackup with material-property labels — all from a one-sentence prompt or structured JSON input.
What it does well:
- 🤖 AI-native via MCP. First-class Model Context Protocol server with 10 tools wired into the draw.io browser app.
- 🎨 269 engineering stencils. RF blocks, amplifiers, filters, antennas, PCB stackup vias, EMC test equipment, wireless protocol badges, connectors, power ICs — all auto-loaded into the draw.io sidebar.
- ⚡ Auto-layout generators.
create_rf_block_diagramruns Friis gain/NF cascade math;create_pcb_stackuprenders cross-sections with material properties;create_emc_test_setupuses CISPR / ISO templates. - ✅ Round-trip.
read_drawioparses.drawioXML into structured JSON (shapes, edges, styles) so an agent can analyze an existing diagram.export_drawiorenders to SVG / PNG. - 🔒 AGPL-3.0-or-later. Built on the official draw.io MCP foundation (Apache-2.0); this server's engineering extensions are AGPL-3.0-or-later.
git clone https://github.com/RFingAdam/drawio-engineering-mcp.git
cd drawio-engineering-mcp
npm install|
Claude Code claude mcp add drawio-engineering -s user -- \
node /path/to/drawio-engineering-mcp/src/index.js |
Claude Desktop {
"mcpServers": {
"drawio-engineering": {
"command": "node",
"args": ["/path/to/drawio-engineering-mcp/src/index.js"]
}
}
} |
|
Any MCP client — first prompt Start a new session and ask:
The agent calls |
|
10 MCP tools across 3 categories. Full reference in docs/tools.md.
| Tool | Purpose | Key arguments |
|---|---|---|
open_drawio_xml |
Open draw.io with raw XML content | xml |
open_drawio_csv |
Open draw.io with CSV data | csv, style |
open_drawio_mermaid |
Open draw.io with Mermaid syntax | mermaid |
open_drawio_engineering |
Open draw.io with the 269 engineering stencils loaded in the sidebar | stencils |
| Tool | Purpose | Key arguments |
|---|---|---|
create_rf_block_diagram |
Auto-layout RF signal chain from JSON (Friis gain/NF cascade) | blocks, frequency_ghz |
create_emc_test_setup |
CISPR 25 / ISO 11452 EMC test setup diagrams from templates | template, dut_name |
create_pcb_stackup |
PCB cross-section stackup diagrams (4-layer / 6-layer / custom) | layers, materials |
markup_schematic |
Annotate schematic screenshots with redlines, revision clouds, callouts | image_path, annotations |
| Tool | Purpose | Key arguments |
|---|---|---|
read_drawio |
Parse .drawio files into structured JSON (shapes, edges, styles) |
file_path |
export_drawio |
Export diagrams to SVG (or PNG with puppeteer) | file_path, format |
269 engineering symbols across 13 libraries, automatically loaded by
open_drawio_engineering into the draw.io sidebar:
| Library | Symbols | Contents |
|---|---|---|
rf-blocks |
30 | Core RF blocks (LNA, PA, mixer, filter, switch, antenna, …) |
rf-amplifiers-mixers |
16 | Amplifier variants (LNA, PA, VGA, driver, buffer, log, limiting) + mixers |
rf-filters-attenuators |
17 | BPF, LPF, HPF, notch, cavity, SAW, BAW, DSA, step / variable atten |
rf-passive-components |
14 | Circulators, isolators, directional couplers, Wilkinson, hybrid, balun |
rf-sources-oscillators |
10 | Crystal, TCXO, OCXO, VCO, PLL, DDS, synthesizer |
rf-switches-detectors |
15 | SPDT, SP4T, transfer, T/R, power detector, ADC, DAC |
rf-antennas-txlines |
20 | Dipole, patch, horn, array, MIMO, coax, microstrip, waveguide |
ee-power-ics |
20 | LDO, buck, boost, flyback, battery, SoC, FPGA, MCU, QFN, BGA |
ee-connectors |
14 | SMA, U.FL, N-type, BNC, USB-C, RJ45, pin header, B2B |
ee-test-equipment-emc |
18 | Spectrum analyzer, VNA, scope, LISN, CDN, anechoic chamber |
pcb-stackup-vias |
30 | Copper / prepreg / core layers, through / blind / buried / micro vias, impedance traces |
wireless-telecom |
27 | Wi-Fi, BLE, LTE, 5G NR, LoRa, Zigbee, Thread, protocol badges, OFDM, QAM |
general-engineering |
38 | System blocks, rack diagrams, cables, thermal management, R/L/C/transformer |
By default all libraries load. To load only specific ones:
{
"stencils": ["rf-blocks", "ee-connectors", "pcb-stackup-vias"]
}drawio-engineering-mcp fits in the following eng-mcp-suite
workflow bundles:
emc-compliance— paircreate_emc_test_setupwithmcp-emc-regulationsto generate the test setup diagram for the exact CISPR / ISO method the limit lookup returned.pcb-review— generatecreate_pcb_stackupcross-sections during amcp-pcb-emcopilotdesign review.rf-design— usecreate_rf_block_diagramto visualize the cascade an LNA / mixer / filter chain produces — Friis numbers annotated automatically.
Part of eng-mcp-suite.
Use in the emc-compliance, pcb-review, or rf-design workflow bundles.
See the suite manifest for the full list of sibling MCPs and bundle definitions.
- 📘 Quick Start — install through first call.
- 🛠️ Tool reference — every MCP tool, every argument.
- 📐 Usage examples — practical end-to-end walkthroughs.
- 🏗️ Architecture — how this MCP fits in eng-mcp-suite.
This MCP server is part of
An open umbrella for engineering MCP servers across RF, EMC, PCB, signal integrity, EM simulation, and lab test. Same brand, same docs structure, designed to compose. See the full catalog or jump to a sibling:
| Domain | Sibling MCPs |
|---|---|
| RF / Transmission lines | lineforge |
| EMC regulatory | mcp-emc-regulations |
| PCB / SI | mcp-pcb-emcopilot (private — public soon) |
| EM simulation | mcp-openems, mcp-nec2-antenna (private — public soon) |
| Diagrams | drawio-engineering-mcp (this repo) |
| 3D / rendering | mcp-blender |
| Remote access | mcp-remote-access |
| Lab gear | copper-mountain-vna-mcp, mcp-rs-spectrum-analyzer, mcp-rs-siggen, mcp-rs-cmw500 |
Extended from the official draw.io MCP server
(@drawio/mcp) by JGraph Ltd.
Contributions are welcome.
- Pick a GitHub issue.
- Fork + branch (
feature/your-thingorfix/your-bug). - Run tests (
npm test) if present. - Open a PR — link the issue, request review.
AGPL-3.0-or-later. Relicensed from Apache-2.0 in v1.1.0 to align with the eng-mcp-suite toolkit-wide AGPL move. The upstream draw.io MCP foundation remains Apache-2.0; this server's engineering extensions and added tooling are AGPL-3.0-or-later.
- JGraph Ltd / draw.io — for the
upstream
@drawio/mcpand the underlying diagram editor. - The MCP working group — for the Model Context Protocol specification.
Part of eng-mcp-suite — built for RF engineers, PCB designers, EMC labs, and AI agents.