Skip to main content
Glama
jiangyiqi99

jlceda-ai-agent

by jiangyiqi99

嘉立创 EDA AI Agent

이것은 嘉立创 EDA 프로 버전을 위한 로컬 AI 자동화 프레임워크입니다. MCP 계층에는 프로젝트 상태가 없으며, Python Broker만이 프로세스 내에서 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은 POST /upload/image로 Blob을 업로드하고 /files/{id} 임시 URL을 MCP 호출자에게 반환합니다. 이미지는 기본적으로 5분 후 만료되며, 서비스가 종료되면 즉시 삭제됩니다.

디렉터리

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

  • Extension WebSocket: ws://127.0.0.1:8000/ws

  • 헬스 체크: http://127.0.0.1:8000/health

  • 이미지 업로드: http://127.0.0.1:8000/upload/image

MCP Client 자동 구성

백엔드가 시작된 후 설치 스크립트를 실행하면 이 컴퓨터에 설치된 MCP Client를 자동으로 스캔하고, 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 등 일반적인 Client를 지원합니다. 감지된 Client만 자동으로 처리하며, 구성의 다른 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 Client를 완전히 재시작해야 합니다. 설치 스크립트는 Client 구성만 담당하며, 백엔드 서비스는 다음 절에서 설명하는 대로 별도로 시작해야 합니다.

사용 가능한 환경 변수:

이름

기본값

설명

JLCEDA_HOST

127.0.0.1

수신 주소

JLCEDA_PORT

8000

수신 포트

JLCEDA_RPC_TIMEOUT

30

Extension RPC 타임아웃(초)

JLCEDA_HEARTBEAT_TIMEOUT

30

프로젝트 오프라인 판정(초)

JLCEDA_IMAGE_TTL

300

임시 이미지 유효 기간(초)

JLCEDA_MAX_IMAGE_BYTES

12582912

단일 이미지 크기 상한

JLCEDA_PUBLIC_BASE_URL

비어 있음

프록시 뒤 외부에 반환되는 기본 URL

Extension 빌드 및 설치

cd lc_extension
npm install
npm run typecheck
npm run build

생성 파일:

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

嘉立创 EDA 프로 버전 V3에서 “고급 → 확장 관리자 → 가져오기”를 통해 설치합니다. 설치 후에는 해당 확장에서 “외부 상호 작용 허용”을 활성화해야 하며, 그렇지 않으면 공식 SYS_WebSocketSYS_ClientUrl API가 WebSocket과 이미지 업로드를 거부합니다.

Extension은 현재 프로젝트의 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_moretrue일 때 AI가 다음 페이지를 이어서 요청할 수 있어, 한 번에 다수의 후보가 모델 컨텍스트를 채우는 것을 피할 수 있습니다. schematic.add_component는 계속 “검색 후 첫 번째 결과 배치”를 위한 호환성 편의 도구로 유지됩니다.

회로도 영역 간 연결에는 schematic.connect_net을 우선 사용합니다. 이 도구는 동일한 이름의 네트 플래그, 포트 또는 라벨을 각 대상 핀에 직접 배치하므로 배선, 파일이 교차되어 의도치 않은 단락을 만들지 않습니다. 실제 와이어를 그려야 한다면 schematic.connectwaypoints 또는 schematic.create_wirepoints로 직교 경로를 명시적으로 지정해야 합니다. 기본적으로는 다른 네트의 와이어와의 교차를 검사하며, 특정 위험한 조작은 WIRE_CROSSING으로 거부합니다. 호출자가 allow_crossings=true를 명시적으로 전달한 경우에만 이 보호를 건너뜁니다.

schematic.clear는 현재 도면에 배치된 부품, 네트 플래그 및 와이어를 삭제하며, 핀이나 참조 부호, 네트가 없는 점선/타이틀 블록 요소는 유지합니다. 정밀한 정리가 필요하다면 schematic.delete_components 또는 schematic.delete_wires를 사용할 수 있습니다.

pcb.route_net은 회로도 단일 네트의 자동 배선을 호출하고, pcb.auto_route는 네트 화이트리스트, 제외 목록과 속도/배선 완료율 전략을 지원합니다. 회로도와 PCB의 DRC는 모두 상세 결과 모드를 사용합니다. 일부 嘉立创 API는 아직 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

현재 자동 검증에는 프로토콜 검증, Broker RPC 왕복, 기능 확인, HTTP 이미지 업로드/읽기와 Extension의 실제 TypeScript 타입 검사 및 .eext 패키징이 포함됩니다.

설계 제약

  • Redis, SQLite 또는 어떤 데이터베이스도 사용하지 않습니다.

  • MCP 도구는 WebSocket, 프로젝트 또는 EDA 상태를 보유하지 않습니다.

  • Broker는 온라인 연결, 하트비트 시간 및 대기 중인 요청만 저장합니다.

  • Extension은 WebSocket(또는 MCP)을 알지 못하며 Broker JSON RPC만 처리합니다.

  • AI가 사용자한 내용이나 PCB/회로도 데이터를 저장하지 않습니다.

  • 이미지는 시스템 임시 디렉터리에만 보관되며 TTL에 의해서 정리됩니다.

공식 참조: 확장 API 입문, 확장 API 호출, SYS_WebSocket.

-
license - not tested
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 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