Skip to main content
Glama
jlceda-ai-agent

jlceda-ai-agent

by jiangyiqi99

嘉立创 EDA AI エージェント

これは嘉立創 EDA 专业版向けのローカル AI 自動化フレームワークです。MCP レイヤーはプロジェクト状態を持ちません。プロセス内で WebSocket 接続と待機中のリクエストを保持するのは Python の Broker だけです。サービスを停止すると、接続、リクエスト、一時画像はすべて消えます。

アーキテクチャ

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 分で、サービス終了時に直ちに削除されます。

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

  • 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

画像 1 枚あたりの上限

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_WebSocket と SYS_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 が選定したら、この 2 つの UUID を schematic.place_component に渡して正確に配置します。検索結果はページ単位で返されます(デフォルト 20 件、最大 100 件/ページ)。has_more が true の場合、AI は次のページを要求できます。これにより、大量の候補を一度にモデルコンテキストへ入れることを避けます。schematic.add_component は「検索して最初の結果を配置する」互換用ショートカットとして残されています。

領域をまたぐ回路図の接続には、まず schematic.connect_net を使うことを推奨します。これにより、同名のネットワークフラグ、ネットワークポート、またはネットワークラベルをターゲットの各ピンに直接配置でき、ワイヤの交差による意図しない短絡が発生しません。実線のワイヤを描く必要がある場合は、schematic.connect の waypoints か schematic.create_wire の points で直交経路を明示的に指定します。既定では異なるネットワークのワイヤとの交差を検査し、WIRE_CROSSING として危険な操作を拒否します。呼び出し側が明示的に allow_crossings=true を渡した場合のみ、この保護はスキップされます。

schematic.clear は、現在の回路図ページに配置済みの部品、ネットワークフラグ、ワイヤーを削除しますが、ピン、リファレンス指定文字、ネットワークを持たないフレーム/タイトルバー図要素は保持します。必要なクリーンアップには、schematic.delete_components または schematic.delete_wires を使用します。

pcb.route_net は嘉創の単一ネットワーク自動配線を呼び出します。pcb.auto_route はネットワークのホワイトリスト、除外リスト、速度/配線率のポリシーをサポートします。回路図と PCB の DRC はどちらも詳細結果モードを使用します。一部の嘉立創 API はベータ版のままになり、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 は MCP を認識せず、Broker JSON RPC のみを処理します。

  • AI の会話や PCB/回路図データは保存しません。

  • 画像はシステムの一時ディレクトリにのみ存在し、TTL に従ってクリーンアップされます。

嘉立创公式リファレンス:扩展 API 入门指南、调用扩展 API、SYS_WebSocket。

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    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
    270
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with 嘉立创 EDA for PCB design tasks including project management, component libraries, rule checking, and manufacturing constraints.
    14 npm
    -
  • F
    license
    B
    quality
    C
    maintenance
    Connects Jia Li Chuang EDA / EasyEDA Pro schematics to MCP clients, enabling AI-driven schematic editing, reading, and analysis.
    19
    -