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.
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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。