npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

kicad-copilot-mcp

v0.1.0

Published

File-oriented MCP server for KiCad schematics, PCB placement, routing, and pours

Readme

KiCad Copilot

AI-powered MCP server for KiCad. Create and modify schematics from natural language, search real components, work with hierarchical projects, generate PCB placement, route boards locally, and create simple copper pours directly through an AI agent.

KiCad Copilot is the KiCad counterpart to EasyEDA Copilot. It provides the same core circuit-generation and PCB automation capabilities—and goes further with file-oriented hierarchical projects, recoverable checkpoints, native kicad-cli integration, and fully local PCB routing.

Recommended companion: kicad-happy complements KiCad Copilot with independent design review, datasheet-backed analysis, SPICE simulation, EMC pre-compliance, BOM sourcing, and manufacturing checks. Use KiCad Copilot to build and modify the design, then use kicad-happy to analyze and review it.

What it does

KiCad Copilot gives AI agents a high-level, file-oriented interface to KiCad:

  • Generate and modify schematics: add, remove, replace, and connect real components without editing every KiCad object individually.
  • Rebuild schematic blocks: reorganize selected components while preserving their electrical connections.
  • Search components and reusable blocks: resolve components by MPN or part UUID and insert proven functional circuits.
  • Work with KiCad projects: inspect project trees and create projects, standalone schematics, hierarchical sheets, and PCB files.
  • Preserve recoverable checkpoints: save, list, and restore exact versions of individual KiCad files.
  • Synchronize schematic and PCB: explicitly import schematic changes into the associated board.
  • Generate PCB placement: describe board constraints in a compact JavaScript DSL, review PNG/SVG previews, and apply the approved result.
  • Route locally: use the bundled WASM router without sending routing work to an external service.
  • Create copper pours: add simple full-board zones with optional stitching vias.
  • Use native KiCad tooling: discover kicad-cli for ERC, DRC, previews, exports, manufacturing files, and other native operations.

KiCad Copilot works directly with saved .kicad_pro, .kicad_sch, and .kicad_pcb files. It does not require KiCad IPC or a plugin installed inside KiCad.

Examples

These projects were generated and iterated through KiCad Copilot. The complete KiCad source files are available in the examples directory.

ATmega328P development board

A hierarchical ATmega328P design with the MCU core, clock, reset, decoupling, USB-UART power, Nano-compatible headers, and debug connections split across functional sheets.

Download the ATmega328P project

Geiger high-voltage supply

A larger multi-sheet design covering power input, 3.3 V regulation, the high-voltage generator, flyback stage, feedback, detector, controller, and user interface.

Download the Geiger high-voltage project

RP2350 development board

A hierarchical RP2350 design with power, clock, flash, USB/debug, GPIO headers, and an AI-generated PCB placement. The example includes the placement DSL and an editable KiCad board.

Download the RP2350 project

Installation

Add the MCP server to your AI agent.

Codex:

codex mcp add kicad-copilot -- npx -y kicad-copilot-mcp

Claude Code:

claude mcp add kicad-copilot -- npx -y kicad-copilot-mcp

Generic MCP configuration:

{
  "mcpServers": {
    "kicad-copilot": {
      "command": "npx",
      "args": ["-y", "kicad-copilot-mcp"]
    }
  }
}

Restart the MCP client after adding the server. KiCad Copilot includes local workflow documentation for the agent; tool descriptions expose its installed path automatically.

Requirements

  • Node.js 20 or newer
  • KiCad 9 or 10
  • Python 3 only if EasyEDA2KiCad is not already available

KiCad Copilot searches for kicad-cli in PATH and standard KiCad installation locations, preferring KiCad 10 when multiple supported versions are installed. Set KICAD_CLI_PATH when the executable is stored elsewhere.

The first real-component conversion uses an existing EasyEDA2KiCad installation or installs it automatically into a managed local virtual environment.

Schematic workflow

Ask the agent to inspect a KiCad project or give it the path to a target .kicad_sch file. A typical request can be as simple as:

Open D:\Projects\sensor\sensor.kicad_pro and add a 3.3 V regulator block to the Power sheet.

The agent can inspect the project tree, read the target sheet as compact component/net JSON, find exact components, assemble the requested change, and validate the saved result through KiCad.

Hierarchical projects remain file-oriented: each physical schematic sheet is modified through its own .kicad_sch path, while project-wide context is used where the operation requires the complete signal map.

File synchronization

KiCad Copilot changes files on disk. KiCad does not reliably merge those changes with newer unsaved edits in an already open editor.

Before a write:

  1. Save intentional changes in KiCad.
  2. Avoid keeping the only copy of newer work in the editor buffer.

After a write:

  1. Reload, revert, or reopen the document in KiCad.
  2. Do not overwrite the updated file with an older editor buffer.

PCB workflow

PCB placement and routing use an explicit review flow:

  1. Import schematic changes into the target .kicad_pcb file.
  2. Describe the outline, holes, constraints, regions, and important components in the placement DSL.
  3. Generate a mechanical preview without modifying the PCB.
  4. Review the returned PNG or SVG preview.
  5. Generate and approve the complete placement.
  6. Apply the stored placement to the PCB.
  7. Route the remaining connections locally.
  8. Inspect the result and run final KiCad DRC.

Placement previews are never applied automatically. The agent receives a layout_id only for an explicitly generated result and uses it to assemble the intended board after review.

Routing, pours, and placement are separate operations. This keeps schematic-to-PCB synchronization explicit and makes it possible to clear or rebuild routing without deleting placed components.

KiCad CLI

get_project_info reports the discovered kicad-cli path and version. Agents should use the native CLI whenever KiCad already provides the operation, including:

  • schematic ERC and PCB DRC;
  • schematic and PCB PDF/SVG exports;
  • 3D PCB renders;
  • Gerber and drill generation;
  • BOM, position, STEP, STL, GLB, and VRML exports;
  • project jobsets and format upgrades.

See KiCad CLI workflow for ready-to-use commands.

Compatibility

| KiCad version | Status | | ------------- | --------- | | KiCad 10 | Supported | | KiCad 9 | Supported |

Other major versions are rejected because their file formats and CLI behavior are not covered by the current implementation.

Documentation

Development

git clone https://github.com/biosshot/kicad-copilot.git
cd kicad-copilot
npm install
npm run check
npm start

Run the MCP Inspector with:

npm run inspect

The repository also contains focused schematic, PCB, and routing test scripts for development against disposable files.

License

MIT