Skip to content
Agentmart
Submit a tool

ClassCAD

Build and verify CAD parts and assemblies with the ClassCAD engine, locally, no server needed.

Connector by awv-informatik · GitHub account verified by the MCP Registry

IndexedLicense unknownLocal (stdio)★ 169
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/awv-informatik-classcad

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Build and verify CAD parts and assemblies with the ClassCAD engine, locally, no server needed.

Use cases: ui-design, code-generation

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
9 read · 7 write · 2 delete · 2 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Tools by what they do 20

Read from the source code; the running server may list different tools.

Read 9 · Look things up without changing anything.

  • describe_method
  • find
  • get_selection
  • inspect
  • list_methods
  • session_info
  • snapshot
  • tree
  • view

Write 7 · Create, change, send or run things.

  • checkpoint
  • login
  • restore
  • save
  • set_selection
  • share
  • use_session

Delete 2 · Delete, drop, revoke or wipe things.

  • clear
  • run_script

Not yet classified 2 · We could not tell from the name and description.

  • account
  • load

Files it touches

  • Any path the agent passes to its tools

Tools (20)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • accountClassCAD account and plan

    The signed-in classcad.ch account: its plan (and until when), whether it allows commercial use, which exports, and WHERE A WEB APP built with ClassCAD may run under it — localhost always (any port), public https domains only as registered on the account (from the plan that has them) — plus the public access token (ccpk_…) that goes into the app's page, or where to make one. Call it FIRST when the user wants their own app, website, configurator or deployment around a model; then follow docs(["recipes/buerli-app"]). Read-only: tokens and domains are made on the account page.

  • checkpointCheckpoint drawing

    Save the WHOLE drawing state under a label (in-memory, server-side — cheap and instant). Use BEFORE risky sequences (large booleans, trims, experiments): if the attempt goes wrong, restore({label}) brings the drawing back exactly instead of delete-archaeology. Re-using a label overwrites it; at most 5 checkpoints are kept (oldest dropped). Checkpoints die with the server process and with a use_session switch.

  • clearClear drawing

    Empty the drawing (v1.common.clear), to start over in it: a drawing persists between requests, part.create refuses a second root, and anything built on the old part would carry its geometry along. For a new, unrelated model next to this one, open a new drawing instead (drawing: "new"). Not needed for changes to the current model. The graphic and renders are empty afterwards too — no reconnect needed.

  • describe_methodDescribe API method

    Full documentation for ONE key — prefer docs([...]) to fetch everything you need in a single round; use this only for a single follow-up lookup. Accepts full ("v1.part.box") or bare ("box") names — ambiguous bare names list the candidates. Also serves whole documents ("DATA", "api/part", "recipes/parametric-part"). Same size cap and paging as docs: a large document answers with page 1 and names the next page ("api/part#2").

  • findFind nodes

    Search the cached structure tree by class and/or name substring. Returns slim records (id, class, name, parent).

  • get_selectionWhat the user selected

    What the user has selected in the app docked into this session: faces, edges and vertices of a body, or objects of the model tree (sketch entities, dimensions, features). Call it when the user points at something instead of naming it ("this face", "the selected edges", "here"). Each item has `kind` (face | edge | vertex | object) and `objectId` — the tree object: the picked object itself, or the solid a picked face, edge or vertex belongs to (`object` names its class). Geometry also has `graphicId`, the id API calls take for that face, edge or vertex (e.g. v1.sketch.create({ planeId })), its `…

  • inspectInspect node

    Return the full record for a single tree node by ID, including members and children.

  • list_methodsList API methods

    Search/list the v1.<domain>.<method> surface. `search` as a string: one BM25-ranked list over method name + summary (whole words), CAD synonyms expanded (split→slice, hole→bore, round→fillet, …). `search` as an ARRAY with ONE CONCEPT PER ENTRY (e.g. ["expression", "box", "fastened constraint", "mass properties"]): one group per entry, each ranked on its own, so every concept gets its own top matches (a group note flags entries that are likely workflows, not methods). PLUS `docs`: the recipes/guides whose title, headings or text match (e.g. "shared parameters assembly" → recipes/assembly-parame…

  • loadLoad drawing

    Load a drawing, replacing the current one: from a file on disk (`path`) or from base64-encoded content. Formats: STP (STEP), STL, OFB, JSON. Prefer `path`: the file is read here and never passes through the conversation, which is the only practical way for a model file of real size. Give exactly one of `path` and `content`.

  • loginSign in to ClassCAD

    Sign this machine in to ClassCAD (a free classcad.ch account; Google, GitHub or email). Call it RIGHT AFTER installing the MCP. Not signed in: the first call opens the sign-in page in the user's browser and returns its link — show it to the user as a clickable link too — and the next call WAITS (up to ~50 s per call) until they have signed in in the browser, then returns their account. Call again while it reports "still waiting". Already signed in: returns the account at once. logout: true signs the machine out.

  • restoreRestore checkpoint

    Replace the drawing with a previously checkpointed state (clear + reload). Without a label, the MOST RECENT checkpoint is restored. All ids from after the checkpoint are stale afterwards — re-read them (tree/find) before further operations.

  • run_scriptRun script

    Execute JavaScript against the CAD session — THE tool for any build involving computation, repetition, or more than a handful of operations. The script runs as an async function body with: • api.v1.<domain>.<method>(params) — ClassCAD calls, await-able, → { result, maxLevel, messages }. Typos throw immediately with suggestions. Strict: a call that ends at maxLevel ≥ 51 THROWS (the message carries the engine error) — method docs describing "null/[] with maxLevel 51" are the non-script result; wrap intentional probes (e.g. getGeometryIds where a miss is expected) in try/catch. • await api.tree({…

  • saveSave drawing

    Write the current drawing to a file, or return it as base64. Formats: STP (STEP, exact geometry), STL (triangles), GLB (binary glTF: triangles with colours, for 3D viewers and the web), OFB (ClassCAD's own format: the model with its features, to open again in ClassCAD or Buerligons), JSON. With `path` the file is written to disk and only its path and size come back — the way to hand the user a model (give them the path); without it the content is returned base64-encoded, which is large. The user can also save the model themselves from what `view` opens.

  • session_infoSession info

    Description is built at runtime.

  • set_selectionSelect something for the user

    Selects things in the app docked into this session, so the user sees what you mean: faces, edges or vertices by their `graphicId` (from getGeometryIds, pick results or get_selection), tree objects by their `objectId`. The app highlights them. Returns what is selected there afterwards. Geometry ids must be current ones (see get_selection); pass `prodRefId` from a previous get_selection when the part is an instance in an assembly. An empty `items` clears the selection.

Show 5 more tools
  • shareShare the session

    A link to this session's app that works from ANYWHERE: for another person, or for the user on another device (the link `view` returns works on this machine only). Whoever opens it is in this session like the user at the app — they see the model live as you build it, and can turn, select and edit it. Call it when the user asks to share, send or show the model to somebody, or to open it somewhere else. Not on your own: the link lets EVERYONE who has it into the session, so it is a secret between the user and whom they send it to — hand it to the user, as a clickable link on its own line, and put…

  • snapshotSnapshot drawing

    Render the current drawing as an inline PNG (also written to disk: outDir, else $CLASSCAD_SNAPSHOT_DIR, else <tmpdir>/classcad-snapshots). The image is returned to the MODEL as an inline image block — no follow-up Read is needed to see it. The USER usually does not see tool results. At the end of a build (not after every tweak), SHOW them the render: with a file-sending tool (Claude Code: SendUserFile), send the saved PNG; otherwise embed it in your reply as a Markdown image with its absolute path, ![render](/abs/path.png) — Codex and most chat hosts display that. Hosts preview only files insi…

  • treeStructure tree

    Return the cached drawing structure tree. Pass refresh=true to force a fresh server fetch first.

  • use_sessionSwitch session

    Make this the FIRST call of a drawing (drawing: "new") when the user names a session or hands you a session/token URL — a drawing opens its engine link lazily, so its first tool call decides which session it is. Modes: (1) sessionId — attaches to a named ClassCAD session (ClassCAD-Session-Id header) on the configured worker; empty/omitted = fresh worker-assigned session. (2) url — a ws(s):// URL from a multi-client server, typically carrying an invite token (wss://host/?invite=…); connected VERBATIM. (3) an http(s):// APP SHARE LINK from a buerli app's Session Management (…?invite=…): the MCP …

  • viewOpen the 3D view

    The live 3D view of this session's model: returns its link and brings it up in the user's browser. The view follows every change, turns and zooms, has light and dark, and lets the user download STEP, STL or glTF. Call it when the user wants to see or turn the model; hand them the link as a clickable link on its own line. open: false only returns the link.

Compare and alternatives

    Featured in

    Signals

    Stars
    169
    Forks
    12
    Open issues
    0
    Weekly downloads
    1,952
    Last commit (this folder)
    Oct 20, 2026 (8 days ago)
    Last release
    Oct 20, 2026 (8 days ago)
    Last package publish
    Oct 20, 2026 (8 days ago)

    From GitHub (fetched Oct 24, 2026) and the package registry.

    Details

    Registry name
    io.github.awv-informatik/classcad
    Version
    0.6.1
    Auth
    No auth
    Packages
    npm @classcad/mcp
    License
    License unknown
    First seen
    Oct 24, 2026
    Last checked
    Oct 25, 2026
    Cite this page

    ClassCAD MCP server. Agent Mart. https://agentmart.dev/connectors/awv-informatik-classcad (last updated 2026-10-25)