Twenty-eight MCP tools that let Claude Code, Claude Desktop or Cursor build, check and export print-ready 3D models. Streamable HTTP, bearer-token auth.
An MCP endpoint that gives an agent a real CAD kernel: author a parametric tree, evaluate it, render it, check it prints, export it, and save it as a project. Stateless Streamable HTTP — every call is a self-contained POST.
https://mcp.owlcad.com · Pro plan required · No AI credits spent
Any MCP client that speaks HTTP works. Claude Code, Claude Desktop and Cursor are the ones we test against. Claude Desktop takes a different block from the other two, so the config panel carries a tab for each.
In OwlCAD, open Account → Access tokens and create one. Give it only the scopes you need; read alone is the default. Copy it immediately; only a hash is stored.
Add the server to your MCP client’s config. Claude Code and Cursor take the URL directly, with the token in an Authorization header. Claude Desktop’s config file cannot hold a remote server at all, so its block runs the mcp-remote bridge instead — or skip the file entirely and use the Desktop connector below.
Restart the client, then have the agent read owlcad://schema/primitives before it builds anything.
{ "mcpServers": { "owlcad": { "url": "https://mcp.owlcad.com", "headers": { "Authorization": "Bearer owlcad_pat_…" } } } }
{ "mcpServers": { "owlcad": { "command": "npx", "args": [ "-y", "mcp-remote", "https://mcp.owlcad.com", "--header", "Authorization:${AUTH_HEADER}" ], "env": { "AUTH_HEADER": "Bearer owlcad_pat_…" } } } }
Using Claude Desktop? The Desktop connector section below is easier — no file, no token. This block is for anyone who would rather keep a credential in a config file. Claude Desktop’s config file understands only locally launched servers, so mcp-remote is what carries the connection out to us. Copy that block exactly: the colon in “Authorization:” is followed by no space, and the token belongs in env rather than inline, because Claude Desktop on Windows drops the escaping around spaces inside args and mangles the header. It needs Node installed, and the first run downloads the bridge.
Claude Desktop can reach the server through its own Connectors screen, with no config file at all. Nothing to edit, no token to copy, no Node to install — you sign in to OwlCAD in a browser and approve what the application may do.
In Claude Desktop, open Settings → Connectors → Add custom connector.
Paste the server URL and continue.
A browser opens. Sign in to OwlCAD, read what the application is asking for, and approve it.
https://mcp.owlcad.com
The mcp-remote block above still works and is still supported. Use it if you would rather keep a token in a config file, or if your client has no Connectors screen — Claude Code and Cursor take the URL directly and are unaffected either way.
Connected applications are listed under Account → Access tokens, alongside your personal access tokens but in their own card. Disconnecting one stops it on its very next request.
Stated in the initialize instructions and in owlcad://schema/conventions, because getting them wrong fails silently rather than loudly.
Millimetres for every dimension and coordinate.
Z-up — the build plate is the XY plane.
Rotations in DEGREES, not radians. A tree authored in radians renders as almost no rotation at all.
Exactly one geometry input per call: nodes, scad, or projectId.
Twenty-eight, covering the whole loop from authoring to a print-ready file. Each needs the scope shown; a token that lacks it gets a readable error naming the missing scope.
Runs the real CSG kernel: watertight or not, triangle count, bounding size, printability warning.
Overhang area, thinnest wall, and whether it fits a named printer’s build volume.
Volume, surface area, centre of mass and body count, plus the filament a print would use and what it would cost.
Which top-level parts physically overlap, and by how much volume. The assembly check no render can show you.
PNG images of the model from named views — the tool that lets an agent see its own work.
Evaluates and returns a base64 STL, 3MF or OBJ.
STEP B-rep for CAD interchange, on a saved project. OCCT takes minutes, so it runs as a job: you get a handle and poll it.
Reports on a job handle. A slow analysis on a saved project is finished in the background rather than refused, and answers with one.
Flattens the model to DXF or SVG: either its footprint, or a horizontal section at a height you choose.
Saves a model as a project on your account and returns its id and editor link.
Your projects, newest first. How an agent finds an id.
Loads one of your projects and lists its nodes, with the version needed to update it.
Hands back a URL to upload a local file to, so import_model and import_2d can take it without the bytes passing through the model’s context. If the client cannot upload, it also returns a link for the person to do it in their browser.
Imports an STL, OBJ or 3MF file as a new project, detecting the unit and reporting whether the mesh is watertight.
Imports a DXF as a new project, turning every closed outline into an editable parametric extrude.
The parametric, datasheet-dimensioned parts OwlCAD ships: brackets, fasteners, board and motor bodies.
Replaces an existing project’s geometry, keeping its id and link. Requires the version you read.
The same edits against a tree you pass in, returned edited, with nothing saved. Iterate on a model without re-sending it, then evaluate or export the result.
A targeted change: set a parameter, move, add or remove a node, group into a boolean, set a variable.
Forks a public project into a new one you own, keeping the lineage link back to the original.
Files a project into one of your folders, or takes it back out.
Folders you own or belong to, where organize_project can file a project.
Permanently deletes a project and its geometry.
Welds cracks, closes holes and fixes face directions on any imported mesh that is not watertight.
Cuts a body too big for the bed into two halves at a plane, with a joint — pins, keys, dowels or bolted — so they go back together. Both halves stay parametric.
Turns public link sharing on or off and returns the read-only link, which is what you hand to another person.
The link that opens a project in the OwlCAD editor — usually the best thing to hand a person.
Asks the OwlCAD documentation, in plain language, which tool does a thing, returning prose plus the ids of the guides it drew on. Answers from the docs only, and says so when they do not cover something.
Read-only, generated at runtime from the same registry the validator enforces — so what an agent reads and what gets applied cannot disagree.
Every shape, modifier and generator, with the valid range of every parameter. Read this first.
Units, axes, rotation units, smoothness tiers and the limits below.
Screw, nut and heat-set-insert dimensions, so a hole matches the hardware you actually have.
Printer profiles and build volumes, for the printerId argument to print_check.
Filament materials with density and price — what measure’s weight and cost estimate is built on.
A URI template: reads one of your projects as a resource, the same content get_project returns.
Bounds, not product quotas — an interactive session is tens of calls. Each is enforced per request.
2,000 (a batch counts once per message)
100
32
45 seconds
8 MB · 200,000 triangles
6 MB
10
Create a token, add the server to your client, and ask for a part. Pro plan required; no AI credits are spent.
An MCP (Model Context Protocol) endpoint at https://mcp.owlcad.com that gives an AI agent twenty-eight tools for building, checking, and exporting print-ready 3D models. Transport is Streamable HTTP and stateless — every call is a self-contained POST authenticated with a personal access token.
Any client that speaks MCP over HTTP — Claude Code, Claude Desktop, and Cursor are the ones we test. Claude Code and Cursor take https://mcp.owlcad.com directly, with your token in an Authorization header as a bearer credential. Claude Desktop is different: claude_desktop_config.json accepts only servers launched on your own machine, so it reaches the endpoint through the mcp-remote bridge, configured as a command with arguments rather than a URL. Copy that block from the MCP server page rather than typing it, because two details that look like mistakes are load-bearing: no space after the colon in the Authorization argument, and the token in env.
Millimetres, Z-up, and rotations in DEGREES. These are stated in the initialize instructions and in the owlcad://schema/conventions resource, because getting them wrong is the classic silent error — a rotation authored in radians renders as almost no rotation at all.
Read the owlcad://schema/primitives resource first. It is generated at runtime from the same registry the validator enforces, so the ranges it publishes are the ranges that will actually be applied — an agent never has to guess a parameter name or a bound.
2,000 calls per token per day, 100 projects created per account per day, up to 32 messages in a JSON-RPC batch, and a 45-second budget per request. Tokens are Pro-only and are re-checked on every request, so a lapsed subscription stops one immediately.