kicad
Provides tools for creating and editing KiCad schematic/project files, validating them with ERC/DRC, managing backups/rollback, generating BOM and netlists, and rendering schematics/PCBs via kicad-cli.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kicadCreate a new pump controller project in projects/user/pump-controller and validate it."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
KiCad AI — локальная среда Cursor → MCP → KiCad
1. What is this?
Рабочая среда для AI-assisted engineering в KiCad: LLM через MCP создаёт и правит настоящие .kicad_sch / .kicad_pro, проверяет связность, гоняет ERC/DRC и BOM через официальный kicad-cli. SKiDL — опциональный Python-слой; KiCad остаётся источником истины.
Это не генератор картинок и не mock. Схему можно открыть в KiCad 10.
Related MCP server: KiCad MCP Server
2. Architecture
Cursor Agent --stdio MCP--> kicad-ai (whitelist + backup + logs)
| |
v v
kicad-sch-api 0.5.6 kicad-cli 10.0.6
| ERC / DRC / netlist
+-----> projects/** (source of truth)
SKiDL 2.3.0 --> skidl_lab/ (blocks, tests, generated netlists)
never overwrites projects/*.kicad_schSchematic engine: пакет
kicad-sch-api(реальный S-expression parser/writer).ERC / DRC / BOM / netlist /
sch upgrade:C:\Program Files\KiCad\10.0\bin\kicad-cli.exe.SKiDL 2.3.0 (
KICAD10): блоки и Python ERC вskidl_lab/(не пакетный каталогskidl/, чтобы не перекрыть PyPI).Stock
kicad-sch-mcpне подключён напрямую: у него нет whitelist путей.
Отклонённые альтернативы и будущие слои: docs/architecture.md.
3. Requirements
Проверено на этой машине:
Windows 10 x64
KiCad 10.0.6 (
C:\Program Files\KiCad\10.0\)Python 3.12 через uv (системный 3.14 не используется)
uv 0.12.x
Git
4. Installation
В PowerShell из корня репозитория:
cd C:\Cursor_Projects\MCP_KiCad
.\scripts\setup.ps1Эквивалент вручную:
uv sync --group dev
uv run doctor5. Configuration
Скопируйте .env.example в .env только если автоопределение KiCad не сработало.
Переменные:
KICAD_AI_WORKSPACE— корень workspace (Cursor задаёт сам)KICAD_EXE,KICAD_CLI,KICAD_SYMBOL_DIR,KICAD_FOOTPRINT_DIR— ручные путиKICAD_AI_BACKUP_KEEP— сколько backup хранить (по умолчанию 10)KICAD_AI_LOG_LEVEL—INFO/DEBUG
6. Cursor MCP setup
Файл .cursor/mcp.json запускает .venv/Scripts/python.exe -m kicad_ai.mcp.server (быстрее и совместимо с Cursor; MCP 1.x).
Откройте этот folder как workspace Cursor.
Cursor Settings → MCP → включите сервер
kicad.Подтвердите tools.
Проверка:
uv run doctorдолжен показать[OK] MCP configuration.
Ручной запуск (обычно не нужен):
uv run start-mcp
.\scripts\start-mcp.ps17. Creating first project
Скажите агенту:
Создай проект контроллера насоса в projects/user/pump-controller
Агент должен вызвать create_project, затем добавлять символы из библиотек KiCad, соединять пины, сохранить, прогнать ERC.
Пример из репозитория:
uv run kicad-ai exampleсоздаёт projects/examples/mcp-test/ (12V → предохранитель → R-78E5.0-0.5 → 5V + LED). Рядом лежит тестовая плата mcp-test.kicad_pcb (не для производства). kicad-ai example с overwrite перезапишет каталог, после этого плату нужно собрать снова скриптом из §11.
8. Working with existing projects
list_projects/load_schematicget_schematic_info+inspect_connectivityПредложить изменение
save_schematic(backup создаётся автоматически)validate_project(ERC + DRC; нет PCB → DRC SKIPPED)Показать summary
Проекты пользователя кладите в projects/user/. Каталог projects/ в .gitignore — схемы и платы не попадают в git, только локально. Не пишите вне workspace: MCP это запретит.
9. Backup and rollback
Перед перезаписью существующей схемы MCP копирует проект в backups/<name>/YYYY-MM-DD_HHMMSS/. Старые копии чистятся (последние 10).
.\scripts\backup-project.ps1 projects\examples\mcp-test
uv run kicad-ai backup projects\examples\mcp-testОткат: tool restore_backup или копирование папки backup обратно в project dir.
10. Validation
uv run doctor
uv run kicad-ai validate projects\examples\mcp-test
uv run pytest -v
.\scripts\open-kicad.ps1Doctor проверяет KiCad, Python 3.12, uv, Git, kicad-sch-api, SKiDL, .cursor/mcp.json, workspace.
validate гоняет настоящий kicad-cli sch erc и kicad-cli pcb drc. Если .kicad_pcb нет, DRC = SKIPPED (не PASS).
Python-тесты: tests/test_electrical.py (KiCad ERC/DRC/netlist) и skidl_lab/tests/ (SKiDL ERC). SKiDL не пишет схему проекта.
11. PCB
MCP не создаёт .kicad_pcb: ни автоматически после схемы, ни по запросу из Cursor. create_project пишет только .kicad_pro + .kicad_sch. Tool run_drc / validate_project при отсутствии платы возвращают SKIPPED (это не PASS и не проверка разводки).
У примеров уже есть тестовые платы (smoke для DRC и 2D/3D render, не Gerber). Пересборка только через pcbnew KiCad 10:
& "C:\Program Files\KiCad\10.0\bin\python.exe" scripts\build_mcp_test_pcb.py
uv run kicad-ai validate projects\examples\mcp-test
& "C:\Program Files\KiCad\10.0\bin\python.exe" scripts\build_oxy_pcb.py
uv run kicad-ai validate projects\oxy\oxy
uv run kicad-ai render-pcb projects\oxy\oxy
uv run kicad-ai render-3d projects\oxy\oxymcp-test: F1, U1, R1, D1, 40×26 мм. oxy: F1, J1/J2 (XH2.54), R1, D1, 55×30 мм, GND/GNDA разведены.
Готовую к производству плату MCP не соберёт. Нормальный путь для своих проектов — KiCad GUI:
uv run kicad-ai open projects\examples\mcp-test\mcp-test.kicad_proPCB Editor (если файла платы нет, KiCad создаст пустой
*.kicad_pcb).Update PCB from Schematic (
F8) — футпринты и нетлист со схемы, не разводка.Контур, расстановка, дорожки, полигоны, крепёж — руками в pcbnew.
DRC в PCB Editor, затем снова
uv run kicad-ai validate …(DRC уже не SKIPPED).
Update PCB from Schematic — не «плата на печать». Gerber / drill / Pick & Place в этой среде не реализованы. Не просите агента имитировать их.
12. skidl_lab
skidl_lab/ — опциональный Python-слой на SKiDL 2.3.0 (KICAD10). Каталог назван skidl_lab, а не skidl: имя skidl занято пакетом PyPI (import skidl vs import skidl_lab).
KiCad-файлы в projects/ остаются источником истины. SKiDL не перезаписывает .kicad_sch / .kicad_pcb / .kicad_pro. Нетлисты только в skidl_lab/generated/.
Путь | Назначение |
| Переиспользуемые блоки ( |
| Сборки из блоков; |
| SKiDL ERC в pytest |
| Артефакты (gitignore), не схема проекта |
MCP: list_skidl_blocks, run_skidl_erc, export_skidl_netlist (отказ, если путь в projects/ или расширение .kicad_sch).
uv run kicad-ai skidl-erc led_indicator
uv run kicad-ai skidl-erc rail_12v_5v13. Visualization
Картинки строятся из .kicad_sch / .kicad_pcb через kicad-cli, не через AI/Blender/скриншот.
uv run python scripts/render_project.py projects\examples\mcp-test
uv run kicad-ai render-schematic projects\examples\mcp-test
uv run kicad-ai render-pcb projects\examples\mcp-test
uv run kicad-ai render-3d projects\examples\mcp-testВыход (gitignore): renders/<project>/schematic|pcb|3d/ и renders/render_report.json.
Запрос | Tool | Движок |
Покажи схему |
|
|
Покажи плату |
|
|
Плата в 3D |
|
|
Весь проект |
| всё доступное; нет PCB → SKIPPED |
Темы light / dark (dark — presentation invert чёрной туши, геометрия та же). Виды схемы: full и имена из render.yaml (power, indicator, …) — SKIPPED, если на листе нет указанных reference. DPI: preview 150 / docs 300 / large 600. Кадрирование SVG по bounding box + render.margin в миллиметрах (по умолчанию 15, чтобы не резать labels и не оставлять пустой лист).
Авторендер после validation выключен (automation.render_after_validation: false). Устаревший PNG не показывается: *.meta.json хранит source_hash, при изменении схемы рендер пересобирается.
Нет .kicad_pcb — PCB/3D не симулируются. 3D-модели отсутствуют → WARNING, пайплайн продолжается.
14. Troubleshooting
См. docs/troubleshooting.md. Логи: logs/kicad-ai-YYYYMMDD.log (каждая строка начинается с времени). Traceback не скрывается.
15. Example prompts for LLM
Создай проект
projects/user/pump-controllerс входом 12V, предохранителем и DC-DC 5V.Прочитай
projects/examples/mcp-testи перечисли компоненты и цепи.Добавь в mcp-test конденсатор 100nF на выход 5V, сохрани backup и покажи connectivity.
Найди в библиотеках KiCad символ предохранителя, не создавай новый.
Соедини выход U1 с net
VOUT_5Vчерез label, не считая пересечение проводов соединением.Прогони
validate_projectпо текущей схеме, объясни ERC и статус DRC (PASS/FAIL/SKIPPED).Сгенерируй BOM CSV для mcp-test.
Добавь защиту от обратной полярности (диод) на вход 12V, не меняя существующие reference.
Покажи dangling pins и неподключённые power pins.
Сделай backup mcp-test, затем откати последнее изменение.
Прогони SKiDL ERC для блока
led_indicator; не пиши из SKiDL вprojects/.Плату проекта не генерируй через MCP. Для mcp-test тестовый
.kicad_pcbуже есть; для своих плат — KiCad GUI и Update PCB from Schematic.Покажи схему mcp-test (
render_schematic), не генерируй картинку нейросетью.Покажи плату mcp-test в 2D и 3D (
render_pcb,render_pcb_3d). Если у проекта нет.kicad_pcb— SKIPPED, без фейковой картинки.
Команды Windows:
uv sync
uv run doctor
uv run start-mcp
uv run pytest -v
uv run kicad-ai example
uv run kicad-ai validate projects\examples\mcp-test
uv run kicad-ai skidl-erc led_indicator
uv run python scripts/render_project.py projects\examples\mcp-test
uv run kicad-ai open projects\examples\mcp-test\mcp-test.kicad_proThis server cannot be deployed
Maintenance
Related MCP Connectors
- OwlCADOAuthcom.owlcad
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
Verified KiCad footprints, symbols & 3D models for AI agents. No signup, CC-BY-4.0, quality-gated.
Agent-first CAD: editable .kcad.ts source, deterministic review, OpenCASCADE kernel.
Search and review real KiCad and Altium PCB designs: schematics, BOMs, netlists, DRC/ERC.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI tools to create, edit, and inspect KiCAD schematic files, including components, wires, labels, and sheets.MIT
- AlicenseCqualityCmaintenanceEnables LLMs to inspect, edit, analyze, and render PCB layouts in real-time using the KiCad IPC API, providing tools for board configuration, footprints, tracks, zones, nets, text, shapes, dimensions, exports, screenshots, and CLI automation.1001MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to read and modify KiCAD PCB designs through the KiCAD IPC API, providing tools for board queries, footprint placement, track creation, DRC, and export.4414MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with KiCAD for PCB design automation. Users can design PCBs using natural language, including component placement, routing, checks, and export.36 npmMIT