ps3d

ps3d

Enables AI hosts to interact with a browser CAD workbench through model-neutral local stdio or authenticated remote MCP tools, supporting command discovery, design-health analysis, and scoped previews while never reading local files or taking over open sessions.

Category
Visit Server

README

PS3D CAD Studio

PS3D CAD Studio is an independent, original, local-first browser CAD research project. The current repository is a working 0.2 public-release candidate: one semantic project across Sketch, Part, Assembly, Surface, Drawing, Electrical, Vehicle, and Automate workspaces, plus a Learning Center, secure account portal, and authenticated remote MCP transport.

It is not copied from PartMode or another CAD codebase. The project has its own requirements, architecture, source, interface, examples, tests, provenance record, and MIT License. Independent development reduces copyright risk but is not a legal opinion or a patent, trademark, or freedom-to-operate clearance.

Canonical public source: sagar25-Code-it/ps3d-cad-studio.

What works locally

Workspace Current level Implemented subset
Sketch Preview Lines, center rectangles, circles, three-point arcs, grid/snap/profile palette, construction geometry, multi-selection, visible constraint glyphs, bounded driving dimensions, stable IDs, DOF and conflict diagnostics
Part Qualified + preview Worker-qualified centered-bore manifold mesh-solid; named views, orbit/pan/zoom/fit, perspective/orthographic cameras, view box, WCS axis viewer, selection priority, point measurement, and bounded feature intent
3D exchange Preview Local reference import for 14 scene/mesh/toolpath/point-cloud families; visible-scene export to GLB, glTF, OBJ, STL, PLY, and USDZ; PDF model package with attached GLB; U3D/PRC interactive-PDF pass-through
Assembly Preview Insert/delete box and cylinder components, edit XYZ position, hide/show, ground/release, fixed/origin/axis mate records, exploded state, deterministic transforms, conservative AABB interference candidates, original 20 ft/40 ft high-cube cargo planning frames, and a non-certified 20 ft high-cube BESS equipment arrangement
Surface Preview Bicubic Bézier patch, ruled loft, editable controls, deterministic tessellation, area/boundary/normal metrics
Drawing Preview Descriptive front base view with aligned first/third-angle top and right projections; optional full section A-A and reference isometric; hidden-edge and center-line control; selective non-duplicated dimensions; user-defined general tolerances kept independent from explicit datum/position/flatness/perpendicularity inputs; A4/A3 zones, revision table, projection symbol, release-marked original title block, and SVG output
Electrical Preview Original vector component library, stable references and terminals, named pin-to-pin AC/DC/control/ground nets, automatic BESS single-line/DC auxiliary/motor-starter concepts, live structural ERC, concept BOM, SVG output, and review-gated conversion into one traceable mounting plate with DIN rails, ducts, panel-scale generic packages, terminal detail, and unsized orthogonal conductor visualization
Vehicle Preview Five original topology-specific motorcycle/scooter/EV/three-wheel packages; one authoritative SI hardpoint/member graph for 3D and orthographic projection; fork, swingarm, unit-swing and front-view wishbone state constraints; Ackermann targets; brake/tyre, road-load, operating-point and support-polygon screens; visible invariant gate; full-droop/design/full-bump states; and explicit safety boundaries
Automate Preview Ten model-neutral local and authenticated remote MCP tools, machine-readable collaboration guide, deterministic plain-language command finder, all-workspace Design Health analysis, scoped receipt-gated previews, OAuth/personal-token access, and a dependency-free Python client

The public account portal supports verified-email sign-up, sign-in, sign-out, password recovery, tab-scoped sessions, and up to five unique expiring MCP personal tokens per user. OAuth 2.1 is the preferred connection path for compatible AI hosts. Raw personal tokens are shown once and persisted only as peppered HMAC digests. The Learning Center contains 12 verification-led modules from beginner through advanced practice and generates a 15-page PDF manual from the same reviewed source content.

The shell also provides an original color-wheel workspace system, a functional File/Edit/Create/View/Inspect/Automate/Help menu bar, a context-sensitive top command ribbon with project-owned inline SVG symbols, a keyboard-navigable and workspace-filtered 119-command original CAD catalog with explicit capability levels, a persistent model browser with Origin/Sketches/Feature History/Bodies/revision timeline, workspace-preserving selection, revision audit, browser-local IndexedDB save/load, broad project JSON, the qualified part's native revision JSON and binary STL, safe drawing SVG, truthful capability badges, and visible diagnostics. The researched interaction baseline and implementation matrix are in docs/product/CAD_INTERACTION_ESSENTIALS.md. The palette, command-symbol, menu, and responsive rules are recorded in docs/product/UI_COLOR_AND_COMMAND_SYSTEM.md. The exact exchange format matrix, unit rules, PDF boundary, and security model are in docs/product/3D_EXCHANGE_AND_PDF.md. The automatic view, dimension, general-tolerance, datum, and GD&T review boundary is in docs/product/AUTOMATIC_DRAWING_AND_TOLERANCE.md. The nominal container templates, non-certified BESS arrangement boundary, electrical data model, circuit templates, ERC, and engineering exclusions are in docs/product/CONTAINER_BESS_AND_ELECTRICAL.md. The generic electrical-panel catalog, ECAD↔MCAD trace model, conductor-path boundary, stale-link behavior, and MCP confirmation contract are in docs/product/ELECTROMECHANICAL_REALIZATION.md. The vehicle templates, SI conventions, visible equations, three-wheel support model, MCP boundary, qualification exclusions, and research-source index are in docs/product/VEHICLE_ENGINEERING.md. The combined 31-role PS Code Hub persona roster, six extended PS3D specialist roles, truthful credential boundary, task-routing model, and review loop are in docs/PS_CODE_HUB_AI_TEAM.md. The deterministic workspace-health matrix, real associativity map, rebuild review order, repair queue, scoring rules, and release boundary are in docs/product/DESIGN_HEALTH_AND_REBUILD.md.

Only the centered-bore part path is marked qualified. All other functional workbench capabilities are marked preview. Exact B-rep/NURBS, general Boolean and constraint solvers, persistent face naming, trimming/sewing, STEP/IGES/DWG/DXF exact conversion, native proprietary CAD, production drawing PDF certification, shared cloud CAD-document collaboration, automatic electrical sizing, protection coordination, arc-flash/compliance analysis, manufacturer-accurate automatic electrical packages, conductor/harness sizing, qualified vehicle multibody/tyre/FEA/thermal/crash simulation, homologation, and live-browser MCP control are unavailable. Remote authenticated MCP is a stateless Preview transport: it accepts explicit bounded values and returns JSON or a new project copy; it does not take over the open CAD tab. See docs/product/PRD_PHASE_1_WORKBENCH_PREVIEW.md for the exact contract and exclusions.

Run and verify

Prerequisites are Node.js 24 or newer and pnpm 11.9.0. Every package version is exact and lock-to-inventory reconciliation is an executed test/build gate.

pnpm install --frozen-lockfile --ignore-scripts
pnpm peers check
pnpm typecheck
pnpm test
pnpm build
pnpm dev

Vite prints the local browser URL. pnpm test runs the typed package suite, the real MCP stdio client/server exchange, dependency reconciliation, and both source-identity gates. pnpm build additionally rejects the Node-only MCP SDK, Manifold candidate, WASM, and dynamic evaluation from the browser graph and verifies static-host security policy and bundled notices. The included GitHub workflows repeat typecheck, evidence, build, CodeQL, and dependency-review gates in clean hosted runners.

Connect an MCP host

For a deployed instance, use the HTTPS endpoint shown at /access:

https://your-ps3d-domain.example/api/mcp

Prefer automatic OAuth 2.1 discovery. If a host supports custom HTTP headers but not OAuth, create one scoped, expiring ps3d_mcp_... personal token at /access; never put the web password in MCP configuration. The full remote configuration, scope, error, and safe-command guide is in docs/MCP_CONNECTION_GUIDE.md.

The local stdio server remains available for approved local hosts. It is stateless and uses the same bounded tool semantics:

It reads no project file, environment secret, browser profile, operating-system credential, or network resource. Each call supplies its complete bounded project and receives a result.

pnpm mcp:build
node apps/mcp-server/dist/apps/mcp-server/src/server.js

Build once, then configure the host to launch Node directly. This keeps stdout reserved for newline-framed MCP JSON rather than package-manager build output. Example host adapter after cloning, installing, and building:

{
  "mcpServers": {
    "ps3d": {
      "command": "node",
      "args": ["apps/mcp-server/dist/apps/mcp-server/src/server.js"],
      "cwd": "<absolute-path-to-ps3d-repository>"
    }
  }
}

The server supports modern MCP 2026-07-28 discovery and 2025-era legacy initialization over local stdio. Start with ps3d_guide; use ps3d_find_commands to map a plain-language goal to a bounded recipe without executing it. The ten tools are ps3d_guide, ps3d_find_commands, ps3d_capabilities, ps3d_inspect_project, ps3d_design_health, ps3d_analyze_vehicle, ps3d_electromechanical_catalog, ps3d_preview_electromechanical, ps3d_preview_operation, and ps3d_apply_preview. Circuit-to-3D preview resolves only the project-owned generic catalog and returns an exact operation plus receipt; it does not apply the result or control a live browser session. Apply accepts only a matching SHA-256 preview receipt plus confirmed: true, returns a new project, and writes no external state. The confirmation flag is a host assertion rather than cryptographic proof of human review, and the receipt is an integrity checksum rather than a signature. External calls do not control the open browser project: a host supplies a complete project value, then the user reviews and opens or imports the returned copy. The complete connection, command-namespace, and safety contract is in docs/AI_COLLABORATION.md. The Vercel remote transport adds HTTPS authentication, scope filtering, strict Origin handling, a 1 MB request cap, and per-identity rate limits without storing project payloads.

Python 3.11+ can use the project-owned standard-library client under sdk/python. The caller explicitly supplies the command, working directory, in-memory project/operation, receipt, and confirmation. The client uses shell=False, contains no network code, performs no automatic file or secret discovery, and is documented in docs/PYTHON_LINKING.md. Its real process exchange is deferred to a personal or IT-approved development/CI environment.

Architecture, evidence, and screenshots

The semantic project and revision history are authoritative. Worker/kernel, tessellated preview, SVG, and Three.js state are disposable derived artifacts. The architecture is documented in docs/architecture/PHASE_1_WORKBENCH_ARCHITECTURE.md, with decisions in docs/adr.

The browser-review screenshots, including the reviewed top-ribbon, feature- history, 3D Exchange Center, imported reference, PDF workflow, layered vehicle-engineering layouts, and Design Health Center, are under docs/screenshots. Local qualification evidence is recorded in docs/PHASE_1_LOCAL_EVIDENCE.md. Dependencies and assisted material are deny-by-default and recorded in provenance; no key, token, .env file, private path, user data, or copied CAD asset belongs in the repository.

Deployment status

vercel.json defines the hardened Vite deployment and Web-standard API functions. Supabase owns identity; the migration stores only token hashes and aggregate rate counters. The exact free-tier setup, environment boundaries, live verification, and incident controls are in docs/PUBLIC_DEPLOYMENT.md, with the blocking release review in docs/RELEASE_CHECKLIST.md. Provider free tiers have quotas and are not a promise of unlimited or permanently free service.

License

Original project material is licensed under the MIT License. Third-party components retain their own licenses and notices. See LICENSE, THIRD_PARTY_NOTICES.md, INDEPENDENT_DEVELOPMENT.md, and provenance/SOURCE_POLICY.md.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured