SuperAPI AI 工具集

lambdacad-mcp

lambdacad-mcp 是一个面向支持 AutoLISP 的 CAD 软件的 MCP 服务器,让 AI 能够直接在 CAD 中绘图。它通过纯 AutoLISP 文件桥接机制工作,无需 COM、SDK 或插件,参考适配器驱动 Linux 上的 BricsCAD。提供 105 个工具,覆盖完整 2D 制图(线、弧、多段线、样条、填充、尺寸标注、引线、图层线宽、块等)、语义形状(槽、螺栓圆、圆角矩形等)、3D 实体建模(基本体、拉伸/旋转/扫掠、布尔运算、切片、圆角/倒角、3D 移动旋转)、从 3D 模型自动生成 2D 视图、批量原子操作、选择集读取与高亮、无截图验证(包围盒、体积、质心、碰撞检测)、设计审查(布尔验证、悬垂报告、接触报告、孔报告、连通图)、图纸记忆(实体语义标签、变更日志)、图纸与视口(A4-A0、标准比例、标题栏、PDF 导出)、交付物导出(DWG、DXF、PDF、STL)等。要求 Linux、BricsCAD(测试于 V26)、Python 3.10+ 和 xdotool。

访问官网

工具介绍

lambdacad-mcp 是一个 MCP(Model Context Protocol)服务器,旨在让 AI 在支持 AutoLISP 的 CAD 软件中直接绘图。其核心机制是一个纯 AutoLISP 文件桥接:MCP 服务器将 LISP 表达式写入文件,在 CAD 内部触发一个微小的 MCP 命令,然后读回结果。这种方式不需要 COM、SDK 或插件,因此可以在 Linux 上运行,并且能够解锁 CAD 的全部能力,包括 3D 实体建模。参考适配器驱动 Linux 上的 BricsCAD,据称是首个面向 Linux 上专业 DWG CAD 的 MCP 服务器。由于桥接基于标准 AutoLISP、DXF entmake 和 AutoCAD 兼容命令,理论上可移植到 AutoCAD、ARES Commander、ZWCAD、GstarCAD 和 IntelliCAD 系列,移植只需更换自动加载文件名和按键触发方式。

主要能力:

  • 完整 2D 制图:线、弧、多段线、样条曲线;按图层设置线宽(如墙体 0.50、边缘 0.35、尺寸 0.18,以打印页面实测为准);真实 HATCH(支持孤岛);尺寸标注包括半径、直径、角度;引线;线型(点划线、虚线);文字样式;修剪/延伸/圆角/倒角/偏移/镜像/阵列;块。
  • 语义形状:slot、bolt_circle、rounded_rect、polygon、center_mark,一次调用由服务器完成数学计算。
  • 3D 实体建模:长方体/圆柱/球体/圆锥/楔体/圆环;拉伸/旋转/扫掠;并集/差集/交集;切片;实体边圆角/倒角;绕任意轴的 3D 移动/旋转;flatshot_view 可从 3D 模型自动生成正确的 2D 图纸视图。
  • 批量与原子操作:draw_batch 在一次往返中执行 N 个操作,包裹在一个撤销组中(一次批量等于一次 Ctrl+Z)。
  • 选择集交互:get_selection 读取 GUI 的 pickfirst 集;select_by / select_window 在操作前高亮 AI 找到的对象;修改工具接受 "selection"。
  • 无截图验证:包围盒、关键点、精确长度/面积、相交检查(碰撞检测)、实体体积/质心。
  • 设计审查(1.2 新增):boolean_verified 执行切割并对照预期体积测量变化(切割不足会报告 SHORT 而非成功);overhang_report 读取 STL 网格并判断零件是否无需支撑即可打印,对六种方向评分;contact_report 对装配体(assembly_place / assembly_list / assembly_clear)报告谁接触谁、谁干涉、谁是孤立件;hole_report 物理探测每个孔并报告哪些实际开放;graph_build / graph_trace 将 2D 几何读取为连通图,识别独立网络、精确走线长度、真实断点与 T 型交叉,连接容差从图纸中涌现而非硬编码。
  • 图纸记忆(1.3 beta 新增):memory_enable 在 .dwg 旁放置一个由 CAD 自行写入的日志,捕获人类在 GUI 中进行的编辑;tag_entity 为实体赋予语义角色(如 "muro-nord"、"asta-principale"),以句柄为键,保存和重新打开后仍然存在;world_report 回答这里有什么、我称之为什么、自上次查看以来发生了什么,并在回答前对照实时图纸重新验证每个声明(被 AI 背后擦除的实体会报告 DEAD (erased since tagging),绝不隐藏)。
  • 协议内指令(1.2 新增):服务器附带无法通过尝试学到的规则(OK 不是证据;信任前先校准;布尔运算保留第一个句柄;一行是一个完整表达式;先查阅图纸记忆),以及一个 lambdacad://traps 资源。
  • 视觉辅助:render_view 使用 BricsCAD 内部 PNG 渲染(干净、无 UI、约 30 KB)供视觉模型使用。
  • 图纸与视口:create_sheet(A4 至 A0,边距归零使纸张毫米等于图纸毫米);add_viewport(请求 1:50 就是 1:50,从实体测量回来,并停放在非打印图层);fit_viewport(测量已绘制内容并选择能容纳的最大标准比例,1:37 不是标准比例);title_block(边框加 ISO 7200 图签,按图纸尺寸);export_sheet_pdf 通过测量刚写入的 PDF 页面来检查自己的工作。
  • 交付物:保存 DWG、导出 DXF、PDF 和 STL(export_stl 将 3D 实体直接送到切片软件,停放在原点)。
  • 多图纸:list_documents 显示工具指向哪个图纸(以及未保存更改和只读状态),use_document 选择另一个;每次回复都说明哪个图纸作答,并在其脚下变化时警告。
  • 逃生舱:run_lisp 评估任意 AutoLISP(多行、多表达式),有能力的模型可以编写参数化代码。

使用方式:

要求 Linux、BricsCAD(任何近期版本,测试于 V26)、Python 3.10+、xdotool。安装程序会创建 venv,将 AutoLISP 桥接安装到 BricsCAD 的 Support/on_doc_load.lsp(幂等、标记分隔),并打印可直接粘贴到 Claude Code / Claude Desktop 的配置。启动 BricsCAD 并打开图纸(桥接在文档打开时加载),启动新的 AI 会话,bricscad 工具出现,然后可以要求如 "draw the plan of a 4×3 m room with a door and dimensions"。

配置通过环境变量进行。run_lisp 和 run_command 按设计在 BricsCAD 内执行任意代码,因此只应连接信任的 MCP 客户端,并将桥接文件视为可信输入。桥接本身从不加载外部文件(只读+求值),并遵守 BricsCAD 的 SECURELOAD。

本地使用遥测:服务器每次调用向 ~/.lambdacad/usage.jsonl 追加一行 JSON,包含工具名、持续时间、错误标志,绝不包含参数(无坐标、路径、图纸数据),数据不离开本机。可通过 LAMBDACAD_TELEMETRY=0 禁用。

适用场景:

  • 在 Linux 上使用 BricsCAD 进行 AI 辅助 2D 制图和 3D 建模。
  • 需要从 3D 模型生成 2D 图纸视图、导出 PDF/STL 的工作流。
  • 需要设计审查(布尔验证、悬垂分析、接触分析、孔检查、连通性分析)的工程任务。
  • 需要图纸记忆和语义标签以跨会话保持上下文的项目。
  • 希望通过 run_lisp 编写参数化 AutoLISP 代码的高级用户。

限制:

  • 参考适配器针对 Linux 上的 BricsCAD;其他 CAD 的适配器欢迎贡献,但未提供现成支持。
  • 需要 Linux、BricsCAD、Python 3.10+ 和 xdotool。
  • 桥接机制依赖按键触发和文件读写,可能受窗口焦点影响(文档提到无焦点调度是未来方向)。
  • 遥测默认开启(本地),可禁用。
  • 项目为独立开源软件,与 Autodesk、Bricsys 或任何 CAD 厂商无关联。
  • 部分功能(如图纸记忆)标记为 beta。

项目采用 Apache 2.0 许可,包含明确的专利授权和 lambdacad-mcp 名称的商标保护。