Skip to content

RFingAdam/drawio-engineering-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

drawio-engineering-mcp — engineering diagrams in draw.io: RF block diagrams, PCB stackups, EMC test setups

License Node MCP eng-mcp-suite

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.

Quick start · Tools · Workflows · Documentation


What is drawio-engineering-mcp?

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_diagram runs Friis gain/NF cascade math; create_pcb_stackup renders cross-sections with material properties; create_emc_test_setup uses CISPR / ISO templates.
  • Round-trip. read_drawio parses .drawio XML into structured JSON (shapes, edges, styles) so an agent can analyze an existing diagram. export_drawio renders 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.

Quick start

Install

git clone https://github.com/RFingAdam/drawio-engineering-mcp.git
cd drawio-engineering-mcp
npm install

Three surfaces, same answer

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:

"Create an RF receiver signal chain with antenna, SAW filter, LNA, mixer with PLL LO, IF filter, and ADC. Show cumulative gain and noise figure."

The agent calls create_rf_block_diagram and opens draw.io with a color-coded, auto-laid-out diagram annotated with Friis cascade values.


Tools

10 MCP tools across 3 categories. Full reference in docs/tools.md.

Viewer / editor

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

Generators

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

Analysis

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

Stencil libraries

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"]
}

Workflows

drawio-engineering-mcp fits in the following eng-mcp-suite workflow bundles:

  • emc-compliance — pair create_emc_test_setup with mcp-emc-regulations to generate the test setup diagram for the exact CISPR / ISO method the limit lookup returned.
  • pcb-review — generate create_pcb_stackup cross-sections during a mcp-pcb-emcopilot design review.
  • rf-design — use create_rf_block_diagram to 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.


Documentation


Part of eng-mcp-suite

This MCP server is part of

eng-mcp-suite

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

Based on

Extended from the official draw.io MCP server (@drawio/mcp) by JGraph Ltd.

Contributing

Contributions are welcome.

  1. Pick a GitHub issue.
  2. Fork + branch (feature/your-thing or fix/your-bug).
  3. Run tests (npm test) if present.
  4. Open a PR — link the issue, request review.

License

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.

Acknowledgments

Part of eng-mcp-suite — built for RF engineers, PCB designers, EMC labs, and AI agents.

About

Draw.io MCP server for RF, electrical, PCB, and EMC engineering diagrams — 10 tools, 269 stencil symbols.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors