Сервер KiCad MCP
Это руководство поможет вам настроить сервер Model Context Protocol (MCP) для KiCad. Хотя примеры в этом руководстве часто ссылаются на Claude Desktop, сервер совместим с любым клиентом, совместимым с MCP . Вы можете использовать его с Claude Desktop, вашими собственными клиентами MCP или любым другим приложением, реализующим Model Context Protocol.
Оглавление
Related MCP server: EDA Tools MCP Server
Предпосылки
macOS, Windows или Linux
Python 3.10 или выше
KiCad 9.0 или выше
Claude Desktop (или другой клиент MCP)
Этапы установки
1. Настройте среду Python
Сначала давайте установим зависимости и настроим нашу среду:
2. Настройте свою среду
Создайте файл .env , чтобы настроить, где сервер будет искать ваши проекты KiCad:
В файле .env добавьте пользовательские каталоги проекта:
3. Запустите сервер
После настройки среды вы можете запустить сервер:
4. Настройте MCP-клиент
Теперь давайте настроим Claude Desktop для использования нашего сервера MCP:
Создайте или отредактируйте файл конфигурации Claude Desktop:
Добавьте сервер KiCad MCP в конфигурацию:
Замените /ABSOLUTE/PATH/TO/YOUR/PROJECT/kicad-mcp на фактический путь к каталогу вашего проекта.
5. Перезапустите клиент MCP.
Закройте и снова откройте клиент MCP, чтобы загрузить новую конфигурацию.
Понимание компонентов MCP
Протокол контекста модели (MCP) определяет три основных способа предоставления возможностей:
Ресурсы против инструментов против подсказок
Ресурсы — это доступные только для чтения источники данных, на которые могут ссылаться обладатели степени магистра права:
Аналогично конечным точкам GET в REST API
Предоставление данных без выполнения значительных вычислений
Используется, когда LLM необходимо прочитать информацию
Обычно доступ осуществляется программно клиентским приложением.
Пример:
kicad://projectsвозвращает список всех проектов KiCad.
Инструменты — это функции, которые выполняют действия или вычисления:
Аналогично конечным точкам POST/PUT в REST API
Могут иметь побочные эффекты (например, открытие приложений или создание файлов)
Используется, когда LLM необходимо выполнять действия в мире.
Обычно вызывается непосредственно LLM (с одобрения пользователя)
Пример:
open_project()запускает KiCad с определенным проектом
Подсказки — это многоразовые шаблоны для общих взаимодействий:
Предварительно заданные темы для начала разговора или инструкции
Помогите пользователям сформулировать общие вопросы или задачи
Вызывается по выбору пользователя (обычно из меню)
Пример: приглашение
debug_pcb_issuesпомогает пользователям устранять неполадки печатной платы.
Дополнительную информацию о ресурсах, инструментах и подсказках см. в документации MCP .
Основные характеристики
KiCad MCP Server предоставляет несколько ключевых функций, каждая из которых сопровождается подробной документацией:
Управление проектами : список, проверка и открытие проектов KiCad
Пример: «Показать мне все мои последние проекты KiCad» → Список всех проектов, отсортированных по дате изменения.
Анализ конструкции печатной платы : получите представление о конструкции и схемах ваших печатных плат.
Пример: «Проанализируйте плотность компонентов моей платы датчика температуры» → Предоставляет анализ расстояния между компонентами
Извлечение списка соединений : извлечение и анализ соединений компонентов из схем.
Пример: «Какие компоненты подключены к микроконтроллеру в моем шилде Arduino?» → Показывает все подключения к микроконтроллеру
Управление спецификацией материалов : анализ и экспорт спецификаций материалов
Пример: «Создать спецификацию материалов для моего проекта умных часов» → Создает подробную спецификацию материалов
Проверка правил проектирования : запускайте проверки DRC с помощью KiCad CLI и отслеживайте прогресс с течением времени.
Пример: «Запустить DRC на моей плате питания и сравнить с прошлой неделей» → Показывает прогресс в устранении нарушений
Визуализация печатной платы : создание визуальных представлений макетов печатных плат.
Пример: «Покажите мне эскиз печатной платы моего аудиоусилителя» → Отображает визуальную визуализацию платы
Распознавание схемных схем : автоматическое определение распространенных схемных схем в ваших схемах.
Пример: «Какие топологии источника питания я использую в своем устройстве IoT?» → Определяет понижающие, повышающие или линейные стабилизаторы
Для получения дополнительных примеров и подробностей по каждой функции см. специальные руководства в документации. Вы также можете спросить LLM, к каким инструментам у него есть доступ!
Взаимодействие на естественном языке
Хотя в нашей документации часто приводятся такие примеры:
Вам не нужно вводить полный путь к вашим файлам! LLM может понимать больше запросов на естественном языке.
Например, вместо формальной команды, приведенной выше, вы можете просто спросить:
Или:
LLM поймет ваши намерения и запросит соответствующую информацию с KiCad MCP Server. Если ему нужно будет уточнить, о каком проекте вы говорите, он спросит.
Документация
Подробная документация по каждой функции доступна в каталоге docs/ :
Конфигурация
Сервер KiCad MCP можно настроить с помощью переменных среды или файла .env :
Основные параметры конфигурации
Переменная среды | Описание | Пример |
| Список каталогов, разделенных запятыми, для поиска проектов KiCad |
|
| Переопределить каталог пользователя KiCad по умолчанию |
|
| Переопределить путь приложения KiCad по умолчанию |
|
Более подробную информацию см. в Руководстве по настройке .
Руководство по разработке
Структура проекта
Сервер KiCad MCP имеет модульную структуру:
Добавление новых функций
Чтобы добавить новые функции на сервер KiCad MCP, выполните следующие действия:
Определите категорию для вашей функции (ресурс, инструмент или подсказка)
Добавьте вашу реализацию в соответствующий модуль.
Зарегистрируйте свою функцию в соответствующей функции регистрации.
Протестируйте свои изменения с помощью инструментов разработки
Более подробную информацию см. в Руководстве по разработке .
Поиск неисправностей
Если у вас возникли проблемы:
Сервер не отображается в клиенте MCP:
Проверьте файл конфигурации вашего клиента на наличие ошибок.
Убедитесь, что путь к вашему проекту и интерпретатору Python указан правильно.
Убедитесь, что Python может получить доступ к пакету
mcpПроверьте, обнаружена ли ваша установка KiCad
Ошибки сервера:
Проверьте вывод терминала при запуске сервера в режиме разработки.
Проверьте журналы Клода по адресу:
~/Library/Logs/Claude/mcp-server-kicad.log(логи, специфичные для сервера)~/Library/Logs/Claude/mcp.log(общие логи MCP)
Проблемы с рабочим каталогом:
Рабочий каталог для серверов, запущенных через клиентские конфигурации, может быть не определен
Всегда используйте абсолютные пути в файлах конфигурации и .env.
Для тестирования серверов через командную строку рабочим каталогом будет тот, в котором вы запускаете команду
Более подробную информацию см. в Руководстве по устранению неполадок .
Если вам по-прежнему не удается устранить неполадку, пожалуйста, создайте проблему на Github.
Внося вклад
Хотите внести свой вклад в KiCad MCP Server? Вот как вы можете помочь улучшить этот проект:
Форк репозитория
Создать ветку функций
Добавьте ваши изменения
Отправить запрос на извлечение
Ключевые области для вклада:
Добавление поддержки большего количества шаблонов компонентов в систему распознавания шаблонов схем
Улучшение документации и примеров
Добавление новых функций или улучшение существующих
Исправление ошибок и улучшение обработки ошибок
Подробные правила внесения взносов см. на сайте CONTRIBUTING.md .
Идеи будущего развития
Хотите внести свой вклад? Вот несколько идей для будущего развития:
Визуализация 3D-моделей — внедрение инструментов для визуализации 3D-моделей печатных плат.
Инструменты обзора печатных плат — создание функций аннотаций для обзоров проектов
Генерация производственных файлов — добавлена поддержка генерации файлов Gerber и других производственных выходных данных.
Поиск компонентов — реализация функции поиска компонентов в библиотеках KiCad.
Улучшение спецификации материалов — добавление интеграции с поставщиками для поиска и ценообразования компонентов
Интерактивные проверки дизайна — разработка интерактивных инструментов для проверки качества дизайна.
Веб-интерфейс — создайте простой веб-интерфейс для настройки и мониторинга.
Анализ цепей — добавление автоматизированных функций анализа цепей.
Тестовое покрытие — улучшение тестового покрытия всей кодовой базы.
Распознавание образов схем — расширение базы данных образов за счет большего количества типов компонентов и топологий схем.
Лицензия
Этот проект имеет открытый исходный код по лицензии MIT.