CAD控制服务器

JupyterCAD的MCP服务器,允许使用LLMs/自然语言控制CAD设计。

  • by asmith26
  • Python
  • 混合部署
  • 21 星标
  • 更新于
在 GitHub 查看 asmith26/jupytercad-mcp

使用说明

jupytercad mcp

MCP服务器 JupyterCAD 这允许您使用LLM/自然语言来控制它。

https://github.com/user-attachments/assets/7edb31b2-2c80-4096-9d9c-048ae27c54e7

非常欢迎提出建议和意见。

用法

默认传输机制为 stdio。要启动服务器,请使用 stdio,使用以下命令:

uvx --with jupytercad-mcp jupytercad-mcp

要使用 streamable-http 请改用以下命令:

uvx --with jupytercad-mcp jupytercad-mcp streamable-http

示例

一个使用 OpenAI代理SDK 可在 示例/openai_agents_client.py。要运行它,请执行以下步骤:

  1. 克隆存储库并导航到以下目录:

    git clone git@github.com:asmith26/jupytercad-mcp.git
    cd jupytercad-mcp
    
  2. 安装OpenAI代理SDK。为了方便起见,提供了Makefile目标:

    make setup-examples-env
    
  3. 在……里面 示例/openai_agents_client.py,更新第13行以配置 MODEL (参见 支持的型号).

  4. 从项目的根目录运行JupyterLab:

    make jupyter-lab
    
  5. 在JupyterLab中,创建一个新的“CAD文件”并将其重命名为 my_cad_design.jcad。此文件路径与默认路径匹配 JCAD_PATH 在示例中,允许您可视化JupyterCAD MCP服务器所做的更改。

  6. (可选)OpenAI代理SDK支持 追踪 记录LLM生成和工具调用等事件。要启用它,请设置 USE_MLFLOW_TRACING=True 并运行MLflow UI:

    make mlflow-ui
    
  7. 使用默认指令“添加宽度/高度/深度为1的框”运行示例:

    make example-openai-agents-client
    

交互式聊天界面

该示例包括一个使用OpenAI代理SDK的交互式聊天界面 REPL实用程序。要启用它,请设置 USE_REPL=True.

streamable-http

要使用 streamable-http 首先启动MCP服务器:

uvx --with jupytercad-mcp jupytercad-mcp streamable-http

然后,使用以下命令运行示例 TRANSPORT 变量设置为 "streamable-http" 在 客户端示例.

工具

以下工具可用:

  • get_current_cad_design:读取JCAD文档的当前内容。
  • 移除:从文档中删除对象。
  • 重命名:重命名文档中的对象。
  • add_注释:向文档添加注释。
  • remove_注释:从文档中删除注释。
  • add_occ_shape:将OpenCascade TopoDS形状添加到文档中。
  • add_box:在文档中添加一个框。
  • add_cone:在文档中添加圆锥体。
  • add_clinder:向文档中添加圆柱体。
  • add_sphere:在文档中添加一个球体。
  • add_torus:在文档中添加圆环。
  • 切:在两个对象之间应用剪切布尔运算。
  • 熔断器:在两个对象之间应用联合布尔运算。
  • 相交:在两个对象之间应用交集布尔运算。
  • 倒角:对对象执行倒角操作。
  • 肉片:对对象应用圆角操作。
  • set_visible:设置对象的可见性。
  • set_color:设置对象的颜色。