mcp-pcb-emcopilot
AI-powered PCB design review MCP server with 93 tools for EMC, signal integrity, power integrity, thermal, and DFM analysis, supporting KiCad, ODB++, Gerber, and more, and generating audit-grade DOCX/HTML reports.
README
<div align="center">
<img src="assets/logo-banner.svg" alt="mcp-pcb-emcopilot — PCB EMC + signal-integrity analysis (return paths, decoupling, DDR/PCIe/USB)" width="100%"/>
<br/>
AI-powered PCB design review — EMC, signal integrity, power integrity, thermal, and DFM in one MCP server. Catch return-path breaks, decoupling gaps, and DDR/PCIe topology errors before fabrication, from your terminal or AI agent.
Quick start · Tools · Workflows · Documentation
</div>
What is mcp-pcb-emcopilot?
mcp-pcb-emcopilot is a Model Context Protocol server that provides 131 tools for AI-assisted PCB design review. It parses layouts from KiCad / ODB++ / Gerber / IPC-2581 / Altium / STEP, runs physics-based analyzers across eight engineering domains, and emits annotated DOCX reports with embedded board renders and per-finding severity.
Drive it from any MCP client. The orchestrator (pcb_run_design_review)
walks parsers → classifiers → analyzers → reports in one call; each
underlying step is also a standalone tool an agent can call directly
when you want to debug one net or revalidate one DDR byte-lane.
What mcp-pcb-emcopilot does well:
- 🤖 AI-native via MCP. First-class Model Context Protocol server with 131 tools across parsing, calculation, analysis, and reporting. Any Claude / LLM agent can drive a full design review.
- 🧱 Multi-format layout parsing. KiCad
.kicad_pcb, ODB++, Gerber RS-274X, IPC-2581, Altium.PcbDoc, 3D STEP — same downstream analyzers regardless of source. - 📐 IPC-grounded impedance. Microstrip / stripline / differential / CPWG via IPC-2141 (Hammerstad-Jensen, Cohn, coupled-line). Plus IPC-2221 trace-width / current capacity.
- 🛰️ EMC + SI in one pass. Return-path analysis, decoupling effectiveness, current-loop radiation, FCC / CISPR / IEC compliance prediction, DDR / PCIe / USB topology validation.
- 📑 Audit-grade reports. DOCX + HTML with embedded board renders, net highlights, annotated findings, executive summary, and Go/No-Go recommendation.
- 🔒 AGPL-3.0-or-later.
Quick start
Install
git clone https://github.com/RFingAdam/mcp-pcb-emcopilot.git
cd mcp-pcb-emcopilot
uv pip install -e .
Optional extras (PNG export, DOCX reports, enhanced PDF parsing):
pip install cairosvg python-docx pymupdf
Wire it into your MCP client
Claude Code:
claude mcp add pcb-emcopilot -- uv run --directory /path/to/mcp-pcb-emcopilot mcp-pcb-emcopilot
Codex CLI:
codex mcp add pcb-emcopilot -- uv run --directory /path/to/mcp-pcb-emcopilot mcp-pcb-emcopilot
Raw config (Claude Desktop):
{
"mcpServers": {
"pcb-emcopilot": {
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-pcb-emcopilot", "mcp-pcb-emcopilot"]
}
}
}
Then ask your assistant:
"Parse design.kicad_pcb, run a comprehensive design review, and generate a DOCX report with annotated findings."
The agent walks pcb_parse_layout → pcb_classify_design →
pcb_run_design_review → pcb_generate_docx_report and hands you a
fabrication-grade document.
Tools
131 tools across 14 categories (count is manually maintained, may lag
by a release). Representative tools by category are below — full
reference with arguments in docs/tools.md.
Parsers & data extraction (15)
| Tool | Description |
|---|---|
pcb_parse_layout |
Parse KiCad, ODB++, Gerber, IPC-2581, Altium |
pcb_parse_schematic_pdf |
Extract schematic pages from PDF |
pcb_parse_step |
Parse 3D STEP models |
pcb_get_components / _nets / _traces / _vias / _board_outline / _stackup / _copper_pours / _drill_table / _design_rules / _manufacturing_notes |
Layout query tools |
pcb_list_sessions / pcb_close_session |
Session management |
Impedance calculators (7)
pcb_calc_microstrip_impedance, pcb_calc_stripline_impedance,
pcb_calc_differential_impedance, pcb_calc_cpw_impedance,
pcb_calc_trace_width, pcb_calc_via_stitching,
pcb_calc_pdn_impedance.
Signal integrity (14)
pcb_analyze_timing, pcb_analyze_crosstalk, pcb_analyze_via,
pcb_analyze_differential_pair, pcb_analyze_length_matching,
pcb_analyze_mode_conversion, pcb_analyze_return_paths,
pcb_analyze_return_current, pcb_analyze_return_current_density,
pcb_calc_insertion_loss, pcb_calc_return_loss,
pcb_calc_skin_effect, pcb_calc_dielectric_loss,
pcb_calc_eye_diagram.
EMC / EMI analysis (14)
pcb_analyze_current_loop, pcb_analyze_clock_emi,
pcb_analyze_smps_emi, pcb_analyze_emi_risk,
pcb_analyze_shielding, pcb_analyze_grounding,
pcb_analyze_ground_stitch, pcb_analyze_common_mode,
pcb_analyze_cable_coupling, pcb_analyze_slot_antenna,
pcb_analyze_trace_antenna, pcb_estimate_bandwidth,
pcb_predict_emissions, pcb_predict_compliance.
Power integrity (5)
pcb_analyze_pdn, pcb_analyze_decoupling, pcb_analyze_vrm,
pcb_analyze_copper_spreading, pcb_calc_plane_resonance.
High-speed digital (8)
pcb_analyze_ddr, pcb_analyze_ddr_timing_budget,
pcb_validate_ddr_topology, pcb_analyze_usb,
pcb_analyze_ethernet, pcb_analyze_pcie,
pcb_validate_pcie_lanes, pcb_calc_pcie_link_budget.
Thermal (2), DFM / manufacturing (4), ESD (1)
pcb_analyze_thermal, pcb_analyze_thermal_via,
pcb_analyze_placement, pcb_analyze_assembly,
pcb_analyze_solder_paste, pcb_analyze_tolerance,
pcb_analyze_esd.
Classification & detection (4)
pcb_classify_design, pcb_classify_nets, pcb_detect_interfaces,
pcb_cross_reference_schematic.
Visualization (5)
pcb_render_board, pcb_render_net, pcb_render_stackup,
pcb_annotate_board, pcb_get_emi_hotspots.
Export & reporting (7)
pcb_export_render_png, pcb_export_all_renders,
pcb_generate_report, pcb_generate_docx_report,
pcb_get_schematic_page, pcb_set_review_context,
pcb_run_design_review (orchestrated full review).
3D & enclosure (3), utility (4)
pcb_get_3d_clearances, pcb_check_enclosure_fit,
pcb_find_split_crossings, pcb_get_stackup_templates,
pcb_get_material_properties, pcb_trace_return_path,
pcb_optimize_ground_stitching.
Full per-tool argument reference in docs/tools.md.
What it solves
| Domain | Standards | Headline tools |
|---|---|---|
| Impedance | IPC-2141, IPC-2221 | microstrip / stripline / differential / CPW calculators |
| EMC | FCC Part 15, CISPR 22/32 | pcb_predict_emissions, pcb_predict_compliance |
| Immunity | IEC 61000-4 | pcb_analyze_esd |
| Digital | JEDEC, PCIe CEM | pcb_validate_ddr_topology, pcb_validate_pcie_lanes |
Material database
Built-in dielectric properties: FR4 (standard + high-Tg), Rogers
RO4003C / RO4350B, Isola I-Speed / I-Tera, Panasonic Megtron 6,
polyimide (flex). Query via pcb_get_material_properties.
Supported formats
| Format | Extension | Notes |
|---|---|---|
| KiCad | .kicad_pcb |
Full support |
| ODB++ | .zip, .tgz |
Full support |
| Gerber RS-274X | .gbr, .ger |
|
| IPC-2581 | .xml |
Standard XML |
| Altium | .PcbDoc |
Via export |
| STEP | .step, .stp |
3D model |
| PDF schematic | .pdf |
Page extraction |
Workflows
mcp-pcb-emcopilot fits in the following eng-mcp-suite workflow bundles:
pcb-review— full layout intake, EMC + SI + PI + thermal + DFM analysis, audit-grade DOCX report.coexistence-review— multi-radio band selection (mcp-ltspice-qucs / mcp-emc-regulations) followed by layout-level shielding + return-path check (this server).
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.
Common design targets
| Interface | Single-ended Z₀ | Differential Z_diff |
|---|---|---|
| General purpose | 50 Ω | — |
| USB 2.0 | — | 90 Ω |
| USB 3.x | — | 85 Ω |
| HDMI | — | 100 Ω |
| DDR4 / LPDDR4 | 40 Ω | 80 Ω |
| PCIe | — | 85 Ω |
| Ethernet | — | 100 Ω |
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 |
| Antennas | mcp-nec2-antenna |
| Circuit + filter sim | mcp-ltspice-qucs |
| EMC regulatory | mcp-emc-regulations |
| EM simulation (3D) | mcp-openems |
| Diagrams | drawio-engineering-mcp |
| Lab gear | copper-mountain-vna-mcp |
Contributing
Contributions are welcome. See CONTRIBUTING.md for
the contributor guide.
uv pip install -e ".[dev]"
uv run pytest -q
License
AGPL-3.0-or-later. Relicensed from Apache-2.0 in v0.3.0 to ensure modifications shared back when this MCP is wrapped in a network- accessible service. See the eng-mcp-suite LICENSE_SUMMARY for the toolkit-wide rationale.
Acknowledgments
- The KiCad project, ODB++, IPC — the open layout standards this server parses.
- IPC-2141A — controlled-impedance reference behind the trace calculators.
- 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 PCB designers, EMC labs, and AI agents.</sub>
</div>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.