jlceda-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jlceda-mcp-serverroute a 10mil track from VCC to U1 pin 3 on top layer"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
jlceda-mcp-server
本项目上传的文件完全由opus4.6完成,有问题请问agent
嘉立创 EDA MCP Server — 让 AI 编程助手直接操控嘉立创 EDA 的 PCB 自动化工具集。
通过 Model Context Protocol 暴露 39 个 PCB/原理图工具,在 Claude Code / Cursor / Windsurf 等 AI IDE 中直接执行元件移动、走线、铺铜、DRC 等操作。内置 PCB Agent 可自主编排多步操作完成复杂任务。
架构
AI IDE ──stdio──> mcp-server ──WebSocket──> gateway ──> jlc-bridge 插件 ──> 嘉立创 EDAMCP server 通过 stdio 与 AI IDE 通信,内部维护 WebSocket 连接到 gateway 的 /ws/bridge 端点,转发命令给 jlc-bridge 插件控制 EDA 编辑器。
本仓库包含两个组件:
src/— MCP Server(Node.js,39 个 PCB/原理图工具 + Agent)jlc-bridge/— 嘉立创 EDA 扩展插件(运行在 EDA 内部,执行实际操作)
Related MCP server: Coppermind
前置条件
Node.js >= 18
gateway 运行中(默认端口 18800)
jlc-bridge 插件已连接嘉立创 EDA
安装 & 构建
npm install
npm run build配置
在你的项目目录下创建 .mcp.json:
{
"mcpServers": {
"jlceda": {
"command": "node",
"args": ["<path-to>/jlceda-mcp-server/dist/index.js"],
"env": {
"GATEWAY_WS_URL": "ws://127.0.0.1:18800/ws/bridge",
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}配置完成后重启 AI IDE,即可在对话中使用所有工具。
环境变量
变量 | 默认值 | 说明 |
|
| Gateway WebSocket 地址 |
| — | Anthropic API Key(设置后启用 pcb_agent 工具) |
|
| Agent 使用的模型 |
工具清单 (39 个)
状态查询 (9)
工具 | 说明 |
| 获取 PCB 完整状态(元件、网络、板框) |
| 截取编辑器截图(base64 PNG) |
| 运行 PCB 设计规则检查 |
| 查询走线段,可按网络/层过滤 |
| 查询焊盘信息,可按位号过滤 |
| 查询指定网络的所有图元 |
| 获取工程信息 |
| 查询 bridge 支持的功能列表 |
| 检查 bridge 连接状态 |
元件操作 (6)
工具 | 说明 |
| 移动元件到指定坐标 |
| 安全搬迁元件(自动断开走线) |
| 批量移动多个元件 |
| 在编辑器中选中元件 |
| 删除当前选中的对象 |
| 从库中放置元件到 PCB |
走线 / 过孔 (4)
工具 | 说明 |
| 画走线(指定网络、路径点、层、线宽) |
| 创建过孔 |
| 删除走线 |
| 删除过孔 |
铺铜 / 禁布区 (4)
工具 | 说明 |
| 创建矩形铺铜区域 |
| 删除铺铜 |
| 创建矩形禁布区 |
| 删除禁布区 |
丝印 (3)
工具 | 说明 |
| 查询所有丝印文字 |
| 移动丝印 |
| 自动排列丝印(避免重叠) |
高级约束 (6)
工具 | 说明 |
| 创建差分对 |
| 列出所有差分对 |
| 删除差分对 |
| 创建等长组 |
| 列出所有等长组 |
| 删除等长组 |
原理图 / 文档 (4)
工具 | 说明 |
| 读取原理图状态 |
| 导出网表 |
| 运行原理图 DRC |
| 切换到指定文档(原理图或 PCB) |
PCB Agent (1)
工具 | 说明 |
| 智能 Agent — 给出高层任务,自主编排多步操作完成(需 ANTHROPIC_API_KEY) |
计算工具 (2)
工具 | 说明 |
| 计算走线阻抗,或根据目标阻抗反算线宽(微带线/带状线/差分) |
| 根据载流要求计算最小走线宽度 (IPC-2221) |
所有坐标参数单位为 mil(密耳),与嘉立创 EDA bridge 一致。
项目结构
├── src/ # MCP Server 源码
│ ├── index.ts # MCP 入口(stdio transport)
│ ├── bridge-client.ts # WebSocket 客户端,连接 gateway bridge
│ ├── calculators.ts # 阻抗/线宽纯计算函数
│ ├── agent.ts # PCB Agent 核心(工具注册表 + tool-use 循环)
│ └── tools/
│ ├── state.ts # 状态查询 (7)
│ ├── components.ts # 元件操作 (3)
│ ├── routing.ts # 走线/过孔 (4)
│ ├── copper-keepout.ts # 铺铜/禁布区 (4)
│ ├── silkscreen.ts # 丝印 (3)
│ ├── advanced.ts # 差分对/等长组 (4)
│ ├── schematic.ts # 原理图 (3)
│ ├── calculators.ts # 阻抗/线宽计算工具 (2)
│ └── agent.ts # PCB Agent 工具注册 (1)
├── jlc-bridge/ # 嘉立创 EDA 扩展插件
│ ├── src/index.ts # 插件主入口(2700+ 行)
│ ├── extension.json # 插件清单
│ ├── build/pack.js # 打包脚本(生成 .eext/.lcex)
│ ├── package.json
│ └── tsconfig.json
├── dist/ # MCP Server 编译输出
├── package.json
└── tsconfig.json核心模块
bridge-client.ts
WebSocket 客户端,连接 gateway /ws/bridge。
协议:发送
{type:'command', id, timestamp, payload:{action, params}},接收{type:'result', payload:{commandId, success, data, error}}命令超时 60 秒
断线自动重连(3 秒间隔)
懒连接:首次调用
command()时才建立 WebSocket
agent.ts
PCB 智能 Agent 核心,基于 Anthropic Claude API 的 tool-use 循环。
工具注册表:将 28 个 bridge 动作映射为 Anthropic tool-use 格式
Agent 循环:system prompt → messages.create → 执行 tool_use → 追加 tool_result → 继续循环
最大轮次限制(默认 20),防止无限循环
收集每步执行日志,最终一起返回
零额外基础设施,纯
@anthropic-ai/sdk实现
jlc-bridge 插件
运行在嘉立创 EDA 内部的扩展插件,负责执行实际的 PCB/原理图操作。
通过 WebSocket 连接 gateway,接收并执行命令
支持文件轮询回退(当 WebSocket 不可用时)
50+ 个底层操作函数(元件移动、走线、铺铜、DRC 等)
打包为
.eext/.lcex格式,在嘉立创 EDA 扩展管理器中安装
构建插件:
cd jlc-bridge
npm install
npm run build # 编译 + 打包为 .eext使用示例
在 AI IDE 中直接用自然语言:
> 获取当前 PCB 状态
→ 调用 pcb_get_state
> 把 U1 移到 (1000, 2000)
→ 调用 pcb_move_component {designator:"U1", x:1000, y:2000}
> 运行 DRC 检查
→ 调用 pcb_run_drc
> 在 GND 网络顶层铺铜,范围 (0,0) 到 (2000,4000)
→ 调用 pcb_create_copper_pour {net:"GND", layer:1, x1:0, y1:0, x2:2000, y2:4000}
> 创建 USB 差分对
→ 调用 pcb_create_diff_pair {name:"USB", posNet:"USB_DP", negNet:"USB_DN"}
> 分析当前布局并给出优化建议
→ 调用 pcb_agent {task:"分析当前布局并给出优化建议"}
→ Agent 自主调用 get_state → 分析 → 给出建议验证
# 编译
npm run build
# 测试 MCP 协议(不需要 gateway)
echo '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}},"id":0}
{"jsonrpc":"2.0","method":"tools/list","id":1}' | node dist/index.js
# 端到端测试(需要 gateway + jlc-bridge 运行)
# 在 AI IDE 中说 "获取当前 PCB 状态" 即可验证技术栈
TypeScript 5.7, ES2022 modules
@modelcontextprotocol/sdk ^1.12 — MCP 协议实现
@anthropic-ai/sdk ^0.39 — Claude API(Agent tool-use 循环)
ws ^8 — WebSocket 客户端
zod ^3.23 — 工具参数 schema 定义
License
MIT
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.
Latest Blog Posts
- 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/hyl64/jlcmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server