Skip to main content
Glama
nevenfo

KiCad Agentic MCP

by nevenfo

KiCad Agentic MCP

Проектирование печатных плат с помощью ИИ для KiCAD 10. Konnect — это нативный плагин KiCAD — один бинарный файл на Rust — который позволяет Claude и другим ИИ-ассистентам проектировать схемы и печатные платы через Model Context Protocol (MCP).

202 инструмента в 22 наборах инструментов по запросу. Ввод схем, трассировка и компоновка печатных плат, ERC/DRC, аудит проектных решений, поиск компонентов JLCPCB, Freerouting, справочные схемы и полный конвейер экспорта производства — со встроенными навыками и агентами, которые с самого начала обучают Claude соглашениям KiCAD.

Этот репозиторий — KiCad Agentic MCP, агентный форк mixelpixx/Konnect v0.2.2, под той же лицензией AGPL-3.0. Поверх инструментальной поверхности Konnect он добавляет MCP-шлюз, план IR с детерминированным исполнителем, дескрипторы доказательств, состояние задач и среду выполнения локальных моделей. Бинарный файл сервера по-прежнему называется konnect.

Статус: v1.1.1. Что он измеряет, что упускает и что не охватывает — в RELEASE_NOTES.md; каждая цифра, приведённая ниже, восходит к docs/benchmark.md. Проблемы и PR приветствуются — см. CONTRIBUTING.md и соглашения об именовании.

Что делает один промпт

Один промпт, на стартовой плате, зафиксированной в examples/demo/ — воспроизводимо, а не иллюстративно. Вердикт KiCAD, а не наш: 5 несоединённых элементов до, 0 после, 11 сегментов дорожек, без ошибок; запущено дважды из одного состояния — та же схема оба раза, разные координаты.

Два числа, потому что они измеряют две разные вещи: изменения платы вносятся менее чем за секунду (0,69 с и 0,77 с времени Konnect), а промпт вокруг них занимает от 6 до 7 минут, потому что модель трассирует один сегмент за ход. Оба запуска, по вызовам, находятся в demo-run-2.md и demo-run-3.md.

Related MCP server: mcp-kicad-cli

Быстрый старт

Пять шагов от страницы релизов до изменения, которое сам KiCAD подтверждает. Пройдено на машине, где Konnect никогда не был установлен; запись, включая то, что пошло не так, — в docs/launch/first-run-walk.md.

Что измерил этот проход: около девяти кликов и диалогов между запуском KiCAD и установленным плагином, два перезапуска KiCAD и первая задача, которая вернулась за 108 мс. Общее время определяется тем, как быстро вы кликаете, поэтому оно не приводится как число.

Перед началом вам нужны KiCAD 10 (проверено на 10.0.3) и MCP-клиент — Claude Desktop, Claude Code или что-либо ещё, что говорит на MCP. Больше ничего: ни Node, ни Python, ни дерева пакетов. Windows — самая протестированная платформа; см. Требования о положении macOS и Linux.

1 — Загрузите пакет плагина. Со страницы Releases возьмите konnect-pcm-v<version>-windows.zip (или -macos.zip / -linux.zip). Артефакты konnect-pcm-* — это пакеты плагинов KiCAD; остальные архивы — это автономные бинарные файлы сервера, которые вам не нужны для этого пути.

2 — Установите его. KiCAD 10 → Plugin and Content Manager → Install from File… → выберите zip. Он устанавливается в момент выбора файла — кнопка Apply Pending Changes остаётся серой, и подтверждать больше нечего. Перезапустите KiCAD.

3 — Включите API KiCAD. Preferences → Plugins → отметьте Enable KiCad API, затем перезапустите KiCAD. KiCAD поставляется с выключенным этим параметром, и каждый инструмент для печатных плат здесь общается с KiCAD через него. Редактирование схем и экспорт работают без него; живое редактирование платы — нет. После перезапуска на той же странице должно быть Listening on ipc://….

4 — Укажите вашему MCP-клиенту на сервер. После установки через PCM бинарный файл находится в вашей папке документов KiCAD:

C:\Users\<YOU>\Documents\KiCad\10.0\3rdparty\plugins\com_github_mixelpixx_konnect\bin\konnect.exe

Вставьте этот путь в MCP-конфиг вашего клиента — %APPDATA%\Claude\claude_desktop_config.json для Claude Desktop, .mcp.json в корне проекта для Claude Code. Готовые к копированию версии обоих находятся в examples/, а полные фрагменты — ниже. Перезапустите клиент; konnect должен сообщить 21 инструмент при запуске. Это весь стартовый набор — остальная часть каталога загружается по запросу или вызывается через шлюз, вообще не появляясь в tools/list. konnect-settings.json не требуется для стандартной установки KiCAD 10: v1.1.1 обнаруживает kicad-cli, бинарный файл GUI KiCAD и адрес IPC. Явные настройки остаются доступными для нестандартных или переносимых установок.

5 — Дайте ему задачу, открыв проект KiCAD. Например:

Добавь подцепь LDO-регулятора на 3,3 В в мою схему и запусти ERC.

Ответ должен назвать размещённые компоненты — регулятор, его входной и выходной конденсаторы — и содержать результат ERC, полученный от kicad-cli, а не от модели. Откройте схему в KiCAD: символы на месте.

Проверьте саму установку в любой момент: откройте проект (редактор плат KiCAD отказывается открываться без него), затем PCB Editor → Tools → External Plugins, где вы должны увидеть Konnect.

Что это пока не делает

  • Инструменты для печатных плат требуют запущенного KiCAD с включённым API и открытой платой. Безголового пути для плат нет — у pcbnew его нет.

  • Бинарные файлы macOS не подписаны и не нотаризованы. Gatekeeper блокирует их при первом запуске; в разделе macOS есть точная команда xattr.

  • Linux компилируется и проходит CI, но не проходил платформенного QA против запущенного KiCAD.

  • Символы и посадочные места размещаются, а не создаются. Konnect ищет и использует существующие библиотечные компоненты; создание новых — в дорожной карте.

Если какой-либо из этих пяти шагов у вас не сработал — именно это стоит сообщить: отправьте отчёт о первом запуске. Это займёт около двух минут, и это единственный способ, которым всё это измеряется на машине, не принадлежащей мейнтейнеру.

Зачем существует Konnect

Konnect — преемник KiCAD-MCP-Server, проекта на Python/TypeScript, который доказал, что проектирование печатных плат с помощью ИИ работает — и заодно показал, где именно эта архитектура упирается в тупик. Konnect был создан, чтобы исправить именно эти проблемы:

Путь вызова был слишком длинным. В исходном сервере один вызов инструмента проходит через TypeScript, проверку схемы, порождённый подпроцесс Python, JSON через stdin/stdout, маршрутизатор команд и, наконец, прокси-объекты C++, сгенерированные SWIG, прежде чем что-либо коснётся вашей платы. Это четыре границы языков и сериализации, каждая со своими режимами отказа — управление жизненным циклом подпроцесса, разбор stdout, который отфильтровывает предупреждения, протекающие в поток из KiCAD, сборка фрагментированного JSON. В Konnect вызов инструмента — это вызов функции. Один процесс, один язык, никакой обвязки.

Поверхность зависимостей была огромной. Запуск оригинала означает наличие Node.js и его дерева npm, Python и его пакетов pip, wxPython, kicad-skip и SWIG-привязок KiCAD — две экосистемы пакетов плюс слой привязок, каждая из которых — движущаяся мишень, способная сломать установку. Konnect — это один бинарный файл — 24 МБ на Windows, без интерпретатора, без дерева пакетов. Нечего устанавливать рядом и нечего согласовывать по версиям.

SWIG — тупик. Бэкенд для печатных плат оригинала зависит от SWIG-привязок Python KiCAD, которые KiCAD объявляет устаревшими в пользу своего IPC API. SWIG также нёс реальные операционные шрамы: вызов заливки зоны, способный вызвать segfault бэкенда, ошибки сравнения прокси-объектов и путь отката, способный молча переключать бэкенды в середине сеанса. Konnect общается с KiCAD 10 через официальный IPC API (protobuf поверх NNG) — интерфейс, в который KiCAD вкладывается, — с редактированием платы в реальном времени, интегрированным с собственным undo/redo KiCAD.

Редактирование схем не должно портить файлы. Konnect редактирует файлы .kicad_sch через собственный движок S-выражений с атомарной записью (write, fsync, rename), сохранением UUID и round-trip тестами — без сторонней библиотеки схем с известными пробелами, без обходных путей через манипуляции с текстом.

Экономия контекста — это функция. Предоставление всего каталога — 215 инструментов, когда загружен каждый набор, — стоит 33K токенов контекста при каждом листинге. Маршрутизатор Konnect открывается со стартовым набором из 21 инструмента / 2,8K токенов и позволяет модели подтягивать наборы инструментов по запросу или вообще пропускать каталог и вызывать инструменты через шлюз (kicad_describe / kicad_invoke), который вообще никогда не меняет tools/list — плюс встроенная наблюдаемость (get_recent_calls, server_stats, журналы вызовов JSONL), чтобы модель могла диагностировать собственные сбои инструментов. Эти цифры измерены, а не оценены: см. docs/benchmark.md.

Результат — меньше, быстрее устанавливается, соответствует направлению развития KiCAD и создан для производственного использования, а не для экспериментов. Исходный проект остаётся открытым, поддерживаемым и полезным — см. сравнение ниже.

Что он делает

Вместо описания изменений и ручного их применения ИИ работает с вашим проектом напрямую:

  • Размещает и соединяет компоненты схемы — добавляет резисторы, ИС, разъёмы; соединяет их по именам выводов

  • Разводит печатную плату — размещает, перемещает, поворачивает и трассирует посадочные места в реальном времени через IPC API KiCAD, с полной интеграцией undo/redo

  • Запускает проверки проекта — ERC, DRC, проверку связности, аудит развязки, проверку цепей питания, проверку здоровья BOM

  • Экспортирует производственные файлы — Gerber, сверловку, BOM, pick-and-place, 3D-модели, PDF

  • Ищет компоненты JLCPCB — находит складские компоненты в локальном каталоге на 2,5 млн позиций и предлагает альтернативы

  • Начинает со справочных схем — шаблоны USB-C, LDO, buck-преобразователя, STM32, I2C, LED с проверенными номиналами компонентов

  • Наблюдает за процессом — живой просмотрщик схем автоматически обновляется по мере редактирования ИИ

Полный каталог инструментов описан в tool-directory.md.

Как это работает

Слой

Механизм

Маршрутизация инструментов

Стартовый набор при запуске (21 инструмент), наборы по запросу или шлюз kicad_describe / kicad_invoke, вызывающий инструменты без их перечисления

Редактирование схем

Прямое редактирование S-выражений .kicad_sch с атомарной записью (KiCAD не требуется)

Редактирование плат

IPC API KiCAD 10 (NNG + protobuf) — в реальном времени, с поддержкой undo, требует запущенного KiCAD

Экспорт и проверки

Подпроцесс kicad-cli (Gerber, PDF, ERC, DRC, …)

Транспорт

MCP JSON-RPC через stdio (по умолчанию) или Streamable HTTP (transport = "http" / "both")

Установка

Из менеджера плагинов KiCAD (рекомендуется)

  1. Скачайте пакет для вашей ОС из Releases: konnect-pcm-v<version>-windows.zip, -macos.zip или -linux.zip. Каждый содержит серверный бинарник для этой платформы — пакет macOS является универсальной сборкой, так что одной загрузки хватает и для Apple Silicon, и для Intel. (Ассеты konnect-pcm-* — это пакеты плагинов KiCAD; остальные архивы — отдельные серверные бинарники.)

  2. Откройте KiCAD 10 → Plugin and Content Manager

  3. Нажмите Install from File и выберите zip. Установка происходит при выборе — Apply Pending Changes остаётся неактивной, и больше ничего подтверждать не нужно

  4. Перезапустите KiCAD

  5. Включите KiCAD API: Preferences → Plugins → Enable KiCad API, затем снова перезапустите KiCAD. Он поставляется выключенным, и он нужен каждому инструменту PCB

Проверка: откройте (или создайте) проект — редактор PCB в KiCAD не откроется без него — затем PCB Editor → Tools → External Plugins → вы должны увидеть Konnect.

Сборка из исходников

# protoc is required (protobuf code generation), and cmake (the nng crate
# compiles the NNG C library with it).
# Windows: choco install protoc cmake
# macOS:   brew install protobuf cmake
# Linux:   apt install protobuf-compiler cmake
cargo build --release -p konnect

macOS

На странице Releases доступны отдельные серверные бинарники для Apple Silicon (aarch64-apple-darwin) и Intel (x86_64-apple-darwin). Они ещё не подписаны кодом, поэтому если вы скачали один через браузер, снимите флаг карантина перед первым запуском:

tar xzf konnect-v*-aarch64-apple-darwin.tar.gz
xattr -d com.apple.quarantine ./konnect   # only needed for browser downloads
./konnect --help

Или соберите из исходников, как описано выше (проверено на Apple Silicon; тот же бинарник target/release/konnect является MCP-сервером).

KiCad на macOS хранит свои инструменты внутри пакета приложения, и их нет в PATH; v1.1.1 ищет стандартный пакет приложения и автоматически использует адрес IPC KiCad по умолчанию. Только необычная или переименованная установка требует явных переопределений в ~/Library/Application Support/konnect/config.toml:

kicad_cli = "/Applications/KiCad/KiCad.app/Contents/MacOS/kicad-cli"
kicad_binary = "/Applications/KiCad/KiCad.app/Contents/MacOS/kicad"
# Optional override; the default is ipc:///tmp/kicad/api.sock.
ipc_address = "ipc:///tmp/kicad/api.sock"

Конфиг Claude Desktop находится в ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "konnect": {
      "command": "/path/to/konnect"
    }
  }
}

Для Claude Code поместите тот же фрагмент в .mcp.json в корне вашего проекта.

Пакет PCM для macOS (konnect-pcm-v<version>-macos.zip) содержит универсальный серверный бинарник, так что одной загрузки хватает для обеих архитектур. Просмотрщик схем компилируется и запускается на macOS (Tauri 2 использует системный WKWebView — WebView2 требуется только в Windows), но пока не прошёл такого же объёма испытаний, как сборка для Windows.

Настройка с Claude Desktop

После установки PCM серверный бинарник находится в папке документов KiCAD:

C:\Users\<YOU>\Documents\KiCad\10.0\3rdparty\plugins\com_github_mixelpixx_konnect\bin\konnect.exe

Отредактируйте %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "konnect": {
      "command": "C:\\Users\\<YOU>\\Documents\\KiCad\\10.0\\3rdparty\\plugins\\com_github_mixelpixx_konnect\\bin\\konnect.exe"
    }
  }
}

Перезапустите Claude Desktop, и появятся инструменты Konnect. Для Claude Code поместите тот же фрагмент в .mcp.json в корне вашего проекта (см. examples/).

Просмотрщик схем

Отдельный просмотрщик, который автоматически обновляется при изменении файла схемы:

schematic-viewer.exe path\to\your\root_schematic.kicad_sch

Укажите его на корневой лист иерархической схемы, и все подчинённые листы также будут отрисованы, с селектором листов с отступами по глубине на панели инструментов. Правки, сохранённые из KiCAD (или сделанные ИИ через инструменты схем), перерисовывают только изменённые листы и обновляют вид в реальном времени — рендеринг выполняется по снимкам во временной папке, поэтому просмотрщик никогда не блокирует сохранение в KiCAD. Панорамирование — перетаскиванием, масштабирование — колесом, 0 — подогнать, R — обновить, перетаскивание файла — открыть другой. Также может быть запущен ИИ через инструмент open_schematic_viewer.

Требуется среда выполнения WebView2 (предустановлена на Windows 10/11) и установка KiCAD для kicad-cli (обнаруживается автоматически, или передайте --kicad-cli <path>). Собирается отдельно от основного рабочего пространства — см. DEV.md для шагов сборки.

Требования

  • KiCAD 10 (Windows — самая протестированная платформа; macOS работает из релизных бинарников или сборки из исходников — см. раздел macOS выше. Linux компилируется и проходит тесты в CI, но ещё не проходил отдельного QA для платформы; оба отслеживаются в дорожной карте)

  • kicad-cli (поставляется с KiCAD — используется для экспорта, ERC, DRC). Установщик KiCAD не добавляет его в PATH; сервер ищет в обычных местах установки, и вы можете указать его явно, если он у вас в другом месте

  • Для инструментов PCB: KiCAD запущен с открытой целевой платой, и включён KiCAD API — Preferences → Plugins → Enable KiCad API, который поставляется выключенным

Лицензия: бесплатно для маленьких

Konnect лицензирован под GNU AGPL-3.0.

Если вы любитель, студент, фрилансер или open-source проект: используйте его свободно, без каких-либо обязательств. Проектируйте платы, выпускайте их, продавайте.

Если вы бизнес: AGPL требует, чтобы всё, что вы строите на основе Konnect или вокруг него — включая программное обеспечение, предоставляемое через сеть — было открыто под той же лицензией. Если это вам не подходит, доступны коммерческие лицензии: см. COMMERCIAL.md.

Отношение к KiCAD-MCP-Server

Оригинальный Python/TypeScript проект остаётся полностью открытым (MIT) и поддерживается. Konnect — это место, где происходит новая разработка — архитектура, которую он доказал, перестроенная для продакшена:

KiCAD-MCP-Server

Konnect

Среда выполнения

Node.js + Python + SWIG-привязки

Один бинарник (24 МБ), не требует установки среды выполнения

Путь вызова инструментов

TS → подпроцесс → Python → SWIG C++

Прямой вызов функции

Бэкенд PCB

SWIG (устаревший в KiCAD) + экспериментальный IPC

KiCAD 10 IPC API

Бэкенд схем

kicad-skip + пользовательские загрузчики

Собственный движок S-выражений, атомарные записи

Стоимость контекста

Паттерн маршрутизатора

Маршрутизатор + шлюз: 2,8 тыс. токенов при запуске против каталога из 33 тыс.

Навыки / агенты

—

6 навыков + 2 агента в комплекте

Лицензия

MIT

AGPL-3.0 + коммерческая

Устранение неполадок

Плагин не появляется в KiCAD — установите через Plugin and Content Manager (не вручную), затем перезапустите KiCAD. Запись находится в Tools → External Plugins в редакторе PCB, который вообще не откроется, пока не открыт проект.

Инструменты PCB возвращают "IPC connect failed" — должны выполняться два отдельных условия: Preferences → Plugins → Enable KiCad API отмечен (KiCAD поставляется с выключенным), и KiCAD запущен с открытым файлом платы. Страница API должна показывать Listening on ipc://… после перезапуска. docs/TROUBLESHOOTING.md описывает оба.

"Failed to spawn kicad-cli" — сервер ищет kicad-cli в следующем порядке: значение kicad_cli в вашем конфиге, если вы его задали, затем PATH, затем известные префиксы установки (включая %LOCALAPPDATA%\Programs\KiCad\<ver>\bin, куда установщик KiCAD помещает установку для пользователя), затем реестр Windows. Он записывает, какой из них ответил при запуске. Если ни один не отвечает — необычное место установки, портативная копия — укажите kicad_cli явно в диалоге настроек плагина или в файле конфигурации.

Валидатор сообщает об ошибке вместо нулевых результатов — это намеренно. Проверка, которая не смогла выполниться, никогда не сообщается как успешно пройденная.

Поддержка

Никакой телеметрии. Konnect ничего не сообщает, нигде, никогда. Всё, что известно о его поведении на чужих машинах, появилось потому, что кто-то решил это записать. Инструмент, который редактирует ваши файлы проектов, заслуживает доверия тем, что не звонит домой.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    MCP servers for KiCad schematic, PCB, symbol, footprint, and project automation, enabling AI-assisted electronic design via tools for read/write, analysis, and exports.
    109
    505 PyPI
    15
    GPL 3.0
  • A
    license
    B
    quality
    D
    maintenance
    Enables KiCad CLI automation via MCP, providing tools for ERC, DRC, BOM export, netlist export, Gerbers, drill files, STEP, IPC-2581, and GLB output.
    10
    Apache 2.0
  • A
    license
    B
    quality
    C
    maintenance
    Provides schematic/PCB analysis, authoring, and SPICE simulation through MCP, enabling direct KiCad file manipulation and verification without requiring KiCad for reading.
    18
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to drive KiCAD PCB design automation through MCP, covering schematic authoring, board and routing operations, footprint/symbol libraries, vendor PCB import, validation and DRC, and manufacturing export. It exposes 236 registered tools with keyword discovery, dynamic project-state resources, and optional Streamable HTTP transport with fail-closed Bearer authentication.
    MIT