asmith26/jupytercad-mcp
FreeNot checkedAn MCP server for [JupyterCAD](https://github.com/jupytercad/JupyterCAD) that allows you to control it using LLMs/natural language.
About
An MCP server for JupyterCAD that allows you to control it using LLMs/natural language.
README
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 [email protected]:asmith26/jupytercad-mcp.git cd jupytercad-mcpInstall the OpenAI Agents SDK. A Makefile target is provided for convenience:
make setup-examples-envIn 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-labIn JupyterLab, create a new "CAD file" and rename it to my_cad_design.jcad. This file path matches the default JCAD_PATH in 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=True and run the MLflow UI:
make mlflow-uiRun 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.
Installing asmith26/jupytercad-mcp
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/asmith26/jupytercad-mcpFAQ
Is asmith26/jupytercad-mcp MCP free?
Yes, asmith26/jupytercad-mcp MCP is free — one-click install via Unyly at no cost.
Does asmith26/jupytercad-mcp need an API key?
No, asmith26/jupytercad-mcp runs without API keys or environment variables.
Is asmith26/jupytercad-mcp hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install asmith26/jupytercad-mcp in Claude Desktop, Claude Code or Cursor?
Open asmith26/jupytercad-mcp on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare asmith26/jupytercad-mcp with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
