返回市场
jupytercad-mcp服务器

jupytercad-mcp服务器

作者:asmith2614 星标更新:2025-10-08

项目介绍

jupytercad-mcp

一个用于JupyterCAD的MCP服务器,允许您通过LLMs/自然语言来控制它。

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 Agents SDK的例子可以在examples/openai_agents_client.py中找到。要运行它,请按照以下步骤操作:

  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文件”并将其重命名为my_cad_design.jcad。此文件路径与示例中的默认JCAD_PATH匹配,允许您可视化由JupyterCAD MCP服务器所做的更改。

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

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

    make example-openai-agents-client
    

交互式聊天界面

示例包括使用OpenAI Agents 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文档的内容。
  • 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:设置一个对象的颜色。