mcp-pcb-emcopilot
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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