KiCad MCP Server: Connect an AI Assistant to a PCB Design Workflow
How to connect an AI assistant to KiCad through an MCP server, what operations are supported, and how to keep design constraints and review decisions in a shared record across sessions.
Updated 5 min read
A KiCad MCP server lets an AI assistant read schematic data, check design rules, and inspect component properties from a KiCad project — without you copying information out of the tool and into a chat. The assistant can help with reference designator conventions, review a net list for obvious issues, or suggest footprint choices based on the project constraints. Tools like fenbs keep the design constraints, review decisions, and outstanding checks in a shared record so every session starts from what the previous session established.
KiCad MCP servers are community-built tools that interact with KiCad's scripting interface or exported file formats. The approach depends on the server: some use KiCad's Python scripting console, others parse the KiCad file format directly. Check the current community options and the supported KiCad version before committing to one.
What a KiCad MCP server can do
Typical operations include reading the schematic netlist, listing components with their values and footprints, checking for unconnected pins, reading design rule check (DRC) results, and querying the PCB layout for clearances. More capable servers may also support creating components or modifying properties, though those operations require careful human review.
- List all components with reference designators, values, and footprints.
- Read the netlist to identify connections and flag potential issues.
- Retrieve DRC results and explain each violation in plain language.
- Check that component packages are consistent with the design's manufacturing constraints.
- Identify unconnected pins or nets that may be missing intentional connections.
Keep the engineer in the review loop
An AI assistant working with KiCad can catch obvious issues and suggest improvements, but it cannot replace an engineer's review of a design intended for manufacture. Component tolerances, EMC considerations, high-speed routing rules, and thermal constraints require domain expertise that the assistant may not apply correctly. Use the assistant for first-pass checks and to surface questions; keep the final review with a qualified engineer.
For any suggestion the assistant makes — a component swap, a layout change, a rule violation explanation — verify it against the datasheet, the manufacturer's application note, or your team's design guidelines before acting on it. A plausible answer is not the same as a correct one.
Connect the KiCad MCP server
KiCad MCP servers that use the Python scripting interface require KiCad to be open with the target project loaded. The server connects to KiCad's built-in Python console and calls the pcbnew or eeschema API to read design data. Servers that parse KiCad files directly read the .kicad_pcb, .kicad_sch, and .kicad_pro files from disk and do not require the application to be running. The file-based approach is simpler to set up but may not reflect unsaved changes.
Whichever approach you use, point the server at a specific project directory rather than a broad file path. Test it by asking the assistant to list components in a small test project before using it on a real design. Confirm the component names, reference designators, and footprints come back as expected.
Define the design constraints before the assistant works with them
Every PCB project has design constraints that are not visible in the schematic or layout file: the target board house and its minimum trace width, the voltage ratings that drove component choices, the thermal budget, the component sourcing restrictions. Without these constraints, an assistant will suggest changes that may be valid in isolation but wrong for the specific project.
Record these constraints in fenbs as Decisions and rules before asking the assistant to review the design. A rule that says "use only components from the approved vendor list for this product" prevents the assistant from suggesting alternatives that the procurement team would reject.
Keep outstanding checks and design decisions across sessions
PCB design projects span many sessions. Between them, decisions about component choices, layout strategies, and review findings accumulate. Without a record, the next session — or the next engineer — has to re-examine the design to understand what was already decided. fenbs keeps those decisions and the outstanding checks as tasks and Decisions and rules, so the next session can pick up exactly where the previous one left off.
How to track KiCad design decisions with fenbs
Use fenbs to record the design constraints, review outcomes, and open issues alongside the project tasks. Keep the schematic and layout files in your version control system.
- Create a free account and start a project for the PCB design. Describe the product, the target board house, and the key design constraints.
- Write the first Decisions and rules: minimum trace width and clearance for the board house, component sourcing restrictions, voltage and current ratings that are non-negotiable.
- After each review session, add a task for each outstanding issue the assistant or engineer identified, with enough context to continue without re-reading the full schematic.
- Record design decisions — a component choice and its reason, a routing strategy, a constraint waiver — as Decisions with the name of the engineer who approved them.
- Connect your assistant via Integrations so it reads the current constraints before reviewing the design or suggesting changes.
Keep design constraints where every review session starts from them
fenbs stores your PCB design constraints, component decisions, and outstanding review items as Decisions and rules and tasks. A connected assistant reads them before reviewing the design, so it knows the board house requirements, sourcing rules, and what the previous session already verified. Create a free account and add the first design constraint before the first review session.
Create a free accountFree for one person · No credit card · Works with Claude, ChatGPT, Cursor and more