jlceda-ai-agent
嘉立创 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 分で、サービス終了時に直ちに削除されます。
ディレクトリ構成
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/mcpExtension 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 の設定のみを担うため、バックエンドサービスは次の節の説明に従って別途起動してください。
利用可能な環境変数:
名前 | デフォルト値 | 説明 |
|
| バインドアドレス |
|
| バインドポート |
|
| Extension RPC のタイムアウト秒数 |
|
| プロジェクトのオフライン判定秒数 |
|
| 一時画像の有効期限秒数 |
|
| 画像 1 枚あたりの上限 |
| 空 | リバースプロキシ後に外部へ返すベース 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.tsMCP ツール
プロジェクトとライブラリ:
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 が選定したら、この 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。
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 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