EDA桥接工具

在嘉立创EDA专业版本地客户端中通过扩展和本机服务桥接,将EDA能力暴露为一组工具,供LLM自动化完成原理图的读取、编辑、增补绘制和导出等工作。

  • by Paimon955
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Paimon955/jlc-eda-mcp

使用说明

版权说明

仓库源码来自429大佬,本人仅基于学习目的进行修改

JLC-EDA-BRIDGE

在 嘉立创EDA 专业版本地客户端 中通过“扩展 + 本机服务”桥接,把 EDA 能力暴露为一组 jlc.* 工具,供 LLM 自动化完成原理图的 读取 / 局部编辑 / 增补绘制 / 导出 等工作。

本仓库当前的推荐使用方式是:EDA 扩展 + websocat(短驻/ WS Server),用户侧无需安装 Node / MCP 包。

说明:EDA 扩展是 WebSocket 客户端,只会连接 ws://127.0.0.1:<port>;因此你仍需要一个“本机 WS 服务端”让扩展连上。这里选择用通用工具 websocat 充当该服务端,并在每次调用时短驻启动。

[!CAUTION] 这是一个警告! 请确保在随时可废弃的测试环境中使用本项目,并及时备份,如遇AI删库等事故,本人概不负责!

快速开始:使用websocat为LLM调用EDA api提供支持

1) 安装 websocat

macOS(Homebrew):

brew install websocat

通用(需要 Rust):

cargo install websocat

或直接下载二进制并添加环境变量:

  • https://github.com/vi/websocat/releases

2) 在 EDA 扩展里配置 WS 地址(已默认配置为9050 ,如与现有业务冲突请自行修改 )

多窗口/多工程:建议把端口配置在 9050-9059 范围内。扩展会自动协商一个可用端口(每个工程窗口一个端口,最多 10 个),并在握手 hello/MCP Bridge -> Status 中显示。

3) LLM调用示例&安装验证

下面命令会临时启动一个 WS 服务端,等待扩展连接后发送 1 次请求,并要求扩展回包后主动断开(便于下一次调用复用端口)。

printf '%s\n' '{"type":"request","id":"1","method":"ping","closeAfterResponse":true}' \
  | websocat -t --no-close --oneshot ws-l:127.0.0.1:9050 -

输出会包含扩展的 hello 与本次 response。建议仅监听 127.0.0.1,不要暴露到局域网/公网。

(可选)验证 jlc.* tools(需要扩展支持 tools.list/tools.call;若返回 METHOD_NOT_FOUND: tools.call,请重装最新扩展):

printf '%s\n' '{"type":"request","id":"1","method":"tools.call","params":{"name":"jlc.bridge.ping","arguments":{}},"closeAfterResponse":true}' \
  | websocat -t --no-close --oneshot ws-l:127.0.0.1:9050 -

已验证能力

详细内容请见 extension展示页面
在0.0.13版本上进行测试,在windows下使用git bash作为默认终端供codex使用

Skills(给 LLM 快速上手)

  • Skills 入口:skills/jlceda-eda-rest/SKILL.md
    • 区域选取/读取/编辑/加速拆分文档:skills/jlceda-eda-rest/docs/
  • “原理图即代码(Schematic-as-Code)”:
    • 方案与里程碑:docs/SCHEMATIC_AS_CODE_PLAN.md
    • websocat 交互 Demo:docs/SCHEMATIC_AS_CODE_DEMO.md

MCP(stdio)支持

点击这里展开查看详细说明(这是默认显示的标题) - 仍提供 MCP Server(stdio)以便接入通用 MCP 客户端,但仓库的默认示例/文档会优先覆盖 **websocat + Skills** 的调用方式。 - 若要启用 MCP(stdio),不要加 `--no-mcp`:
node packages/mcp-server/dist/cli.js --port 9050

由于历史原因,为兼容部分老用户,相关npm包暂不删除,但不再推荐使用 (可选)npx 配置示例:

{
  "command": "npx",
  "args": ["-y", "jlceda-eda-mcp", "--port", "9050"]
}

packages/mcp-server

点击这里展开查看详细说明(这是默认显示的标题) `packages/mcp-server` 是仓库早期提供的参考实现(WS Bridge + HTTP + 可选 MCP)。为了降低用户侧安装成本与维护复杂度,后续会以“EDA 扩展 + websocat(短驻)”为默认工作流,并逐步废弃 `packages/mcp-server`。

开源许可

AGPLv3
本项目是最早的社区实现,二开请注明代码来源,不要以为拿ai洗一遍代码就变成自己的了