jlceda-mcp
by qcz2943
README.md
# 嘉立创 EDA MCP Server
> 面向 AI Agent 的嘉立创 EDA 专业版 MCP Server,将扩展 API、工程文件、器件库、规则检查和制造约束封装成标准化 MCP 能力。
## 快速开始
### 环境要求
- Node.js >= 20.5.0
- pnpm >= 10
- 嘉立创 EDA 专业版(客户端 或 网页版)
### 安装
> **推荐本地路径**: `D:\jlceda-mcp`(路径不含空格和非 ASCII 字符,符合 pro-api-sdk 官方建议)
```bash
# 克隆到本地(推荐 D 盘)
git clone <repo-url> D:\jlceda-mcp
cd D:\jlceda-mcp
# 安装依赖
pnpm install
# 构建所有包
pnpm build
```
### 架构
```
AI Client ─stdio─→ MCP Server ─RPC─→ Domain Service ─WebSocket─→ Bridge Extension ─eda.*─→ 嘉立创 EDA
(进程A) (进程B) (编辑器内.eext)
```
| 包 | 职责 |
|----|------|
| `packages/shared` | 跨进程共享类型与协议 |
| `packages/mcp-server` | 进程 A:MCP 协议、工具注册、权限门禁、审计 |
| `packages/domain-service` | 进程 B:业务逻辑、Project Model、Rule Engine、Bridge 客户端 |
| `packages/bridge-extension` | 编辑器内扩展:调用 `eda.*` 扩展 API |
### 运行
```bash
# 1. 启动 Domain Service(进程 B)
pnpm --filter @jlceda-mcp/domain-service dev
# 2. 启动 MCP Server(进程 A,stdio)
pnpm --filter @jlceda-mcp/server dev
# 3. 在嘉立创 EDA 中导入 Bridge Extension
# 构建扩展包 → 导入 .eext 到编辑器
pnpm --filter @jlceda-mcp/bridge-extension build
```
### 配置 AI 客户端
以 Claude Desktop 为例,编辑 `claude_desktop_config.json`:
```json
{
"mcpServers": {
"jlceda": {
"command": "node",
"args": ["D:\\jlceda-mcp\\packages\\mcp-server\\dist\\index.js"]
}
}
}
```
## 安全设计
- **操作分级**: 只读(默认开放)/ 低风险写入 / 高风险(需确认+审计)
- **dry_run**: 写操作支持预演
- **审计日志**: 每个操作可追踪
- **门禁示例**: export_gerber 要求工程已保存 + ERC/DRC 完成 + P0=0 + 用户确认
## 开发
```bash
pnpm typecheck # 类型检查
pnpm build # 构建
pnpm test # 测试
```
## 参考资料
- [MCP 官方文档](https://modelcontextprotocol.io/docs/sdk)
- [嘉立创 EDA 扩展 API](https://prodocs.easyeda.com/cn/api/reference/pro-api.html)
- [pro-api-sdk](https://github.com/easyeda/pro-api-sdk)
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues