KiCAD MCP Server

Not sure how many of you use ai or LLMs in your day to day. I use them for code a lot, and I wanted to use it for design as well. I have created an MCP (Model Context Protocol) Server that allows a user to pair Claude AI with KiCad. I am looking for feedback, here is my repo:

This will work with Claude desktop, or with VSCode and Cline, or any other MCP Client you wish to use.

7 Likes

So you’re building yourself an autorouter.
Good luck.

1 Like

I don’t even know what role KiCad plays in this game. Just ask the KI to output the Gerber files and be done.

1 Like

I saw no mention of Schematics in your Documentation ?

1 Like

From my understanding, MCP is a standard for allowing LLMs to access and use external tools. This is typically done through an API provided by each tool. Since KiCad has no API for the schematic portion, the MCP doesn’t address it. I’ve seen LLMs drive tools through the GUI, but I don’t think that’s part of MCP.

1 Like

You may want to take a look at kicad-skip. It may allow you to extend your MCP to handle schematic operations.

Also, @Jean_Pierre has a post where he demonstrates using DeepSeek to design a schematic and PCB for an IOT device. It looks like he asks DeepSeek for design advice and then he manually creates the schematic and PCB using that advice. He might be able to more fully automate his design flow using your MCP server.

Schematic design should be here by weekend - I work in hospitals an travel, so its a rough timeline, but I’ll add a python implementation.

I am going to implement this, looks like it will work. Hopefully by weekend.

Using KiCAD-Skip:

We’re excited to announce the addition of schematic generation capabilities! Now, in addition to PCB design, KiCAD MCP enables AI assistants to:

  • Create and manage KiCAD schematics through natural language
  • Add components like resistors, capacitors, and ICs to schematics
  • Connect components with wires to create complete circuits
  • Save and load schematic files in KiCAD format
  • Export schematics to PDF

This powerful addition completes the PCB design workflow, allowing AI assistants to help with both schematic capture and PCB layout in a single integrated environment.

Do you have any screenshots of schematics and PCBs created using Claude and this MCP? I can see functions in the MCP for placing schematic symbols and connecting wires between start and end points, but what does the final result look like? Is it human-readable or just a jumble of parts and wires?

As of now, the repo is not working correctly. I will have it working (hopefully) by tomorrow (Friday). It generates in Kicad format and PDF, I will see if I can post a pic from the tests. I broke something or deleted something going back an forth from work an home, so I apologize.

Sorry, but I’m going to delete the latest posts because they are wildly off-topic. The original topic is directly related to KiCad and can continue.

Edit: done.

@mixelpixx

Does this project communicate with Kicad using the IPC API or via Python scripting?

According to the information here, the Python binding will be removed in a future KiCad release.

https://dev-docs.kicad.org/en/apis-and-binding/pcbnew/index.html

Hey, @mixelpixx . Really like what you have done and the solution matches very nicely with some of the ideas I and our team has. Would you be willing to share your contacts so we could discuss further developments and cooperation?

Mihkel Tedremaa
MOD EDIT:
I’ve removed the email address for your protection. Please click on the poster’s icon and do this via private message.

Following this thread. Just started installing and testing. I was reluctant to install an MCP server for a different project using totally different technologies. Once I did, it unlocked superpowers I never knew existed. I’m hoping for the same experience here! :slight_smile:

Cheers!

Just to report back. This MCP server does in fact work. After a short time (and a bunch of tokens burned) it created this LED board.

It’s not perfect, as some of the LEDs overlap, but I’m sure if I continued to prompt, I could get it to do more. Well done @mixelpixx! I hope this is a helpful tool in my kit moving forward. :slight_smile:

1 Like

Would you care to share your experience using this MCP? It looks like there was only about an hour between installing it and completing the KiCad design, so it couldn’t have required extensive, detail-oriented prompting. How many and what type of prompts did you use?

Hello @mixelpixx this looks great, i.will give it a try today, I wonder what features are missing and if you need help implementing them?

I’m not sure if the PCB portion of this works; I didn’t get to that. And it probably does, because KiCAD has a full API to handle PCB. What it doesn’t have is ANY schematic support and what I was wanting this more so for schematic creation and the ā€œdeveloperā€ said it was working. well, come to find out that’s literally impossible. Firstly you can’t even build this project in it’s current deliverable state, right out of the box. so I’m not sure why people came back to this thread and said it worked without noting that it’s thoroughly broken. This person doesn’t ā€œcodeā€. Otherwise this AI slop would have never been pushed to github.

Just to address the repo issues:

  • there is no .gitignore
  • dist folder was uploaded
  • pycache was uploaded

I’m surprised the node_modules folder wasn’t also uploaded.

The README file is clearly written by AI. That’s not a problem. What IS a problem is how confidently it states that this is ā€œproduction readyā€ and the schematic manipulation works.

Let’s start with the first issue with the code of this application. It is missing 4 files in the source folder that are imported elsewhere. You can’t even build this. Luckily, the dist folder (WHICH SHOULDN’T EVEN BE THERE) had the transpiled files and Claude reverse engineered those. I never really got as far as testing that stuff, because it built, which was what I initially just wanted to get past, right? But, if those files didn’t exist, this whole repo would have been useless. Why no one else noticed this and just came in here and sang its praises, is beyond me.

OK, so I get them built, I get it hooked up to Claude Desktop. It can’t do stuff. It starts loading schematics, but there are typing errors. Get that fixed, there are missing methods in kicad_skip as Claude tries to add a simple component. Come to find out, the functionality it requested aren’t even real freakin’ methods that kicad_skip provides. Basically, kicad_skip is taking an existing schematic and manipulating it. It can’t add components they have to already be present so it can clone components. I’m not sure what the use case is for that, but at least from the concept of trying to put things in some sort of automation, that just isn’t going to cut it. So, essentially, this schematic feature NEVER worked. How do we know the ā€œdeveloperā€ just used AI and had no clue what they were doing? They clearly just asked AI to build a feature, build tests around it that DO NOT work, and then have it update the README saying confidently that the feature worked just to manually upload a folder from their PC directly to github. That is not how a typical developer does their code.

I fully documented what was found here:

As a developer, I never expected non-working, non-tested AI Slop to make its way to github. Thoroughly disappointed with what I just experienced.

1 Like

I feel like there’s some irony here that you depended on AI to aid making this discovery regarding the github repo in the first place ą² _ರೃ

2 Likes