SuperAPI AI 工具集

jupytercad-mcp

jupytercad-mcp 是一个面向 JupyterCAD 的 MCP 服务器,允许通过 LLM 或自然语言来控制 JupyterCAD 进行 CAD 建模操作。项目由 asmith26 开发并开源在 GitHub 上。默认传输机制为 stdio,也支持 streamable-http 传输。它提供了一系列建模工具,包括读取当前 CAD 设计内容、添加和移除对象、重命名、添加/移除注释,以及创建盒体、圆锥、圆柱、球体、圆环等基础几何体,还支持切、并、交三种布尔运算以及倒角、圆角操作,并可设置对象的可见性和颜色。项目附带了使用 OpenAI Agents SDK 的示例客户端,包含交互式聊天界面,示例默认指令为“添加一个宽/高/深均为 1 的盒子”。使用步骤包括克隆仓库、安装 OpenAI Agents SDK、配置模型、运行 JupyterLab 并创建 jcad 文件以可视化修改。项目还支持可选的 MLflow 追踪功能。类别属于 AI 开发平台/框架。

访问官网

工具介绍

jupytercad-mcp 是一个用于 JupyterCAD 的 MCP(Model Context Protocol)服务器,旨在让用户通过 LLM 或自然语言来控制 JupyterCAD 的 CAD 操作。该项目由 asmith26 在 GitHub 上开源,欢迎建议和贡献。

【用途】 该项目的主要用途是将 JupyterCAD 的建模能力接入到支持 MCP 的 LLM 应用中,使 AI 能够以自然语言指令直接操作 CAD 文档,完成几何体创建、修改与布尔运算等任务。

【主要能力】 服务器提供了一组工具,覆盖 CAD 设计的常见操作:

  • get_current_cad_design:读取当前 JCAD 文档内容。
  • remove:从文档中移除对象。
  • rename:重命名文档中的对象。
  • add_annotation:为文档添加注释。
  • remove_annotation:移除文档中的注释。
  • add_occ_shape:向文档添加 OpenCascade TopoDS 形状。
  • add_box、add_cone、add_cylinder、add_sphere、add_torus:分别添加盒子、圆锥、圆柱、球体、圆环。
  • cut、fuse、intersect:在两个对象之间执行切、并、交布尔运算。
  • chamfer、fillet:对对象执行倒角、圆角操作。
  • set_visible:设置对象的可见性。
  • set_color:设置对象的颜色。

【使用方式】 默认传输机制是 stdio,可使用相应命令启动服务器;若需使用 streamable-http 传输,则改用另一命令启动。项目在 examples/openai_agents_client.py 中提供了一个使用 OpenAI Agents SDK 的示例。运行示例的步骤包括:

  1. 克隆仓库并进入目录:git clone git@github.com:asmith26/jupytercad-mcp.git;cd jupytercad-mcp
  2. 安装 OpenAI Agents SDK,可使用提供的 Makefile 目标:make setup-examples-env
  3. 在 examples/openai_agents_client.py 中更新第 13 行以配置 MODEL(参见支持的模型)。
  4. 从项目根目录运行 JupyterLab:make jupyter-lab
  5. 在 JupyterLab 中创建一个新的“CAD file”,并将其重命名为 my_cad_design.jcad。该文件路径与示例中的默认 JCAD_PATH 匹配,以便可视化 JupyterCAD MCP 服务器所做的修改。
  6. 运行示例,默认指令为“Add a box with width/height/depth 1”:make example-openai-agents-client 示例还包含基于 OpenAI Agents SDK 的 REPL 工具的交互式聊天界面,可通过设置 USE_REPL=True 启用。若要使用 streamable-http 传输,需先启动 MCP 服务器,然后在客户端示例中将 TRANSPORT 变量设为 "streamable-http" 并运行示例。 可选地,OpenAI Agents SDK 支持追踪以记录 LLM 生成和工具调用等事件,可通过设置 USE_MLFLOW_TRACING=True 并运行 MLflow UI(make mlflow-ui)来启用。

【适用场景】 适用于希望借助 LLM 在 JupyterLab 环境中进行自然语言驱动的 CAD 建模、几何体操作和布尔运算的用户或开发者。

【限制】 资料中未明确列出具体限制或使用前提的详细说明;部分功能(如追踪、REPL)需额外配置。