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: KiCad MCP Pro

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

Пять шагов от страницы релизов до изменения, которое сам 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 ManagerInstall 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 → PluginsEnable KiCad API, затем снова перезапустите KiCAD. Он поставляется выключенным, и он нужен каждому инструменту PCB

Проверка: откройте (или создайте) проект — редактор PCB в KiCAD не откроется без него — затем PCB EditorTools → 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 APIPreferences → 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 ничего не сообщает, нигде, никогда. Всё, что известно о его поведении на чужих машинах, появилось потому, что кто-то решил это записать. Инструмент, который редактирует ваши файлы проектов, заслуживает доверия тем, что не звонит домой.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    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
    5
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    KiCad MCP Pro is an MCP server for KiCad EDA workflows. It lets AI agents automate schematic and PCB tasks, ERC/DRC validation, DFM review, and manufacturing export.
    67
    MIT
  • A
    license
    B
    quality
    C
    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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nevenfo/kicad-agentic-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server