jlceda-ai-agent
嘉立创 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/mcpWebSocket расширения:
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-клиент. Установочный скрипт отвечает только за настройку клиента; бэкенд-сервис по‑прежнему нужно запускать отдельно, как описано в следующем разделе.
Доступные переменные окружения:
Название | Значение по умолчанию | Описание |
|
| Адрес прослушивания |
|
| Порт прослушивания |
|
| Тайм-аут RPC расширения, сек. |
|
| Время до определения проекта как офлайн, сек. |
|
| Время жизни временного изображения, сек. |
|
| Максимальный размер одного изображения |
| пусто | Базовый 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_infocomponent.search
Чтение и проверка принципиальной схемы:
schematic.get_info,schematic.get_netlist,schematic.run_drc
Компоненты схемы и очистка:
schematic.place_component,schematic.add_componentschematic.modify_component,schematic.delete_componentsschematic.delete_wires,schematic.modify_wire,schematic.clearschematic.set_pin_no_connect
Цепи и трассировка схемы:
schematic.create_net_flag,schematic.create_net_portschematic.create_net_label,schematic.connect_netschematic.create_wire,schematic.connectschematic.auto_layout,schematic.auto_route
PCB:
pcb.get_info,pcb.place_component,pcb.modify_component,pcb.delete_componentspcb.create_track,pcb.modify_track,pcb.create_board_outlinepcb.create_via,pcb.modify_via,pcb.delete_routing_primitivespcb.clear_routing,pcb.route_net,pcb.auto_route,pcb.auto_layoutpcb.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.
This server cannot be deployed
Maintenance
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP server giving AI agents one-connection access to China A-share market intelligence: financials,
Let AI agents query data and act across all your business apps via MCP.
Connect any AI agent to 1,000+ apps and 27,000+ actions through one remote MCP server (OAuth).
Related MCP Servers
- AlicenseCqualityCmaintenanceEnables 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.59260MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with 嘉立创 EDA for PCB design tasks including project management, component libraries, rule checking, and manufacturing constraints.2 npm-
- FlicenseNot gradedqualityFmaintenanceEnables AI assistants to interact with JLCEDA EDA for schematic/PCB design operations like component placement, wiring, and circuit analysis through natural language.-
- FlicenseBqualityCmaintenanceConnects Jia Li Chuang EDA / EasyEDA Pro schematics to MCP clients, enabling AI-driven schematic editing, reading, and analysis.19-