Que pouvez-vous faire avec Jupytercad MCP ?
- get_current_cad_design: Reads the current content of the JCAD document.
- remove: Remove an object from the document.
- rename: Rename an object in the document.
- add_annotation: Add an annotation to the document.
- remove_annotation: Remove an annotation from the document.
- add_occ_shape: Add an OpenCascade TopoDS shape to the document.
- add_box: Add a box to the document.
- add_cone: Add a cone to the document.
Installation
Les étapes d'installation sont dans la documentation ci-dessous. Documentation
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
jupytercad-mcp
An MCP server for JupyterCAD that allows you to control it using LLMs/natural language.
https://github.com/user-attachments/assets/7edb31b2-2c80-4096-9d9c-048ae27c54e7
Suggestions and contributions are very welcome.
Usage
The default transport mechanism is stdio. To start the server with stdio, use the following command:
uvx --with jupytercad-mcp jupytercad-mcp
To use the streamable-http transport, use this command instead:
uvx --with jupytercad-mcp jupytercad-mcp streamable-http
Example
An example using the OpenAI Agents SDK is available at examples/openai_agents_client.py. To run it, follow these steps:
- Clone the repository and navigate into the directory:
git clone git@github.com:asmith26/jupytercad-mcp.git cd jupytercad-mcp - Install the OpenAI Agents SDK. A Makefile target is provided for convenience:
make setup-examples-env - In examples/openai_agents_client.py, update line 13 to configure a
MODEL(see supported models). - Run JupyterLab from the project's root directory:
make jupyter-lab - In JupyterLab, create a new "CAD file" and rename it to my_cad_design.jcad. This file path matches the default
JCAD_PATHin the example, allowing you to visualise the changes made by the JupyterCAD MCP server. - (Optional) The OpenAI Agents SDK supports tracing to record events like LLM generations and tool calls. To enable it, set
USE_MLFLOW_TRACING=Trueand run the MLflow UI:make mlflow-ui - Run the example with the default instruction, "Add a box with width/height/depth 1":
make example-openai-agents-client
Interactive Chat Interface
The example includes an interactive chat interface using the OpenAI Agents SDK's
REPL utility. To enable it, set USE_REPL=True.
streamable-http
To use the streamable-http transport, first start the MCP server:
uvx --with jupytercad-mcp jupytercad-mcp streamable-http
Then, run the example with the TRANSPORT variable set to "streamable-http" in the client example.
Tools
The following tools are available:
- get_current_cad_design: Reads the current content of the JCAD document.
- remove: Remove an object from the document.
- rename: Rename an object in the document.
- add_annotation: Add an annotation to the document.
- remove_annotation: Remove an annotation from the document.
- add_occ_shape: Add an OpenCascade TopoDS shape to the document.
- add_box: Add a box to the document.
- add_cone: Add a cone to the document.
- add_cylinder: Add a cylinder to the document.
- add_sphere: Add a sphere to the document.
- add_torus: Add a torus to the document.
- cut: Apply a cut boolean operation between two objects.
- fuse: Apply a union boolean operation between two objects.
- intersect: Apply an intersection boolean operation between two objects.
- chamfer: Apply a chamfer operation on an object.
- fillet: Apply a fillet operation on an object.
- set_visible: Sets the visibility of an object.
- set_color: Sets the color of an object.
Questions fréquentes
Qu'est-ce que Jupytercad MCP ?
Control JupyterCAD using natural language.
Comment installer Jupytercad MCP ?
Suivez les étapes d'installation de sa documentation, affichée sur cette page et dans son dépôt.
Jupytercad MCP est-il open source ?
Oui. Son code est sur GitHub sous licence Apache-2.0.
Qui maintient Jupytercad MCP ?
Il est publié par asmith26. AI.tn le référence sans le maintenir ni le recommander.
Issu des listes communautaires awesome-mcp-servers et du dépôt GitHub du projet. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.