Skip to main content
Glama
jiangyiqi99

jlceda-ai-agent

by jiangyiqi99

嘉立创 EDA AI Agent

Это локальный AI‑фреймворк для автоматизации профессиональной версии 嘉立创 EDA. На уровне MCP нет состояния проектов; только Python‑брокер хранит в своём процессе WebSocket‑соединения и ожидающие запросы. После остановки службы соединения, запросы и временные изображения исчезают.

Архитектура

MCP Client / AI Agent
        |
        | Streamable HTTP: POST /mcp
        v
Stateless MCP tools
        |
        | in-process call
        v
In-memory asyncio Broker
        |
        | JSON over WebSocket: /ws
        v
JLCEDA TypeScript Extension
        |
        v
JLCEDA Extension API (eda.*)

Скриншоты не передаются через WebSocket в формате Base64. Extension загружает Blob через POST /upload/image и возвращает вызывающей стороне MCP временный URL /files/{id}. По умолчанию изображения действуют 5 минут, а при завершении работы сервиса удаляются немедленно.

Related MCP server: jlceda-mcp

Содержание

mcp_server/
  main.py                 # 独立服务入口
  application.py          # HTTP、WebSocket、MCP ASGI 组合
  mcp_api/                # 无状态 MCP 工具定义
  broker/                 # 唯一有状态组件(仅内存)
  protocol/               # WebSocket JSON 协议
  files/                  # 临时图片存储
  tests/

lc_extension/
  src/main.ts
  src/websocket/          # 注册、心跳、RPC 响应、重连
  src/commands/           # schematic、PCB、DRC、capture
  src/utils/
  extension.json
  build/dist/             # npm run build 生成 .eext

Запуск бэкенда

Зависимости уже установлены в проекте через mcp_server/.venv:

cd mcp_server
source .venv/bin/activate
python main.py

Адреса по умолчанию:

  • MCP: http://127.0.0.1:8000/mcp

  • WebSocket расширения: ws://127.0.0.1:8000/ws

  • Проверка работоспособности: http://127.0.0.1:8000/health

  • Загрузка изображений: http://127.0.0.1:8000/upload/image

Автоматическая настройка MCP-клиента

После запуска бэкенда можно запустить установочный скрипт, который автоматически обнаружит установленные на этой машине MCP-клиенты и добавит сервис jlceda-ai-agent в соответствующие глобальные файлы конфигурации:

cd mcp_server
python install.py --install

Скрипт поддерживает распространённые клиенты: Claude Desktop/Code, Cursor, Windsurf, Codex, Cline, Roo Code, Kilo Code, VS Code, Gemini CLI, OpenCode, Kimi Code, Zed и другие. Он автоматически обрабатывает только уже найденные клиенты и не изменяет другие MCP-сервисы в конфигурации; если JSON или TOML невозможно разобрать, файл пропускается.

python install.py --list                         # 查看支持项及扫描结果
python install.py --install codex,cursor         # 指定 Client
python install.py --url http://127.0.0.1:9000/mcp
python install.py --dry-run                      # 只预览
python install.py --uninstall                    # 从检测到的 Client 中移除

После записи конфигурации необходимо полностью перезапустить соответствующий MCP-клиент. Установочный скрипт отвечает только за настройку клиента; бэкенд-сервис по‑прежнему нужно запускать отдельно, как описано в следующем разделе.

Доступные переменные окружения:

Название

Значение по умолчанию

Описание

JLCEDA_HOST

127.0.0.1

Адрес прослушивания

JLCEDA_PORT

8000

Порт прослушивания

JLCEDA_RPC_TIMEOUT

30

Тайм-аут RPC расширения, сек.

JLCEDA_HEARTBEAT_TIMEOUT

30

Время до определения проекта как офлайн, сек.

JLCEDA_IMAGE_TTL

300

Время жизни временного изображения, сек.

JLCEDA_MAX_IMAGE_BYTES

12582912

Максимальный размер одного изображения

JLCEDA_PUBLIC_BASE_URL

пусто

Базовый URL, возвращаемый наружу при обратном проксировании

Сборка и установка расширения

cd lc_extension
npm install
npm run typecheck
npm run build

Генерируемые файлы:

lc_extension/build/dist/jlceda-ai-agent_v0.1.0.eext

В профессиональной версии 嘉立创 EDA V3 установка выполняется через «Дополнительно → Менеджер расширений → Импорт». После установки для расширения необходимо включить «Разрешить внешнее взаимодействие», иначе официальные API SYS_WebSocket и SYS_ClientUrl отклонят WebSocket-соединение и загрузку изображений.

Расширение использует UUID текущего проекта как project_id, а в list_projects также указывает имя проекта. После переключения проекта следующее сердцебиение автоматически зарегистрирует его повторно. Поэтому AI должен сначала вызвать list_projects, а затем передавать возвращённый project_id в каждый последующий вызов инструмента EDA.

Если адрес бэкенда изменился, необходимо синхронно обновить:

lc_extension/src/config.ts

Инструменты MCP

Проекты и библиотеки:

  • list_projects, project.get_info

  • component.search

Чтение и проверка принципиальной схемы:

  • schematic.get_info, schematic.get_netlist, schematic.run_drc

Компоненты схемы и очистка:

  • schematic.place_component, schematic.add_component

  • schematic.modify_component, schematic.delete_components

  • schematic.delete_wires, schematic.modify_wire, schematic.clear

  • schematic.set_pin_no_connect

Цепи и трассировка схемы:

  • schematic.create_net_flag, schematic.create_net_port

  • schematic.create_net_label, schematic.connect_net

  • schematic.create_wire, schematic.connect

  • schematic.auto_layout, schematic.auto_route

PCB:

  • pcb.get_info, pcb.place_component, pcb.modify_component, pcb.delete_components

  • pcb.create_track, pcb.modify_track, pcb.create_board_outline

  • pcb.create_via, pcb.modify_via, pcb.delete_routing_primitives

  • pcb.clear_routing, pcb.route_net, pcb.auto_route, pcb.auto_layout

  • pcb.run_drc

Скриншоты:

  • capture.schematic, capture.pcb, capture.region

Рекомендуемый процесс выбора AI: сначала вызовите component.search и прочитайте у каждого кандидата название, описание, символ, корпус, 3D‑модель, расширенные атрибуты, а также library_uuid/device_uuid; после выбора AI передаёт оба этих UUID в schematic.place_component для точного размещения. Результаты поиска возвращаются постранично (по умолчанию 20, максимум 100 записей на страницу); когда has_more равен true, AI может запросить следующую страницу и не переполнять контекст модели большим числом кандидатов. schematic.add_component сохраняется как совместимый быстрый инструмент «найти и разместить первый результат».

Для соединений между разными областями принципиальной схемы предпочтительно использовать schematic.connect_net. Он размещает сетевые флаги, порты или метки с одинаковым именем непосредственно на нужных выводах и не создаёт случайные короткие замыкания из‑за пересечения проводников. Если нужно нарисовать реальные провода, используйте waypoints из schematic.connect или points из schematic.create_wire, чтобы явно задать ортогональный путь; по умолчанию проверяется пересечение с проводами других цепей, и опасная операция отклоняется как WIRE_CROSSING. Защита пропускается только если вызывающая сторона явно передаёт allow_crossings=true.

schematic.clear удаляет размещённые компоненты, сетевые флаги и провода текущего листа, но сохраняет графические элементы рамки/надписи чертежа без выводов, позиционных обозначений и цепей. Для точечной очистки можно использовать schematic.delete_components или schematic.delete_wires.

pcb.route_net вызывает одноконтурную автоматическую трассировку 嘉立创; pcb.auto_route поддерживает белый список сетей, список исключений и стратегии скорости/процента трассировки. DRC и принципиальной схемы, и PCB используется в подробном режиме результатов. Часть API 嘉立创 EDA всё ещё помечена как Beta, поэтому после обновления EDA следует повторно запустить проверку типов TypeScript и провести регрессионное тестирование на реальном устройстве.

Проверка

cd mcp_server
.venv/bin/python -m pytest -q

cd ../lc_extension
npm audit --audit-level=moderate
npm run typecheck
npm run build

Автоматическая проверка включает проверку протокола, RPC-взаимодействие брокера, проверку возможностей, HTTP-загрузку и чтение изображений, официальную проверку типов расширения и сборку пакета .eext.

Границы проектирования

  • Не используются Redis, SQLite или какие-либо базы данных.

  • Инструменты MCP не хранят состояние WebSocket-соединений, проектов или EDA.

  • Брокер сохраняет только активные соединения, время сердцебиения и ожидающие запросы.

  • Расширение не знает о MCP и обрабатывает только JSON RPC от брокера.

  • Не сохраняются данные диалогов AI, а также данные PCB/принципиальных схем.

  • Изображения существуют только во временном каталоге системы и очищаются по TTL.

Официальная справка 嘉立创: Начало работы с API расширений, Вызов API расширений, SYS_WebSocket.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    Enables AI coding assistants to control JLCPCB EDA for PCB automation, exposing 39 tools for component manipulation, routing, copper pour, DRC, and more. Includes a built-in PCB agent for orchestrating multi-step tasks.
    59
    183
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with 嘉立创 EDA for PCB design tasks including project management, component libraries, rule checking, and manufacturing constraints.
    24
  • F
    license
    B
    quality
    B
    maintenance
    Connects Jia Li Chuang EDA / EasyEDA Pro schematics to MCP clients, enabling AI-driven schematic editing, reading, and analysis.
    19

View all related MCP servers

Related MCP Connectors

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • Free public MCP for AI agents — 193 tools, 44 workflows. No API key.

  • First AI Agent e-commerce marketplace with 74+ AI products, MCP protocol, and Alipay payments

View all MCP Connectors

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/jiangyiqi99/lceda_mcp_server'

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