KiCad MCP

mixelpixx/KiCAD-MCP-Server· Проверено 12.11.2026· 3,3 тыс.на GitHub

Даёт агенту проектировать печатные платы в KiCad: собрать схему, расставить компоненты, развести дорожки, прогнать DRC и ERC и выгрузить Gerber, BOM и файл установки компонентов.

253 инструмента в 20 категориях с поиском по ключевым словам; работает с файлами проекта через Python-модуль pcbnew из KiCad, автотрассировка через Freerouting.

Как подключить

Что сделать до подключения

1

KiCad 9.0 или новее, Node.js 18 или новее и Python 3.11 или новее

2

Склонировать репозиторий веткой stable: git clone --branch stable https://github.com/mixelpixx/KiCAD-MCP-Server.git

3

В папке выполнить npm install и npm run build: должен появиться dist/index.js

4

Прописать в PYTHONPATH путь к Python из KiCad, например C:\Program Files\KiCad\9.0\bin\Lib\site-packages на Windows

5
JLCPCB_API_KEY

необязательно: ключ JLCPCB API из Account → API Management, нужен корпоративный аккаунт с историей заказов

6
JLCPCB_API_SECRET

необязательно: секрет к тому же ключу JLCPCB

Конфиг для вашего клиента

Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code

claude mcp add --env 'PYTHONPATH=<папка site-packages Python из KiCad>' --env LOG_LEVEL=info --transport stdio kicad \
  -- node '<путь к KiCAD-MCP-Server>/dist/index.js'

Проверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.

Инструменты сервера

search_toolsищет инструменты по слову
create_projectсоздаёт проект KiCad
open_projectоткрывает проект
get_board_infoчитает свойства платы
add_schematic_componentдобавляет символ на схему
connect_to_netподключает вывод к цепи
run_ercпроверяет схему по ERC
place_componentставит посадочное место на плату
place_component_arrayставит компоненты массивом
add_netсоздаёт цепь на плате
route_traceпрокладывает дорожку
add_viaдобавляет переходное отверстие
add_zoneзаливает полигон меди
run_drcпроверяет плату по DRC
autorouteразводит плату через Freerouting
create_footprintсоздаёт своё посадочное место
create_symbolсоздаёт свой символ
search_jlcpcb_partsищет детали в каталоге JLCPCB
export_gerberвыгружает Gerber для производства
export_bomвыгружает перечень элементов

Показано 20 из 253.

Что попросить агента

«Создай проект KiCad <название> в папке <путь>, плата 50×50 мм»Агент вызовет create_project и задаст размеры и контур платы
«Поставь светодиод в точку x=10, y=10 мм с посадочным местом <footprint> и сетку из 4 резисторов с шагом 5 мм»Агент вызовет place_component для светодиода и place_component_array для резисторов
«Создай цепь <имя> и проложи дорожку 0,3 мм от R1 pad 2 к аноду светодиода, залей GND на нижнем слое»Агент вызовет add_net, route_trace и add_zone
«Разведи плату через Freerouting с таймаутом 5 минут и проверь результат»Агент вызовет autoroute, затем run_drc и покажет нарушения
«Проверь правила и выгрузи Gerber в папку fabrication»Агент вызовет run_drc и export_gerber

Для каких задач

Создать проект и собрать схему из библиотечных символов
Расставить компоненты на плате и развести её вручную или через Freerouting
Прогнать проверки платы и схемы: DRC и ERC
Сделать своё посадочное место или символ для модуля, которого нет в библиотеке KiCad
Подобрать детали из каталога JLCPCB с ценами и наличием
Выгрузить Gerber, BOM, файл установки компонентов и 3D-модель платы

Ограничения

!

Нужен KiCad 9.0+ и правильный PYTHONPATH к его Python: без модуля pcbnew сервер не работает

!

Автотрассировке нужен Freerouting, а ему Java, Docker или Podman

!

Полный каталог JLCPCB качается 40–60 минут и занимает 3–5 ГБ; ключ JLCPCB API выдают только корпоративным аккаунтам с историей заказов

!

Связь с открытым окном KiCad через IPC API пока экспериментальная; ошибки в схеме и разводке остаются на вас, проект за них не отвечает

Если не работает

Claude Desktop пишет Server transport closed unexpectedly, сервер сразу закрывается
Чаще всего Python не находит модуль pcbnew. Откройте свежий лог в ~/.kicad-mcp/logs/ и проверьте PYTHONPATH в конфиге: он должен вести к Python из KiCad.
Ошибка ModuleNotFoundError: No module named 'pcbnew'
Проверьте, что KiCad поставлен с Python, и что PYTHONPATH в конфигурации совпадает с вашей установкой KiCad.
После перезапуска сервера команды по плате падают
Сервер теряет ссылку на плату при перезапуске: первым делом попросите агента вызвать open_project.
Окно KiCad не показывает изменения, сделанные агентом
Бэкенд SWIG пишет прямо в файл: выберите File > Revert или откройте файл заново. Для обновления на лету включите IPC API в Preferences > Plugins.
get_board_info падает с AttributeError: 'BOARD' object has no attribute 'LT_USER'
Это известная ошибка на KiCad 9.0: для основных сведений о проекте используйте get_project_info.

Частые вопросы

Агент запутается в 253 инструментах?
Можно включить наборы через KICAD_MCP_TOOLBOXES=core: агент начинает с ядра из 37 инструментов и открывает остальные по категориям. Найти нужный помогают search_tools и get_category_tools.
Можно дать агенту только смотреть проект?
Да: KICAD_MCP_OPERATING_MODE=readonly оставляет только инструменты, которые не меняют проект. Режим manufacturing добавляет к ним выгрузку файлов для производства.
Сервер пишет No module named 'pcbnew'. Что делать?
Проверьте, что KiCad стоит с поддержкой Python: python3 -c "import pcbnew". Затем сверьте PYTHONPATH в конфиге с папкой вашей установки KiCad. Пути в конфиге должны быть абсолютными.
Как подключить каталог JLCPCB без ключа?
Попросите агента скачать базу деталей JLCPCB: она соберётся из публичного JLCSearch в data/jlcpcb_parts.db. Аккаунт и ключ не нужны, но загрузка всего каталога из 2,5 млн деталей занимает 40–60 минут.
Где смотреть логи?
Логи пишутся в ~/.kicad-mcp/logs/kicad_interface-<pid>.log, по файлу на каждый процесс сервера.
Работает ли сервер из России?
Сервер работает на вашем компьютере; каталог JLCPCB через публичный JLCSearch открыт без ключа и аккаунта.

Похожие серверы