drawio-engineering-mcp
Enables AI agents to generate, view, and analyze engineering diagrams (RF, PCB, EMC) in draw.io using natural language prompts, with auto-layout and 269 engineering stencils.
README
<div align="center">
<img src="assets/logo-banner.svg" alt="drawio-engineering-mcp — engineering diagrams in draw.io: RF block diagrams, PCB stackups, EMC test setups" width="100%"/>
<br/>
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
</div>
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_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.
Quick start
Install
git clone https://github.com/RFingAdam/drawio-engineering-mcp.git
cd drawio-engineering-mcp
npm install
Three surfaces, same answer
<table> <tr> <td valign="top" width="50%">
Claude Code
claude mcp add drawio-engineering -s user -- \
node /path/to/drawio-engineering-mcp/src/index.js
</td> <td valign="top" width="50%">
Claude Desktop
{
"mcpServers": {
"drawio-engineering": {
"command": "node",
"args": ["/path/to/drawio-engineering-mcp/src/index.js"]
}
}
}
</td> </tr> <tr> <td colspan="2" valign="top">
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.
</td> </tr> </table>
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— 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.
Documentation
- 📘 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.
Part of eng-mcp-suite
<sub>This MCP server is part of</sub>
<sub>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:</sub>
| 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.
- 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.
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
- JGraph Ltd / draw.io — for the
upstream
@drawio/mcpand the underlying diagram editor. - The MCP working group — for the Model Context Protocol specification.
<div align="center">
<sub>Part of <a href="https://github.com/RFingAdam/eng-mcp-suite">eng-mcp-suite</a> — built for RF engineers, PCB designers, EMC labs, and AI agents.</sub>
</div>
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。