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 installed
Maintenance
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
- 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.59183MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with 嘉立创 EDA for PCB design tasks including project management, component libraries, rule checking, and manufacturing constraints.24
- FlicenseNot gradedqualityFmaintenanceEnables AI assistants to interact with JLCEDA EDA for schematic/PCB design operations like component placement, wiring, and circuit analysis through natural language.
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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