# asmith26/jupytercad-mcp [Health: Active]

**Category:** 🎨 Art & Culture  
**Repository:** https://github.com/asmith26/jupytercad-mcp  
**GitHub Stars:** 20  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/asmith26-jupytercad-mcp

## Description
An MCP server for JupyterCAD that allows you to control it using LLMs/natural language.

## Tools
Capabilities this server exposes over 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.
- **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.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "jupytercad-mcp": {
    "command": "uvx",
    "args": ["--with"]
  }
}
```

## Documentation

## What asmith26/jupytercad-mcp MCP server does

asmith26/jupytercad-mcp MCP server lets an MCP client control a JupyterCAD document through structured tools. It supports both reading the current document and making changes to its objects, annotations, visibility, and colors. The intended interaction model is natural-language control through an LLM client, while the server translates tool calls into document operations.

The server is suited to CAD workflows that use JupyterCAD as the visual document environment. It can create common geometric primitives, combine or modify them, and expose the resulting design state for inspection. The repository also includes an OpenAI Agents SDK example that demonstrates sending an instruction such as adding a box and viewing the resulting changes in JupyterLab.

## How it works

The default transport is MCP stdio. A client starts the local process and communicates with it over standard input and output. The server also supports MCP streamable HTTP when started with the `streamable-http` argument. The client example can be configured to use that transport.

JupyterLab is used in the example as the environment where the CAD file is created and visualized. The example expects a file named `my_cad_design.jcad` by default, and the JupyterCAD MCP server applies changes to that document. This setup provides a visual way to inspect operations issued through the agent.

## Setup and configuration

Start the stdio server with:

```bash
uvx --with jupytercad-mcp jupytercad-mcp
```

For streamable HTTP, run:

```bash
uvx --with jupytercad-mcp jupytercad-mcp streamable-http
```

The repository’s example requires cloning the project, installing the OpenAI Agents SDK through the provided setup target, configuring a supported model in `examples/openai_agents_client.py`, and running JupyterLab from the project root. The example’s optional settings include an interactive REPL and MLflow tracing. These settings belong to the example client rather than the MCP server’s required runtime configuration.

## Tools and capabilities

asmith26/jupytercad-mcp MCP server exposes tools for the following operations:

- Read the current JCAD document.
- Add or remove boxes, cones, cylinders, spheres, toruses, and OpenCascade `TopoDS` shapes.
- Remove objects and rename them.
- Add or remove document annotations.
- Apply cut, union, and intersection boolean operations.
- Apply chamfer and fillet operations to objects.
- Change object visibility and color.

These tools cover basic document management, primitive construction, several solid-modeling operations, and presentation properties. The provided material does not specify the accepted parameter schemas, color format, object identifier format, or geometric constraints for individual tools.

## Limitations and notes

The material documents JupyterCAD support and the listed MCP transports, but it does not identify compatibility with specific desktop clients such as Claude Desktop, Cursor, Windsurf, or Cline. It also does not state a license, authentication mechanism, hosted endpoint, or required environment variables.

The OpenAI Agents SDK walkthrough requires its own model configuration and may involve external OpenAI services, but those requirements are part of the example application. They are not described as requirements for running the MCP server itself. The documentation also does not describe undo behavior, persistence beyond the JCAD document, import or export formats, or advanced modeling features beyond the listed tools.

_Full upstream README: https://allmcps.com/mcp/asmith26-jupytercad-mcp/readme_

