Skip to main content
Glama
RFingAdam

mcp-pcb-emcopilot

by RFingAdam

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
pcb_parse_layoutA

Parse a PCB layout file (KiCad, ODB++, Gerber, Altium, IPC-2581). Returns session_id for subsequent queries. If a session_id from pcb_start_professional_review is supplied, parsed data is written into that existing session (preserves playbook state).

pcb_get_stackupB

Get layer stackup from a parsed design.

pcb_get_componentsA

Get component list from a parsed design.

pcb_get_netsA

Get net list from a parsed design.

pcb_get_viasA

Get via list from a parsed design.

pcb_get_tracesB

Get trace summary from a parsed design.

pcb_get_drill_tableA

Get drill table: sizes, counts, plating types, aspect ratios.

pcb_get_board_outlineA

Get board outline: dimensions, area, vertices, cutouts.

pcb_get_design_rulesB

Get extracted DRC constraints: min trace, min space, min drill, min annular ring.

pcb_get_copper_poursA

Get copper pour/zone data: areas, nets, clearances per layer.

pcb_get_manufacturing_notesB

Get fab notes, material specs, and manufacturing info.

pcb_calc_microstrip_impedanceA

Calculate microstrip trace impedance using IPC-2141 formulas.

pcb_calc_stripline_impedanceB

Calculate stripline (buried trace between ground planes) impedance.

pcb_calc_differential_impedanceB

Calculate differential pair impedance for USB, HDMI, Ethernet, etc.

pcb_calc_trace_widthB

Calculate minimum trace width for current capacity (IPC-2221).

pcb_calc_cpw_impedanceA

Calculate coplanar waveguide (CPW/GCPW) impedance using conformal mapping. Supports grounded and ungrounded CPW.

pcb_calc_skin_effectA

Calculate skin depth, AC resistance factor, and conductor loss including Hammerstad surface roughness correction.

pcb_calc_dielectric_lossB

Calculate dielectric loss (dB/inch, total dB) for a trace at frequency. Accounts for material loss tangent.

pcb_calc_plane_resonanceC

Calculate power/ground plane cavity resonance frequencies. Identifies modes that can amplify noise and cause EMI.

pcb_calc_via_stitchingA

Calculate required via stitching density and spacing for EMI containment at a given frequency. Uses lambda/20 rule.

pcb_analyze_cavity_resonanceA

Detailed power/ground plane cavity resonance analysis. Calculates all TM modes, Q factors, peak impedances, identifies problematic modes near common clocks, and provides decoupling cap recommendations.

pcb_calc_insertion_lossA

Calculate frequency-swept insertion loss (S21) and return loss (S11) for a PCB trace. Models conductor loss (skin effect + Hammerstad roughness), dielectric loss, and mismatch loss.

pcb_calc_return_lossA

Calculate return loss (S11), mismatch loss, and VSWR from impedance mismatch.

pcb_analyze_mode_conversionA

Analyze differential pair mode conversion: even/odd mode impedances, SCD21 from length asymmetry, common-mode current estimate, and EMI impact.

pcb_analyze_timingC

Analyze timing margins for high-speed signals.

pcb_analyze_crosstalkB

Analyze crosstalk between parallel traces (NEXT and FEXT).

pcb_analyze_viaC

Analyze via electrical characteristics.

pcb_analyze_differential_pairC

Analyze differential pair routing quality.

pcb_analyze_length_matchingB

Analyze trace length matching for a group of signals.

pcb_calc_eye_diagramA

Calculate statistical eye diagram for a high-speed serial channel. Models lossy transmission line (conductor + dielectric loss) and estimates eye opening, jitter, and pass/fail vs standard thresholds.

pcb_analyze_current_loopB

Estimate radiated emissions from a current loop for EMC.

pcb_estimate_bandwidthC

Estimate signal bandwidth and EMC concerns from rise time.

pcb_analyze_shieldingC

Analyze shielding effectiveness of an enclosure.

pcb_analyze_esdC

Analyze ESD protection for a circuit.

pcb_analyze_groundingC

Analyze grounding topology.

pcb_predict_complianceC

Predict EMC compliance for given design parameters.

pcb_analyze_return_current_densityA

Estimate return current density distribution on a reference plane beneath a signal trace. Shows how current concentrates under the trace at high frequencies and spreads at low frequencies. Identifies crowding near plane gaps/edges.

pcb_optimize_ground_stitchingA

Optimize ground via stitching pattern for a reference plane. Calculates spacing from lambda/20 rule and suggests via locations accounting for existing vias and plane gaps.

pcb_analyze_ddrC

Analyze DDR memory interface routing.

pcb_analyze_pcieC

Analyze PCIe lane routing.

pcb_calc_pcie_link_budgetA

Calculate PCIe link insertion loss budget and equalizer margin. Sums trace, connector, via, and package losses then compares against the PCIe generation spec limit.

pcb_validate_pcie_lanesA

Validate PCIe lane-to-lane skew against generation-specific spec limits. Calculates per-lane propagation delay and max skew.

pcb_analyze_usbC

Analyze USB routing.

pcb_analyze_ethernetC

Analyze Ethernet PHY routing.

pcb_validate_ddr_topologyA

Auto-detect and validate DDR memory interface topology from classified nets. Checks byte-lane grouping, DQ-DQS skew, inter-byte-lane skew, addr/cmd-to-clock skew, and fly-by topology against JEDEC limits.

pcb_analyze_ddr_timing_budgetA

Detailed per-lane DDR timing margin analysis against JEDEC budget. Calculates setup/hold margins for each DQ bit relative to DQS.

pcb_analyze_pdnC

Analyze power distribution network impedance.

pcb_calc_pdn_impedanceA

Frequency-swept PDN impedance profiling. Models VRM, bulk caps, MLCC decaps, and plane capacitance as parallel RLC networks. Sweeps from freq_start to freq_stop and flags anti-resonance peaks exceeding the target impedance Z_target = V * ripple% / I_max.

pcb_analyze_decouplingD

Analyze decoupling capacitor placement.

pcb_analyze_vrmC

Analyze VRM placement and routing.

pcb_analyze_solder_pasteC

Analyze solder paste stencil design.

pcb_analyze_placementC

Analyze component placement for manufacturability.

pcb_analyze_assemblyC

Analyze board assembly process considerations.

pcb_analyze_toleranceC

Analyze manufacturing tolerance stackup.

pcb_analyze_thermalC

Analyze thermal dissipation for a component.

pcb_analyze_thermal_viaC

Analyze thermal via array for heat dissipation.

pcb_analyze_copper_spreadingC

Analyze copper area heat spreading.

pcb_analyze_trace_antennaB

Check if a trace could act as unintentional antenna.

pcb_analyze_slot_antennaB

Analyze slot in ground plane as unintentional antenna.

pcb_analyze_common_modeC

Analyze common-mode noise on differential pairs.

pcb_analyze_cable_couplingC

Analyze cable-to-cable coupling for EMI.

pcb_trace_return_pathA

Trace ground return current path for a specific net. Shows return path segments, loop area, split crossings, and via transition quality.

pcb_analyze_return_pathsA

Analyze return paths for all high-speed signal nets. Identifies split-plane crossings, inadequate return vias, and calculates effective loop areas.

pcb_find_split_crossingsA

Find signals crossing ground plane splits/slots. Each crossing forces return current to detour, increasing loop area and EMI risk.

pcb_analyze_emi_riskA

Score EMI risk per net and identify top concerns. Combines return path quality, loop area, frequency content, and current to predict emissions.

pcb_predict_emissionsA

Predict radiated emission spectrum vs regulatory limits. Calculates emission level at each harmonic and compares to FCC/CISPR limits.

pcb_get_emi_hotspotsA

Identify board regions with highest EMI risk. Clusters high-risk nets by location and returns spatial hot-spots.

pcb_classify_netsA

Classify all nets by function (power, ground, DDR, USB, PCIe, etc.) with confidence scores. Detects differential pairs automatically.

pcb_detect_interfacesA

Detect high-speed interfaces (DDR, PCIe, USB, Ethernet, LVDS, RF) with pin counts and associated nets.

pcb_classify_designB

Classify overall design type (rf, mixed_signal, high_speed_digital, power, simple_digital) with complexity score (1-10).

pcb_get_stackup_templatesA

Get common PCB stackup templates with typical impedances.

pcb_get_material_propertiesA

Get dielectric properties for common PCB materials.

pcb_parse_stepA

Parse a STEP (.step/.stp) file for 3D mechanical review. Extracts board outline, component bounding boxes, heights. Returns session_id.

pcb_get_3d_clearancesB

Get component-to-component and component-to-board-edge 3D clearances from STEP data.

pcb_check_enclosure_fitB

Check if PCB assembly fits within an enclosure with required clearances.

pcb_render_boardA

Render SVG board view with component placement, traces, vias. Supports layer filtering, net/component highlighting.

pcb_render_stackupA

Render SVG cross-section of the PCB layer stackup showing copper, dielectric, solder mask layers with thicknesses.

pcb_render_netA

Render SVG highlighting a specific net's traces and vias on the board.

pcb_annotate_boardA

Render SVG board view with annotation overlays (arrows, text callouts, highlight regions, warning markers).

pcb_export_render_pngB

Export an SVG render (board, stackup, net, annotated) to a PNG image file. Requires cairosvg.

pcb_export_all_rendersA

Generate and export all standard renders (board, stackup, key nets, annotated findings) as PNG files to a directory. Returns mapping of label to file path.

pcb_generate_docx_reportB

Generate a professional DOCX design review report with embedded board renders, schematic images, and analysis findings. Requires python-docx and cairosvg.

pcb_parse_schematic_pdfA

Parse a PDF schematic to extract component references, net labels, and page data. Uses text-layer extraction (requires pymupdf for full support). If session_id provided, attaches schematic data to existing layout session for cross-reference.

pcb_get_schematic_pageA

Get extracted text and annotations for a specific schematic PDF page. Returns page text, detected components, and net labels. If pymupdf is installed, can also render the page as an image.

pcb_cross_reference_schematicA

Cross-reference schematic components/nets against layout. Finds missing components, extra components, value mismatches, and unrouted nets. Requires both schematic and layout data in the session.

pcb_parse_schematicA

Parse a schematic file with auto format detection (.kicad_sch, .SchDoc, .pdf, .net). Populates schematic_components and schematic_nets on the session. Use over pcb_parse_schematic_pdf when you want format-agnostic parsing.

pcb_parse_bomA

Parse a BOM (CSV or Excel) and attach the items to the session for downstream cross-reference and rating analyzers.

pcb_analyze_power_topologyA

Walk the schematic's power nets and report missing bulk/bypass caps, ungrounded rails, and rails without an identified regulator/input source. Requires schematic data via pcb_parse_schematic.

pcb_analyze_protection_circuitsA

Identify external-facing nets (USB, Ethernet, antenna ports, GPIO headers, CAN/LIN buses, etc.) and check for TVS/ESD diodes, common-mode chokes on differential pairs, and fuses on power inputs.

pcb_analyze_decoupling_per_icA

For each IC in the schematic, count capacitors on its Vdd-class nets and flag ICs under-decoupled relative to the 1-cap-per-Vdd-pin guideline.

pcb_analyze_signal_flowA

Trace clock distribution, reset distribution, and JTAG/SWD accessibility through the schematic. Flags clock fan-out > 4 unbuffered loads, multi-driver reset contention, ICs without debug headers, and reset nets missing a supervisor IC.

pcb_three_way_cross_referenceA

Compare schematic, BOM, and layout component lists in one pass. Detects missing components, footprint mismatches, value mismatches, DNP flag inconsistencies, MPN divergence, and manufacturer differences. Severity-graded per the playbook.

pcb_start_professional_reviewA

ENTRY POINT for a meticulous senior-consulting-engineer design review. Call this FIRST, before any parser or analyzer. Classifies the user's input files (schematic, layout, stackup, BOM, STEP, etc.), selects the per-market question pack and standards shortlist, and returns the binding 8-pass playbook (P0-P8) that Claude must follow. See docs/CLAUDE_REVIEW_PLAYBOOK.md.

pcb_set_marketA

Set or add a market on an existing review session (e.g. switching from commercial to automotive, or adding wireless on top of medical for a connected device). Updates the session's question pack and standards shortlist. Call before pcb_get_review_questions to receive the merged pack.

pcb_get_standards_coverageA

Return the per-standard coverage report for the session: which analyzers ran, which are still required, which standards are stub or unimplemented. Surfaces gaps the human reviewer should resolve before final sign-off.

pcb_validate_review_completeA

Run the preflight gate. Refuses to advance unless the active markets' required questions are answered, at least one standard is selected, and no stub/unimplemented standards lack a human-review note. Returns a ValidationGate breakdown.

pcb_set_review_contextA

Set design review context: requirements, standards, known issues, operating conditions. Call before pcb_run_design_review.

pcb_get_review_questionsA

Get list of questions the tool needs answered for a complete design review. Call after parsing, before running review. Returns questions tailored to the detected interfaces and design characteristics.

pcb_answer_review_questionsA

Provide answers to review questions identified by pcb_get_review_questions. Call before running design review to supply missing context.

pcb_run_design_reviewA

Run full automated multi-domain design review. Classifies design, selects relevant analyzers, runs analysis, cross-correlates findings, and generates structured results.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/RFingAdam/mcp-pcb-emcopilot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server