@classcad/mcp

MCPattested
v0.6.1io.github.awv-informatikMITUpdated 2d agonpmGitHub

ClassCAD MCP server: build, verify and export 3D CAD parts and assemblies with the ClassCAD engine, running locally

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Attested build
A verified provenance attestation binds this artifact to the listed repository. Nobody has claimed the listing yet — this proves where the code was built, not who stands behind it.
165GitHub stars
12Forks
2d agoLast update
Package
Authorio.github.awv-informatik
LicenseMIT
Version0.6.1
Sourcenpm+mcp-registry
Trust Status
A
85/100Trusted
✓Listed in Forge index+10/10
✓Identity verified · attested build+20/20
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
✓npm Trusted Publishing (Sigstore)+5/5
—npm maintainer match+0/5
→ Publisher: add the verified GitHub login to the npm package's maintainers (npm owner add <login>)
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusIdentity verified
PublisherUnverified
SignatureUnsigned
Domain—
Provenance✓ Sigstore-verified · d91d30d
Dependencies60 resolved · 1 with advisories
Tool surface20 tools · none privileged
Security scan⚠ Warnings (3)v0.6.1 · todayHow well does this scan work?
EvalsNone
IndexedOct 10, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

20 tools · none privileged
Statically extracted from the published packagev0.6.1 · 23h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

accountThe signed-in classcad.ch account: its plan (and until when), whether it allows commercial use, which exports,

The signed-in classcad.ch account: its plan (and until when), whether it allows commercial use, which exports,

No input schema was published for this tool.

loginSign 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…

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…

No input schema was published for this tool.

list_methodsSearch/list the v1.<domain>.<method> surface. `search` as a string: one BM25-ranked list over method name + summary (whole words),

Search/list the v1.<domain>.<method> surface. `search` as a string: one BM25-ranked list over method name + summary (whole words),

No input schema was published for this tool.

describe_methodFull documentation for ONE key — prefer docs([...]) to fetch everything you need in a single round;

Full documentation for ONE key — prefer docs([...]) to fetch everything you need in a single round;

No input schema was published for this tool.

clearEmpty 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 f…

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 f…

No input schema was published for this tool.

saveWrite 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.

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.

No input schema was published for this tool.

loadLoad a drawing, replacing the current one: from a file on disk (`path`) or from base64-encoded content. Formats: STP (STEP), STL, OFB, JSON.

Load a drawing, replacing the current one: from a file on disk (`path`) or from base64-encoded content. Formats: STP (STEP), STL, OFB, JSON.

No input schema was published for this tool.

checkpointSave the WHOLE drawing state under a label (in-memory, server-side — cheap and instant).

Save the WHOLE drawing state under a label (in-memory, server-side — cheap and instant).

No input schema was published for this tool.

restoreReplace the drawing with a previously checkpointed state (clear + reload). Without a label,

Replace the drawing with a previously checkpointed state (clear + reload). Without a label,

No input schema was published for this tool.

session_infoReturn ClassCAD MCP session status: the drawing's id, the link of the app docked into this session (app) or of the read-only 3D view (viewer), the link the session is shared with others under (shared; null while it is not), who else is in the session (peers), sign-in (auth), transport (ws = ClassCA…

Return ClassCAD MCP session status: the drawing's id, the link of the app docked into this session (app) or of the read-only 3D view (viewer), the link the session is shared with others under (shared; null while it is not), who else is in the session (peers), sign-in (auth), transport (ws = ClassCA…

No input schema was published for this tool.

use_sessionNo description published

This tool published no description. Forge does not invent one.

run_scriptExecute JavaScript against the CAD session — THE tool for any build involving computation,

Execute JavaScript against the CAD session — THE tool for any build involving computation,

No input schema was published for this tool.

viewThe 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 clickabl…

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 clickabl…

No input schema was published for this tool.

shareA 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.

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.

No input schema was published for this tool.

get_selectionWhat 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").

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").

No input schema was published for this tool.

set_selectionSelects 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.

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.

No input schema was published for this tool.

snapshotRender the current drawing as an inline PNG (also written to disk: outDir, else $CLASSCAD_SNAPSHOT_DIR, else <tmpdir>/classcad-snapshots).

Render the current drawing as an inline PNG (also written to disk: outDir, else $CLASSCAD_SNAPSHOT_DIR, else <tmpdir>/classcad-snapshots).

No input schema was published for this tool.

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

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

No input schema was published for this tool.

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

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

No input schema was published for this tool.

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

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

No input schema was published for this tool.

19 of 20 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

ClassCAD MCP server: build, verify and export 3D CAD parts and assemblies with the ClassCAD engine, running locally

Keywords
mcpmodel-context-protocolcadclasscad3dparametricstepstlmechanical-engineeringclaudecodex
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-10-22 — observed resolution, not a publisher declaration.

60 packages resolved · 7 direct · 1 carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

61 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+49 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies, optionalDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.