KiCad MCP Server

Integrations

  • Integrates with .env files for configuration, allowing users to customize KiCad project search paths and other server settings through environment variables.

  • Provides tools for KiCad PCB design projects including listing projects, viewing project details, running Design Rule Checks (DRC), generating PCB thumbnails, and launching KiCad applications with specific projects.

Сервер KiCad MCP

Это руководство поможет вам настроить сервер Model Context Protocol (MCP) для KiCad. Хотя примеры в этом руководстве часто ссылаются на Claude Desktop, сервер совместим с любым клиентом, совместимым с MCP . Вы можете использовать его с Claude Desktop, вашими собственными клиентами MCP или любым другим приложением, реализующим Model Context Protocol.

Оглавление

Предпосылки

  • macOS, Windows или Linux
  • Python 3.10 или выше
  • KiCad 9.0 или выше
  • Claude Desktop (или другой клиент MCP)

Этапы установки

1. Настройте среду Python

Сначала давайте установим зависимости и настроим нашу среду:

# Clone the repository git clone https://github.com/lamaalrajih/kicad-mcp.git . # Create a virtual environment and activate it python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # Install the MCP SDK and other dependencies pip install -r requirements.txt

2. Настройте свою среду

Создайте файл .env , чтобы настроить, где сервер будет искать ваши проекты KiCad:

# Copy the example environment file cp .env.example .env # Edit the .env file vim .env

В файле .env добавьте пользовательские каталоги проекта:

# Add paths to your KiCad projects (comma-separated) KICAD_SEARCH_PATHS=~/pcb,~/Electronics,~/Projects/KiCad

3. Запустите сервер

После настройки среды вы можете запустить сервер:

python main.py

4. Настройте MCP-клиент

Теперь давайте настроим Claude Desktop для использования нашего сервера MCP:

  1. Создайте или отредактируйте файл конфигурации Claude Desktop:
# Create the directory if it doesn't exist mkdir -p ~/Library/Application\ Support/Claude # Edit the configuration file vim ~/Library/Application\ Support/Claude/claude_desktop_config.json
  1. Добавьте сервер KiCad MCP в конфигурацию:
{ "mcpServers": { "kicad": { "command": "/ABSOLUTE/PATH/TO/YOUR/PROJECT/kicad-mcp/venv/bin/python", "args": [ "/ABSOLUTE/PATH/TO/YOUR/PROJECT/kicad-mcp/main.py" ] } } }

Замените /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, к каким инструментам у него есть доступ!

Взаимодействие на естественном языке

Хотя в нашей документации часто приводятся такие примеры:

Show me the DRC report for /Users/username/Documents/KiCad/my_project/my_project.kicad_pro

Вам не нужно вводить полный путь к вашим файлам! LLM может понимать больше запросов на естественном языке.

Например, вместо формальной команды, приведенной выше, вы можете просто спросить:

Can you check if there are any design rule violations in my Arduino shield project?

Или:

I'm working on the temperature sensor circuit. Can you identify what patterns it uses?

LLM поймет ваши намерения и запросит соответствующую информацию с KiCad MCP Server. Если ему нужно будет уточнить, о каком проекте вы говорите, он спросит.

Документация

Подробная документация по каждой функции доступна в каталоге docs/ :

Конфигурация

Сервер KiCad MCP можно настроить с помощью переменных среды или файла .env :

Основные параметры конфигурации

Переменная средыОписаниеПример
KICAD_SEARCH_PATHSСписок каталогов, разделенных запятыми, для поиска проектов KiCad~/pcb,~/Electronics,~/Projects
KICAD_USER_DIRПереопределить каталог пользователя KiCad по умолчанию~/Documents/KiCadProjects
KICAD_APP_PATHПереопределить путь приложения KiCad по умолчанию/Applications/KiCad7/KiCad.app

Более подробную информацию см. в Руководстве по настройке .

Руководство по разработке

Структура проекта

Сервер KiCad MCP имеет модульную структуру:

kicad-mcp/ ├── README.md # Project documentation ├── main.py # Entry point that runs the server ├── requirements.txt # Python dependencies ├── .env.example # Example environment configuration ├── kicad_mcp/ # Main package directory │ ├── __init__.py │ ├── server.py # MCP server setup │ ├── config.py # Configuration constants and settings │ ├── context.py # Lifespan management and shared context │ ├── resources/ # Resource handlers │ ├── tools/ # Tool handlers │ ├── prompts/ # Prompt templates │ └── utils/ # Utility functions ├── docs/ # Documentation └── tests/ # Unit tests

Добавление новых функций

Чтобы добавить новые функции на сервер KiCad MCP, выполните следующие действия:

  1. Определите категорию для вашей функции (ресурс, инструмент или подсказка)
  2. Добавьте вашу реализацию в соответствующий модуль.
  3. Зарегистрируйте свою функцию в соответствующей функции регистрации.
  4. Протестируйте свои изменения с помощью инструментов разработки

Более подробную информацию см. в Руководстве по разработке .

Поиск неисправностей

Если у вас возникли проблемы:

  1. Сервер не отображается в клиенте MCP:
    • Проверьте файл конфигурации вашего клиента на наличие ошибок.
    • Убедитесь, что путь к вашему проекту и интерпретатору Python указан правильно.
    • Убедитесь, что Python может получить доступ к пакету mcp
    • Проверьте, обнаружена ли ваша установка KiCad
  2. Ошибки сервера:
    • Проверьте вывод терминала при запуске сервера в режиме разработки.
    • Проверьте журналы Клода по адресу:
      • ~/Library/Logs/Claude/mcp-server-kicad.log (логи, специфичные для сервера)
      • ~/Library/Logs/Claude/mcp.log (общие логи MCP)
  3. Проблемы с рабочим каталогом:
    • Рабочий каталог для серверов, запущенных через клиентские конфигурации, может быть не определен
    • Всегда используйте абсолютные пути в файлах конфигурации и .env.
    • Для тестирования серверов через командную строку рабочим каталогом будет тот, в котором вы запускаете команду

Более подробную информацию см. в Руководстве по устранению неполадок .

Если вам по-прежнему не удается устранить неполадку, пожалуйста, создайте проблему на Github.

Внося вклад

Хотите внести свой вклад в KiCad MCP Server? Вот как вы можете помочь улучшить этот проект:

  1. Форк репозитория
  2. Создать ветку функций
  3. Добавьте ваши изменения
  4. Отправить запрос на извлечение

Ключевые области для вклада:

  • Добавление поддержки большего количества шаблонов компонентов в систему распознавания шаблонов схем
  • Улучшение документации и примеров
  • Добавление новых функций или улучшение существующих
  • Исправление ошибок и улучшение обработки ошибок

Подробные правила внесения взносов см. на сайте CONTRIBUTING.md .

Идеи будущего развития

Хотите внести свой вклад? Вот несколько идей для будущего развития:

  1. Визуализация 3D-моделей — внедрение инструментов для визуализации 3D-моделей печатных плат.
  2. Инструменты обзора печатных плат — создание функций аннотаций для обзоров проектов
  3. Генерация производственных файлов — добавлена поддержка генерации файлов Gerber и других производственных выходных данных.
  4. Поиск компонентов — реализация функции поиска компонентов в библиотеках KiCad.
  5. Улучшение спецификации материалов — добавление интеграции с поставщиками для поиска и ценообразования компонентов
  6. Интерактивные проверки дизайна — разработка интерактивных инструментов для проверки качества дизайна.
  7. Веб-интерфейс — создайте простой веб-интерфейс для настройки и мониторинга.
  8. Анализ цепей — добавление автоматизированных функций анализа цепей.
  9. Тестовое покрытие — улучшение тестового покрытия всей кодовой базы.
  10. Распознавание образов схем — расширение базы данных образов за счет большего количества типов компонентов и топологий схем.

Лицензия

Этот проект имеет открытый исходный код по лицензии MIT.

-
security - not tested
F
license - not found
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Сервер протокола контекста модели, который обеспечивает взаимодействие с проектами электронного проектирования KiCad, позволяя пользователям перечислять проекты, анализировать проекты печатных плат, выполнять проверки правил проектирования и визуализировать макеты печатных плат с помощью естественного языка.

  1. Оглавление
    1. Предпосылки
      1. Этапы установки
        1. 1. Настройте среду Python
        2. 2. Настройте свою среду
        3. 3. Запустите сервер
        4. 4. Настройте MCP-клиент
        5. 5. Перезапустите клиент MCP.
      2. Понимание компонентов MCP
        1. Ресурсы против инструментов против подсказок
      3. Основные характеристики
        1. Взаимодействие на естественном языке
          1. Документация
            1. Конфигурация
              1. Основные параметры конфигурации
            2. Руководство по разработке
              1. Структура проекта
              2. Добавление новых функций
            3. Поиск неисправностей
              1. Внося вклад
                1. Идеи будущего развития
                  1. Лицензия

                    Related MCP Servers

                    • -
                      security
                      F
                      license
                      -
                      quality
                      A Model Context Protocol server that enables interaction with Shortcut (formerly Clubhouse) project management tool, allowing users to view and search projects, stories, epics, and objectives, as well as create new items through natural language.
                      Last updated -
                      3
                      Python
                      • Apple
                    • -
                      security
                      -
                      license
                      -
                      quality
                      A specialized server that helps users create new Model Context Protocol (MCP) servers by providing tools and templates for scaffolding projects with various capabilities.
                      Last updated -
                      1
                      TypeScript
                    • -
                      security
                      A
                      license
                      -
                      quality
                      A Model Context Protocol server that enables users to create, check status, and get details of projects on Loveable.dev, a platform for quickly creating applications.
                      Last updated -
                      JavaScript
                      ISC License
                      • Apple
                    • -
                      security
                      A
                      license
                      -
                      quality
                      A Model Context Protocol server that integrates Claude with Blender, enabling users to analyze and interact with IFC (Industry Foundation Classes) building models through natural language commands.
                      Last updated -
                      5
                      Python
                      MIT License
                      • Apple

                    View all related MCP servers

                    ID: dzekh108nf