# ParCAD > ParCAD is open source CAD that AI agents drive over MCP. Connect Claude, ChatGPT, Cursor or Codex to https://mcp.parcad.dev/mcp and sign in with GitHub or Google, or run it on your own machine. Parts are JavaScript on an exact OpenCASCADE B-rep kernel, measured and checked on every build, and exported as STEP, 3MF or STL. - What it is: a parametric CAD app and an MCP server, for people and their AI agents - Hosted MCP server: https://mcp.parcad.dev/mcp (OAuth sign-in with GitHub or Google; free, with limits per account; a part unused for 30 days is deleted) - Local: `brew install parcad` on macOS and Linux, the desktop app for macOS, Linux and Windows, or ParCAD web in a browser tab - Price and licence: free; AGPL-3.0 or later; the parts you make are yours - Status: experimental, version 0.0.x; units are millimetres - Made by Maging Studio - Not to be confused with PartCAD, a package manager for CAD models Use ParCAD to design small mechanical parts from a description (brackets, enclosures, holders, gears, hinged boxes), to check them before printing or machining (the sizes asked for, holes, wall thickness, what the part stands on, the fit around an object, and the clearance of hinges and drawers over their whole travel), and to export them for a slicer or another CAD. Connect: - Claude (web and desktop): Customize, then Connectors, then Add custom connector. Paste the URL and sign in with GitHub or Google. - Claude Code: One line, then sign in when /mcp asks. ```bash claude mcp add --transport http parcad https://mcp.parcad.dev/mcp ``` - Codex: Add it, then sign in. ```bash codex mcp add parcad --url https://mcp.parcad.dev/mcp && codex mcp login parcad ``` - ChatGPT, Cursor and other clients: Add a remote MCP server with the URL. The client opens the sign-in page itself. A part is a JavaScript script in ParCAD's DSL, built by an exact OpenCASCADE B-rep kernel. Units are millimetres; primitives are centred on the origin and placed with `.at(x, y, z)`; a script returns a shape, or `{ base, lid }` for several bodies. Edges are selected by description, never by index, and `.expect({ count })` stops the build when a selector drifts. Every reply reports measured values: volume, size, wall thickness, clearance between bodies. On your own machine the desktop app and `parcad serve` serve MCP at http://127.0.0.1:4242/mcp, `parcad mcp` is the stdio relay, and ParCAD web hands out a link with nothing installed. Start an agent on the `read_docs` tool, which serves the documents below. ## Docs - [dsl](https://parcad.dev/docs/dsl.md): every function, method and constant the language has, with its signature - [gaps](https://parcad.dev/docs/gaps.md): what the language cannot express, and what to write instead - [gotchas](https://parcad.dev/docs/gotchas.md): shapes that make the kernel return a wrong answer or die, and the way round each - [operations](https://parcad.dev/docs/operations.md): which operations exist, which are deliberately absent, and why - [style-field-instrument](https://parcad.dev/docs/style-field-instrument.md): an optional visual style — a precise instrument that is also a toy — as proportions, edges and layout numbers, and the checks it needs ## Use it - [Hosted MCP server](https://mcp.parcad.dev/): what it is, how to connect, what it keeps - [ParCAD web](https://parcad.dev/app/): the editor and kernel in a browser tab; Connect your AI gives an MCP link - [Install and connect an agent](https://github.com/ierehon1905/parcad#use-it-from-an-agent): the hosted server, Homebrew, the desktop app, the Claude Code and Codex plugin, Cursor and VS Code - [Getting started](https://raw.githubusercontent.com/ierehon1905/parcad/main/docs/GETTING_STARTED.md): five minutes, from the browser to your own agent - [What an agent sees](https://raw.githubusercontent.com/ierehon1905/parcad/main/docs/PERCEPTION.md): views, sections, regions and probes, and what to ask for instead of a picture - [Privacy notice](https://mcp.parcad.dev/privacy) and [terms](https://mcp.parcad.dev/terms) of the hosted server ## Examples - [ASME B16.5 slip-on flange](https://raw.githubusercontent.com/ierehon1905/parcad/main/examples/flange.js): A bolt circle, and one cut whose provenance reaches five rims - [Spur gear pair, module 2](https://raw.githubusercontent.com/ierehon1905/parcad/main/examples/spur-gears.js): Involute flanks checked against the formula, meshed at their centre distance - [Twisted star planter](https://raw.githubusercontent.com/ierehon1905/parcad/main/examples/twisted-planter.js): A ruled loft through nine star sections, hollowed along the same twist - [Hydraulic manifold](https://raw.githubusercontent.com/ierehon1905/parcad/main/examples/manifold-block.js): Cross-drilled galleries that have to actually intersect - [Screw-top jar, M40 × 3](https://raw.githubusercontent.com/ierehon1905/parcad/main/examples/screw-top-jar.js): A modelled thread on the neck and in the cap - [Socket-weld pipe tee](https://raw.githubusercontent.com/ierehon1905/parcad/main/examples/pipe-tee.js): A saddle intersection curve, blended inside and out - [Pleated lampshade](https://raw.githubusercontent.com/ierehon1905/parcad/main/examples/pleated-shade.js): A loft surface through fitted sections, thickened into a wall - [Wash bottle](https://raw.githubusercontent.com/ierehon1905/parcad/main/examples/wash-bottle.js): A spline shoulder, and a spout bored along its own spline - [Knurled knob, D-bore](https://raw.githubusercontent.com/ierehon1905/parcad/main/examples/knurled-knob.js): A D-bore by intersection and 24 flutes - [Rod-end clevis](https://raw.githubusercontent.com/ierehon1905/parcad/main/examples/clevis.js): One fork arm authored, the other mirrored - [Bent hydraulic line](https://raw.githubusercontent.com/ierehon1905/parcad/main/examples/hydraulic-line.js): Straight runs and real bend radii, bored along the same route - [Extruded heat sink](https://raw.githubusercontent.com/ierehon1905/parcad/main/examples/heat-sink.js): One fin shape placed nine times from a single graph node ## Optional - [The landing page](https://parcad.dev/index.html.md): this site as Markdown - [Everything](https://parcad.dev/llms-full.txt): the page, every document above and the example parts, in one file - [Architecture](https://raw.githubusercontent.com/ierehon1905/parcad/main/docs/ARCHITECTURE.md): how the pieces fit, and why - [Writing for models](https://raw.githubusercontent.com/ierehon1905/parcad/main/docs/WRITING_FOR_MODELS.md): how the tool replies are written and measured on small models - [README](https://raw.githubusercontent.com/ierehon1905/parcad/main/README.md)